From cb8ab5e02b396e8a1d76bf40cfc5c2a1681559ef Mon Sep 17 00:00:00 2001 From: ljl <> Date: Fri, 7 Jul 2023 13:58:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/house/BuyHousesController.java | 15 +- .../web/controller/user/HouseController.java | 24 ++- .../src/main/resources/application-dev.yml | 6 +- .../java/com/ruoyi/test/DemoUnitTest.java | 42 +++-- .../advice/DecodeRequestBodyAdvice.java | 5 + .../core/domain/entity/GaoXinCardInfo.java | 67 ++++++++ .../common/core/service/ConfigService.java | 7 + .../ruoyi/common/filter/RepeatableFilter.java | 4 +- .../java/com/ruoyi/common/utils/AesUtil.java | 8 - .../com/ruoyi/common/utils/OpenUtils.java | 69 ++++++++ .../com/ruoyi/sms/core/TelecomSendMsg.java | 8 +- .../system/domain/dto/HousesReviewEvent.java | 2 +- .../system/service/IBuyHousesService.java | 6 +- .../service/impl/BuyHousesServiceImpl.java | 151 +++++++++++------- .../service/impl/HousesReviewServiceImpl.java | 23 ++- .../service/impl/SysConfigServiceImpl.java | 15 ++ .../ruoyi/work/controller/WorkController.java | 34 ++-- .../dto/HousingConstructionBureauPushDto.java | 8 +- 18 files changed, 365 insertions(+), 129 deletions(-) create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/GaoXinCardInfo.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/utils/OpenUtils.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java index 61ab77b63..b891538d6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java @@ -171,7 +171,18 @@ public class BuyHousesController extends BaseController { /** * 对市局系统单独推送 */ - public R push() throws ParseException { - return iBuyHousesService.push(); + @GetMapping("/push") + public R push(String id) throws ParseException { + return iBuyHousesService.push(id); + } + + /** + * + * @param id + * @return + */ + @GetMapping("/out") + public R logout(String id){ + return iBuyHousesService.logout(id); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/HouseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/HouseController.java index e91b57081..8710d4819 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/HouseController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/HouseController.java @@ -2,6 +2,7 @@ package com.ruoyi.web.controller.user; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaIgnore; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpUtil; @@ -32,18 +33,6 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/user/house") public class HouseController extends BaseController { private final IBuyHousesService iBuyHousesService; - - /** - * 购房申请添加 - */ - /* @Log(title = "【购房申请添加】", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - @RsaSecurityParameter(inDecode = true) - public R add(@Validated(AddGroup.class) @RequestBody BuyHousesBo bo) { - return toAjax(iBuyHousesService.insertByBo(bo)); - }*/ - /** * 购房申请修改 */ @@ -68,6 +57,7 @@ public class HouseController extends BaseController { /** * 下载人才认定申请表 */ + @Log(title = "下载人才认定申请表", businessType = BusinessType.OTHER) @PostMapping("/download") @RateLimiter(count = 1, time = 10) public R downloadWord(@Validated(DownloadGroup.class) @RequestBody BuyHousesBo buyHousesBo){ @@ -95,6 +85,7 @@ public class HouseController extends BaseController { /** * 通过调用高新人才判断该身份证是否具备人才资格 */ + @Log(title = "通过调用高新人才判断该身份证是否具备人才资格", businessType = BusinessType.OTHER) @PostMapping("/CandidatesInfo") public R getGaoXinCandidateInfoByCardId(@RequestBody BuyHouses buyHouses){ String cardId = buyHouses.getCardId(); @@ -130,12 +121,17 @@ public class HouseController extends BaseController { @PostMapping("/insertOpenBuyHouses") public R insertOpenBuyHouses(@Validated(EditGroup.class)@RequestBody BuyHousesBo bo){ bo.setApiKey("gaoxingongyuanchengshiju"); + if (ObjectUtil.isNull(bo.getUserId())){ + return R.fail("userId不可为空"); + } return iBuyHousesService.insertOpenBuyHouses(bo); } @SaIgnore @GetMapping("/excelZip") - public void excelZip(){ - iBuyHousesService.excelZip(); + public void excelZip(String id){ + ThreadUtil.execAsync(() -> { + iBuyHousesService.excelZip(id); + }); } } diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 256535ba4..ba61348eb 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -50,6 +50,8 @@ spring: # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # url: jdbc:mysql://182.150.40.133:3309/ry-vue-house?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&useAffectedRows=true +# username: root +# password: 1234Qwer@ url: jdbc:mysql://182.138.107.22:3409/ry-vue-house?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: gxrc password: 45Uuq5!aADGD @@ -213,7 +215,3 @@ file: template: D:\\gaoxin\\file\\ doc: D:\\gaoxin\\doc\\ mapping: /doc -# domain: 192.168.0.54:8080 -# path: D:\\gaoxin\\images -# prefix: /images -# size: 10 diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java index 94907e74f..a03eeb37b 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java @@ -26,10 +26,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.GaoXinCardInfo; import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.utils.AesUtil; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.JsonUtils; +import com.ruoyi.common.utils.OpenUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.demo.domain.ImageDemoData; import com.ruoyi.system.domain.*; @@ -58,6 +61,7 @@ import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.util.ReflectionUtils; +import org.springframework.util.StringUtils; import sun.misc.BASE64Encoder; import javax.crypto.*; @@ -223,7 +227,7 @@ public class DemoUnitTest { ProcessVo processVo = new ProcessVo(); processVo.setProcessKey("apply_house"); processVo.setStep("1"); - BuyHouses buyHouses = buyHousesMapper.selectById("12"); + BuyHouses buyHouses = buyHousesMapper.selectById("3181"); buyHouses.setUpdateTime(DateUtils.getNowDate()); Map map = BeanUtil.beanToMap(buyHouses); processVo.setParams(map); @@ -614,14 +618,15 @@ public class DemoUnitTest { map.put("apiKey","gaoxingongyuanchengshiju"); String s = JSONUtil.toJsonPrettyStr(map); String doEncrypt = Sm2.doEncrypt(s, publicKey); - String result2 = HttpRequest.post("http://192.168.0.54:8084/userOpenLogin") - .header("Referer","http://192.168.0.54:8084") + String result2 = HttpRequest.post("https://rcaj.cdhtgycs.cn/gx-api/userOpenLogin") + .header("Referer","https://rcaj.cdhtgycs.cn") .header("path","/userOpenLogin") .header("targe","weixin") .header("Authorization","Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJhcHBfdXNlcjo0Mzc4OSIsInJuU3RyIjoiV05XZFFnaHpHYlRRRU5ObVpwbmhaaFp6MmtKaWtSR0MiLCJ1c2VySWQiOjQzNzg5fQ.QCsN3iIFk38dzTvXITGx2wV5c9kdPdvWZs7gjf6dFzc") .header("method","POST") .body(doEncrypt,"application/json") .execute().body(); + System.out.println("result2 = " + result2); } /** @@ -816,14 +821,18 @@ public class DemoUnitTest { String substring = str.substring(str.lastIndexOf("/") + 1); String txt ="https://rcaj.cdhtgycs.cn/images/2023/07/01/"+substring; - buyHousesService.excelZip(); + buyHousesService.excelZip(""); System.out.println("txt = " + txt); } @Test public void TestMessageAck() throws UnsupportedEncodingException { -// String msg="消息4"; + + String msg="A 类"; + String trim = StringUtils.trimAllWhitespace(msg); + int length = trim.length(); + System.out.println("length = " + length); // Message build = MessageBuilder.withBody(msg.getBytes()).build(); // build.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT); // build.getMessageProperties().setDelay(50000); @@ -853,22 +862,23 @@ public class DemoUnitTest { @Test public void paChon() throws Exception { - String appsecret ="JXYB7KpXlH9i0CL6"; + buyHousesService.logout("3184"); + +// R gaoXinCardInfo = OpenUtils.getGaoXinCardInfo("510503199602214055"); +// System.out.println("JSONUtil.toJsonPrettyStr(gaoXinCardInfo) = " + JSONUtil.toJsonPrettyStr(gaoXinCardInfo)); + /* String appsecret ="JXYB7KpXlH9i0CL6"; + String aesKey = "74242EAFE97F18BFAE9D2682590B6614"; + String iv = "74242EAFE97F18BF"; String id="2023062804031"; String url ="http://162.14.100.54:9010/index.php/Api/renju/get_user_info"; - AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, - // 密钥,可以自定义 - "74242EAFE97F18BFAE9D2682590B6614".getBytes(), - // iv加盐,按照实际需求添加 - "74242EAFE97F18BF".getBytes()); - String param=aes.encryptBase64(new JSONObject() + AES aes = new AES(Mode.CBC, Padding.PKCS5Padding,aesKey.getBytes(),iv.getBytes()); + String param=aes.encryptBase64( + new JSONObject() .set("id_card","510503199602214056") .toStringPretty()); - System.out.println("param = " + param); MD5 md5 = SecureUtil.md5(); String content=id+param+appsecret; String sign=md5.digestHex(content); - System.out.println("sign = " + sign); JSONObject jsonObject = new JSONObject() .set("id",id) .set("param",param) @@ -877,7 +887,7 @@ public class DemoUnitTest { .body(jsonObject.toStringPretty()) .execute() .body(); - System.out.println("listContent = " + listContent); + System.out.println("listContent = " + listContent);*/ } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/advice/DecodeRequestBodyAdvice.java b/ruoyi-common/src/main/java/com/ruoyi/common/advice/DecodeRequestBodyAdvice.java index 23cbe3ae2..f083b62dd 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/advice/DecodeRequestBodyAdvice.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/advice/DecodeRequestBodyAdvice.java @@ -3,6 +3,7 @@ package com.ruoyi.common.advice; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.core.domain.RsaSecurity; +import com.ruoyi.common.core.service.ConfigService; import com.ruoyi.common.core.service.IRsaSecurityService2; import com.ruoyi.common.utils.RSAUtil; import com.ruoyi.common.utils.spring.SpringUtils; @@ -46,6 +47,10 @@ public class DecodeRequestBodyAdvice implements RequestBodyAdvice { @Override public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type type, Class> aClass) throws IOException { try { + //判断系统是否在维护中 + ConfigService sysConfigService = SpringUtils.getBean(ConfigService.class); + //系统升级提示 + sysConfigService.selectConfigByConfigKey("system:maintenance:prompt"); String path = inputMessage.getHeaders().getFirst("path"); String method = inputMessage.getHeaders().getFirst("method"); if (ObjectUtil.isNotNull(path)) { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/GaoXinCardInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/GaoXinCardInfo.java new file mode 100644 index 000000000..bc42b2225 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/GaoXinCardInfo.java @@ -0,0 +1,67 @@ +package com.ruoyi.common.core.domain.entity; + +import cn.hutool.core.util.ObjectUtil; +import lombok.Data; +import org.springframework.util.StringUtils; + +import java.io.Serializable; + +/** + * @author Administrator + * 高新人才接口返回所需 + */ +@Data +public class GaoXinCardInfo implements Serializable { + + /** + * 身份证 + */ + private String card_id; + /** + * 国籍 + */ + private String nationality; + /** + * 姓名 + */ + private String name; + /** + * 手机号 + */ + private String phone; + /** + * 公司名称 + */ + private String company_name; + /** + * 性别 + */ + private String sex; + /** + * 公司所在区域 + */ + private String district; + /** + * 人才类型 + */ + private String type; + /** + * 学历 + */ + private String education; + + public String getType() { + return type; + } + + public void setType(String type) { + if (ObjectUtil.isNotNull(type) && ObjectUtil.isNotEmpty(type)) { + type = StringUtils.trimAllWhitespace(type); + if (type.length() == 1) { + this.type = type + "类"; + }else { + this.type = type; + } + } + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java index c6badf65c..280be13d4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java @@ -15,4 +15,11 @@ public interface ConfigService { */ String getConfigValue(String configKey); + /** + * 根据key获取数据 + * @param configKey + * @return + */ + void selectConfigByConfigKey(String configKey); + } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java index 90222d1ec..c0069631e 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java @@ -37,10 +37,10 @@ public class RepeatableFilter implements Filter { && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE) ) { requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); } - /* if (!isSafe((HttpServletRequest) request)) { + if (!isSafe((HttpServletRequest) request)) { ((HttpServletResponse) response).setStatus(403); return; - }*/ + } if (null == requestWrapper) { chain.doFilter(request, response); } else { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/AesUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/AesUtil.java index 84c468316..ec8a97340 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/AesUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/AesUtil.java @@ -112,12 +112,4 @@ public class AesUtil { } return null; } - - - public static void main(String[] args) throws Exception { - String s = encryptBASE64("http://192.168.0.200:8010/upload/GXTalents/images/843329b85e974ef5bae06d9c01bc909e.jpg"); - System.out.println(s); - String s1 = decryptBASE64("aHR0cHM6Ly9neC5jaGVuZ2R1dGFsZW50LmNuOjgwMTAvdXBsb2FkL0dYVGFsZW50cy9pbWFnZXMvMTM2ODBlMmI0ZTY4NDI1N2ExM2UyNjI5MGQ1NDljODMucG5n"); - System.out.println(s1); - } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/OpenUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/OpenUtils.java new file mode 100644 index 000000000..52f9dd5d7 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/OpenUtils.java @@ -0,0 +1,69 @@ +package com.ruoyi.common.utils; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.crypto.Mode; +import cn.hutool.crypto.Padding; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.crypto.digest.MD5; +import cn.hutool.crypto.symmetric.AES; +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.GaoXinCardInfo; +import com.ruoyi.common.exception.ServiceException; + +/** + * @author Administrator + * 对外所需要的工具类 + */ + + +public class OpenUtils { + private static final String appsecret ="JXYB7KpXlH9i0CL6"; + private static final String aesKey = "74242EAFE97F18BFAE9D2682590B6614"; + private static final String iv = "74242EAFE97F18BF"; + private static final String id="2023062804031"; +// private static final String url ="http://162.14.100.54:9010/index.php/Api/renju/get_user_info";//测试 + private static final String url ="http://118.122.86.24:8016/index.php/Api/renju/get_user_info";// 正式地址 + + public static R getGaoXinCardInfo(String cardId){ + AES aes = new AES(Mode.CBC, Padding.PKCS5Padding,aesKey.getBytes(),iv.getBytes()); + String param=aes.encryptBase64( + new JSONObject() + .set("id_card",cardId) + .toStringPretty()); + MD5 md5 = SecureUtil.md5(); + String sign=md5.digestHex(id+param+appsecret); + JSONObject jsonObject = new JSONObject() + .set("id",id) + .set("param",param) + .set("sign",sign); + try { + String content = HttpRequest.post(url) + .timeout(5000) + .body(jsonObject.toStringPretty()) + .execute() + .body(); + System.out.println("content = " + content); + JSONObject jsonObject1 = JSONUtil.parseObj(content); + Integer code = jsonObject1.getInt("code"); + Object data = jsonObject1.get("data"); + String message = jsonObject1.getStr("message"); + if (code==200){ + if (ObjectUtil.isNull(data)){ + return R.fail("暂未获取到当前"+cardId+"人才认定信息"); + }else { + GaoXinCardInfo gaoXinCardInfo = JsonUtils.parseObject(JSONUtil.toJsonPrettyStr(data), GaoXinCardInfo.class); + return R.ok(gaoXinCardInfo); + } + }else if (code==400){ + return R.fail(message); + }else { + return R.fail("人才认定接口请求未知异常"); + } + } catch (Exception e) { + throw new RuntimeException("人才认定接口请求错误"); + } + } +} diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TelecomSendMsg.java b/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TelecomSendMsg.java index a72a6f431..4b9d08325 100644 --- a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TelecomSendMsg.java +++ b/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TelecomSendMsg.java @@ -35,13 +35,13 @@ public class TelecomSendMsg{ paramMap.put("Mobile",phones); String gbk = null; if ("register".equals(type)){ - gbk = URLEncoder.encode("验证码:"+content+".尊敬的用户,您正在办理用户注册操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟.【成都高新人才安居资格认定】", "GBK"); + gbk = URLEncoder.encode("尊敬的用户,您正在办理用户注册操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟,本次验证码为:"+content+"【成都高新人才安居资格认定】", "GBK"); }else if ("login".equals(type)){ - gbk = URLEncoder.encode("验证码:"+content+".尊敬的用户,您正在办理用户登录操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟.【成都高新人才安居资格认定】", "GBK"); + gbk = URLEncoder.encode("尊敬的用户,您正在办理用户登录操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟,本次验证码为:"+content+"【成都高新人才安居资格认定】", "GBK"); }else if ("forgetPwd".equals(type)){ - gbk = URLEncoder.encode("验证码:"+content+".尊敬的用户,您正在办理用户忘记密码操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟.【成都高新人才安居资格认定】", "GBK"); + gbk = URLEncoder.encode("尊敬的用户,您正在办理用户忘记密码操作,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟,本次验证码为:"+content+"【成都高新人才安居资格认定】", "GBK"); }else if("updatePwd".equals(type)){ - gbk = URLEncoder.encode("验证码:"+content+".尊敬的用户,您正在办理用户修改密码,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟.【成都高新人才安居资格认定】", "GBK"); + gbk = URLEncoder.encode("尊敬的用户,您正在办理用户修改密码,我们不会向您索要此验证码,切勿告知他人本次验证码有效性为:"+ Constants.CAPTCHA_EXPIRATION +"分钟,本次验证码为:"+content+"【成都高新人才安居资格认定】", "GBK"); }else if ("updatePhone".equals(type)){ } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java index 21739577c..42f40f647 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/HousesReviewEvent.java @@ -140,7 +140,7 @@ public class HousesReviewEvent extends BaseEntity { private Date passTime; @TableField(exist = false) - private String excelUserId; + private Long excelId; @TableField(exist = false) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java index 687c79c2c..5ae78cf48 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java @@ -125,7 +125,9 @@ public interface IBuyHousesService { R getHistogram(String date); - void excelZip(); + void excelZip(String id); - R push() throws ParseException; + R push(String id) throws ParseException; + + R logout(String id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java index 14305e8ee..095adaf36 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java @@ -18,13 +18,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.GaoXinCardInfo; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; -import com.ruoyi.common.utils.CardsUtil; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.*; import com.ruoyi.common.utils.file.MyFileUtils; import com.ruoyi.common.utils.poi.DeleteFileUtil; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -91,12 +90,11 @@ public class BuyHousesServiceImpl implements IBuyHousesService { @Value("${file.prefix}") private String prefix; - //正式地址 - private final String URL = "https://gx.chengdutalent.cn:8010/candidates/getCardId"; - //测试地址 -// private final String URL = "https://mihuatang.xyz/gaoxin-api/candidates/getCardId"; - //本地地址 -// private final String URL = "http://127.0.0.1:8010/candidates/getCardId"; + @Value("${file.doc}") + private String doc; + + @Value("${file.mapping}") + private String mapping; private final BuyHousesMapper baseMapper; @@ -258,6 +256,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService { if (buyHouses.size()>0){ throw new ServiceException("当前人才已提交申请"); } + bo.setStep("1"); bo.setProcessStatus(Constants.WAIT); BuyHouses add = BeanUtil.toBean(bo, BuyHouses.class); boolean flag = baseMapper.insert(add) > 0; @@ -378,7 +377,6 @@ public class BuyHousesServiceImpl implements IBuyHousesService { List buyHouses = baseMapper.selectList( new LambdaQueryWrapper() .eq(BuyHouses::getCardId, cardId)); - if (buyHouses.size()>0){ BuyHouses buyHouses1 = buyHouses.get(0); List buyHousesMembers = buyHousesMemberMapper.selectList(new LambdaQueryWrapper<>(BuyHousesMember.class) @@ -433,9 +431,9 @@ public class BuyHousesServiceImpl implements IBuyHousesService { hashMap.put("type",buyHousesBo.getType()); String fileName = UUID.randomUUID().toString(); String templatePath = fileUpload + "Houses_template.docx"; - String word = ExportWordUtil.createWord(templatePath, filePath, fileName, hashMap); + String word = ExportWordUtil.createWord(templatePath, doc, fileName, hashMap); System.out.println("word = " + word); - String file= download + prefix + "/" + fileName + ".docx"; + String file= download + mapping + "/" + fileName + ".docx"; map.put("file",file); return R.ok(map); } @@ -488,32 +486,25 @@ public class BuyHousesServiceImpl implements IBuyHousesService { buyHousesVo.setBuyHousesMemberList(buyHousesMembers); return R.ok(buyHousesVo); } - HashMap paramMap = new HashMap<>(); - paramMap.put("cardId", buyHouses.getCardId()); - String json = HttpUtil.get(URL, paramMap); - JSONObject entrie = JSONUtil.parseObj(json); - String data = String.valueOf(entrie.get("data")); - if (ObjectUtil.isNull(data)){ - return R.fail("获取失败"); - } - JSONObject entries = JSONUtil.parseObj(data); + R rInfo = OpenUtils.getGaoXinCardInfo(buyHouses.getCardId()); + GaoXinCardInfo gaoXinCardInfo = JsonUtils.parseObject(JSONUtil.toJsonPrettyStr(rInfo.getData()), GaoXinCardInfo.class); BuyHouses buyHousesDto = new BuyHouses(); - buyHousesDto.setCardId(String.valueOf(entries.get("cardId"))); - String nationality = String.valueOf(entries.get("nationality")); + buyHousesDto.setCardId(gaoXinCardInfo.getCard_id()); + String nationality = gaoXinCardInfo.getNationality(); if ("中国".contains(nationality)){ buyHousesDto.setNationality("中国籍"); }else { buyHousesDto.setNationality("外籍"); } - buyHousesDto.setUserName(String.valueOf(entries.get("name"))); - buyHousesDto.setPhone(String.valueOf(entries.get("phone"))); - buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName"))); - buyHousesDto.setSex(String.valueOf(entries.get("sex"))); - buyHousesDto.setEducation(String.valueOf(entries.get("education"))); + buyHousesDto.setUserName(gaoXinCardInfo.getName()); + buyHousesDto.setPhone(gaoXinCardInfo.getPhone()); + buyHousesDto.setCompanyName(gaoXinCardInfo.getCompany_name()); + buyHousesDto.setSex(gaoXinCardInfo.getSex()); + buyHousesDto.setEducation(gaoXinCardInfo.getEducation()); buyHousesDto.setDistrict("1"); buyHousesDto.setProcessStatus(Constants.SUBMIT); - buyHousesDto.setType(String.valueOf(entries.get("type"))+"类"); - buyHousesDto.setWorkAddress(String.valueOf(entries.get("district"))); + buyHousesDto.setType(gaoXinCardInfo.getType()); + buyHousesDto.setWorkAddress(gaoXinCardInfo.getDistrict()); buyHousesDto.setProcessKey("apply_house"); return R.ok(buyHousesDto); } @@ -525,13 +516,30 @@ public class BuyHousesServiceImpl implements IBuyHousesService { */ @Override public R getGaoXinCandidateInfoByCardId(String cardId) { - HttpResponse execute = HttpRequest.get(URL) + LinkedHashMap hashMap = new LinkedHashMap<>(3); + R rInfo = OpenUtils.getGaoXinCardInfo(cardId); + if (rInfo.getCode()!=200){ + return R.fail(rInfo.getMsg()); + } + BuyHouses buyHouses = baseMapper.selectOne(new LambdaQueryWrapper<>(BuyHouses.class).eq(BuyHouses::getCardId, cardId)); + if (ObjectUtil.isNotNull(buyHouses)){ + hashMap.put("status",buyHouses.getProcessStatus()); + hashMap.put("processKey",buyHouses.getProcessKey()); + hashMap.put("businessId",buyHouses.getId()); + return R.ok("获取成功",hashMap); + } + hashMap.put("status",Constants.SUBMIT); + hashMap.put("processKey","apply_house"); + hashMap.put("businessId",null); + return R.ok("获取成功",hashMap); + + + /* HttpResponse execute = HttpRequest.get(URL) .form("cardId",cardId) .timeout(5000) .execute(); JSONObject entries = JSONUtil.parseObj(execute.body()); String code = String.valueOf(entries.get("code")); - LinkedHashMap hashMap = new LinkedHashMap<>(); if (ObjectUtil.isNull(code)){ return R.fail("获取人才信息失败"); }else { @@ -550,7 +558,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService { }else { return R.fail("暂无资格"); } - } + }*/ } /** @@ -573,6 +581,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService { subscribeExport.setProcessKey(bo.getProcessKey()); subscribeExport.setDescription(bo.getDescription()); subscribeExport.setUserId(userId.toString()); + subscribeExport.setExportStatus("0"); subscribeExportMapper.insert(subscribeExport); bo.setExcelId(subscribeExport.getId()); SpringUtils.context().publishEvent(bo); @@ -703,9 +712,9 @@ public class BuyHousesServiceImpl implements IBuyHousesService { hashMap.put("nationality", "中国籍".equals(buyHouses.getNationality()) ? "身份证" : "护照"); String fileName = UUID.randomUUID().toString(); String templatePath = fileUpload + "inform.docx"; - String word = ExportWordUtil.createWord(templatePath, filePath, fileName, hashMap); + String word = ExportWordUtil.createWord(templatePath, doc, fileName, hashMap); System.out.println("word = " + word); - String file= download + prefix + "/" + fileName + ".docx"; + String file= download + mapping + "/" + fileName + ".docx"; System.out.println("file = " + file); map.put("file",file); return R.ok(map); @@ -714,9 +723,8 @@ public class BuyHousesServiceImpl implements IBuyHousesService { @Override public R updateBuyHouses(BuyHouses buyHouses) { + BuyHouses houses = baseMapper.selectById(buyHouses.getId()); LoginUser loginUser = LoginHelper.getLoginUser(); - buyHouses.setProcessStatus(Constants.CANCEL); - int i = baseMapper.updateById(buyHouses); //添加取消资格日志 AuditLog auditLog = new AuditLog(); auditLog.setOtherId(String.valueOf(buyHouses.getId()));//业务id @@ -731,20 +739,27 @@ public class BuyHousesServiceImpl implements IBuyHousesService { auditLog.setUpdateTime(new Date()); auditLog.setStep("3"); auditLogMapper.insert(auditLog); + buyHouses.setProcessStatus(Constants.CANCEL); + int i = baseMapper.updateById(buyHouses); if (i>0){ - //todo 推送 - Map map = new HashMap<>(); - map.put("id",buyHouses.getId()); - map.put("reason",buyHouses.getReply());//原因 - map.put("userName",buyHouses.getUserName()); - map.put("cardId",buyHouses.getCardId()); - map.put("cancelTime", DateUtils.dateTime("yyyy-MM-dd HH:mm:ss")); - map.put("note","人才信息有误");//备注 - map.put("status", "00N"); - System.out.println("JSONUtil.toJsonPrettyStr(map) = " + JSONUtil.toJsonPrettyStr(map)); -// housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com//CCSRegistryCenter/rest",map,"254"); - -// housingConstructionBureauPushDto.openUrl("https://www.cdhtrct.com/route/open/api/anju/openBuyHousesCallback",map,"001"); + if ("apply_house".equals(houses.getProcessKey())){ + //todo 推送 + Map map = new HashMap<>(); + map.put("id",buyHouses.getId()); + map.put("reason",buyHouses.getReply());//原因 + map.put("userName",houses.getUserName()); + map.put("cardId",houses.getCardId()); + map.put("cancelTime", DateUtils.dateTime("yyyy-MM-dd HH:mm:ss")); + map.put("note",buyHouses.getReply());//备注 + map.put("status", "00N"); + System.out.println("JSONUtil.toJsonPrettyStr(map) = " + JSONUtil.toJsonPrettyStr(map)); + housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com//CCSRegistryCenter/rest",map,"254");//正式 +// housingConstructionBureauPushDto.openUrl("https://171.221.172.13:8088/CCSRegistryCenter/rest", map, "254");//测试 + if (ObjectUtil.isNotNull(houses.getApiKey()) && String.valueOf(houses.getApiKey()).equals("gaoxingongyuanchengshiju")) { +// housingConstructionBureauPushDto.send3(map, "http://218.89.220.30:9200/rctopen/api/anju/openBuyHousesCallback");//测试 + housingConstructionBureauPushDto.send3(map, "https://www.cdhtrct.com/route/open/api/anju/openBuyHousesCallback");//正式 + } + } return R.ok(); } return R.fail(); @@ -759,14 +774,15 @@ public class BuyHousesServiceImpl implements IBuyHousesService { public R insertOpenBuyHouses(BuyHousesBo bo) { BuyHouses buyHouses = BeanUtil.toBean(bo, BuyHouses.class); buyHouses.setStep("1"); + buyHouses.setVersion("2"); BuyHouses buyHouses1 = baseMapper.selectOne(new LambdaQueryWrapper<>(BuyHouses.class).eq(BuyHouses::getCardId, buyHouses.getCardId())); //判断该人才是否存在 - if (ObjectUtil.isEmpty(buyHouses1.getApiKey()) || !buyHouses1.getUserId().equals(buyHouses.getUserId())){ + if (ObjectUtil.isNotNull(buyHouses1) && (ObjectUtil.isEmpty(buyHouses1.getApiKey()) || !buyHouses1.getUserId().equals(buyHouses.getUserId()))){ throw new ServiceException("当前用户已在系统存在"); -// return R.fail("当前用户已在系统存在"); } if (ObjectUtil.isNull(buyHouses1)){ //新增 + buyHouses.setId(null); buyHouses.setProcessStatus(Constants.WAIT); buyHouses.setProcessKey("apply_house"); buyHouses.setCreateTime(new Date()); @@ -1305,10 +1321,11 @@ public class BuyHousesServiceImpl implements IBuyHousesService { } } - public void excelZip(){ + public void excelZip(String id){ BuyHousesBo bo =new BuyHousesBo(); -// bo.setId(3L); - bo.setProcessStatus(Constants.SUCCEED); + if (ObjectUtil.isNotNull(id)){ + bo.setId(Long.valueOf(id)); + } LambdaQueryWrapper lqw = buildQueryWrapper(bo); List buyHousesVoList = baseMapper.selectVoList(lqw); if (buyHousesVoList.size() > 0) { @@ -1319,6 +1336,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService { Map> buyHousesMemberMap = buyHousesMemberList.stream().collect(Collectors.groupingBy(BuyHousesMember::getBuyHousesId)); buyHousesVoList.stream().forEach(r -> { String dir="/usr/local/images/2023/07/01/"; +// String dir="D:\\gaoxin\\images\\"; //护照或者身份证 if (ObjectUtil.isNotEmpty(r.getInsidepageUrl())){ String insidepageUrl = r.getInsidepageUrl(); @@ -1444,8 +1462,8 @@ public class BuyHousesServiceImpl implements IBuyHousesService { */ @GetMapping("/push") @Override - public R push() throws ParseException { - Map map = WorkUtils.getInfoToMap("buy_houses","2"); + public R push(String id) throws ParseException { + Map map = WorkUtils.getInfoToMap("buy_houses",id); String virtualcode = String.valueOf(map.get("virtualcode")); map.put("virtualcode", virtualcode == "3" ? "010" : "009"); String cardType = String.valueOf(map.get("cardType")); @@ -1461,9 +1479,24 @@ public class BuyHousesServiceImpl implements IBuyHousesService { map.put("shStatus", "4"); map.put("buyHousesMemberList", "null"); map.put("buyHousesLogList", "null"); -// housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com/CCSRegistryCenter/rest",map,"253"); - String s = housingConstructionBureauPushDto.openUrl("http://10.182.1.26/CCSRegistryCenter/rest", map, "253"); + housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com/CCSRegistryCenter/rest",map,"253"); +// String s = housingConstructionBureauPushDto.openUrl("http://10.182.1.26/CCSRegistryCenter/rest", map, "253"); return null; + } + @Override + public R logout(String id) { + BuyHouses buyHouses = baseMapper.selectById(id); + Map map = new HashMap<>(); + map.put("id",buyHouses.getId()); + map.put("reason","人才主动提交");//原因 + map.put("userName",buyHouses.getUserName()); + map.put("cardId",buyHouses.getCardId()); + map.put("cancelTime", DateUtils.dateTime("yyyy-MM-dd HH:mm:ss")); + map.put("note","人才主动撤销");//备注 + map.put("status", "00N"); + System.out.println("JSONUtil.toJsonPrettyStr(map) = " + JSONUtil.toJsonPrettyStr(map)); + housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com//CCSRegistryCenter/rest",map,"254");//正式 + return null; } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java index 3dc1bd9f0..b106369f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java @@ -426,7 +426,21 @@ public class HousesReviewServiceImpl implements IHousesReviewService { @Override public R subscribeExport(HousesReviewEvent bo){ Long userId = LoginHelper.getUserId(); - bo.setExcelUserId(userId.toString()); + //判断是否存在正在导出记录 + SubscribeExport subscribeExport1 = subscribeExportMapper.selectOne(new LambdaQueryWrapper<>(SubscribeExport.class) + .eq(SubscribeExport::getUserId, userId) + .eq(SubscribeExport::getExportStatus, "0")); + if (ObjectUtil.isNotNull(subscribeExport1)){ + return R.fail("您已存在一条正在导出数据,请等待前一条导出之后再执行"); + } + //添加导出记录 + SubscribeExport subscribeExport = new SubscribeExport(); + subscribeExport.setProcessKey(bo.getProcessKey()); + subscribeExport.setExportStatus("0"); + subscribeExport.setDescription(bo.getDescription()); + subscribeExport.setUserId(userId.toString()); + subscribeExportMapper.insert(subscribeExport); + bo.setExcelId(subscribeExport.getId()); SpringUtils.context().publishEvent(bo); return R.ok("预约成功"); } @@ -512,10 +526,9 @@ public class HousesReviewServiceImpl implements IHousesReviewService { String url =download+prefix+"/"+zip; SubscribeExport subscribeExport = new SubscribeExport(); subscribeExport.setPath(url); - subscribeExport.setDescription(event.getDescription()); - subscribeExport.setProcessKey("house_review"); - subscribeExport.setUserId(event.getExcelUserId()); - subscribeExportMapper.insert(subscribeExport); + subscribeExport.setId(event.getExcelId()); + subscribeExport.setExportStatus("1"); + subscribeExportMapper.updateById(subscribeExport); } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index 932753b26..e47be3f15 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -62,6 +62,21 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { return baseMapper.selectById(configId); } + /** + * 根据key获取配置信息 + * @param key + * @return + */ + @Override + public void selectConfigByConfigKey(String key) { + SysConfig aTrue = baseMapper.selectOne(new LambdaQueryWrapper<>(SysConfig.class) + .eq(SysConfig::getConfigKey, key) + .eq(SysConfig::getConfigValue, "true")); + if (ObjectUtil.isNotNull(aTrue)){ + throw new ServiceException(aTrue.getRemark()); + } + } + /** * 根据键名查询参数配置信息 * diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java b/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java index db841b2ba..a51568d46 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java @@ -1,6 +1,7 @@ package com.ruoyi.work.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.Constants; @@ -24,14 +25,16 @@ import com.ruoyi.work.mapper.ProcessMapper; import com.ruoyi.work.utils.WorkComplyUtils; import com.ruoyi.work.utils.WorkUtils; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; /** @@ -42,6 +45,7 @@ import java.util.stream.Collectors; @RestController @RequestMapping("/work") @Transactional(rollbackFor = Exception.class) +@Slf4j public class WorkController extends BaseController { private final ProcessMapper processMapper; private final HousingConstructionBureauPushDto housingConstructionBureauPushDto; @@ -115,7 +119,7 @@ public class WorkController extends BaseController { @Log(title = "流程办理",businessType = BusinessType.OTHER) // @SaCheckPermission("work:task:batchDeleted") @PostMapping("/batchDeleted") - public R batchDeleted(@RequestBody HisProcess hisProcess){ + public R batchDeleted(@RequestBody HisProcess hisProcess) throws ParseException { if (ObjectUtil.isNull(hisProcess.getStatus())){ return R.fail("状态不可为空"); } @@ -141,8 +145,7 @@ public class WorkController extends BaseController { hashMap.put("auditDepartName",deptName); } if (s.equals(Constants.NONENTITY)){ - throw new ServiceException("暂无审核"); -// return R.fail("暂无审核"); + throw new ServiceException("当前数据已被他人审核,请刷新页面!"); }else{ if ("apply_house".equals(hisProcess.getProcessKey())) { if (Constants.SUCCEED.equals(s)) {//审核成功推送数据 @@ -151,14 +154,22 @@ public class WorkController extends BaseController { map.put("virtualcode", virtualcode == "3" ? "010" : "009"); String cardType = String.valueOf(map.get("cardType")); map.put("cardType", "中国籍".equals(cardType) ? 1 : 4); + Object createTime = map.get("createTime"); + SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); + DateFormat cst = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date format = sdf.parse(createTime.toString()); + String dateString = cst.format(format); + map.put("creatTime",dateString); map.put("qyStatus", "4"); map.put("gyStatus", "4"); + map.put("status", "10"); map.put("shStatus", "4"); map.put("buyHousesMemberList", "null"); map.put("buyHousesLogList", "null"); - map.put("buyHousesLogList", "null"); -// housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com/CCSRegistryCenter/rest", map, "253"); - housingConstructionBureauPushDto.openUrl("https://171.221.172.13:8088/CCSRegistryCenter/rest", map, "253"); + String s1 = JSONUtil.toJsonPrettyStr(map); + log.info("map:"+s1); + housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com/CCSRegistryCenter/rest", map, "253"); +// housingConstructionBureauPushDto.openUrl("https://171.221.172.13:8088/CCSRegistryCenter/rest", map, "253"); //人才通推送 hashMap.put("status", "00T"); } else if (Constants.FAILD.equals(s)) { @@ -169,7 +180,10 @@ public class WorkController extends BaseController { } Object apiKey = map.get("apiKey"); if (ObjectUtil.isNotNull(apiKey) && String.valueOf(apiKey).equals("gaoxingongyuanchengshiju")) { - housingConstructionBureauPushDto.send3(hashMap, "http://218.89.220.30:9200/rctopen/api/anju/openBuyHousesCallback"); + String s1 = JSONUtil.toJsonPrettyStr(hashMap); + log.info("hashMap:"+s1); +// housingConstructionBureauPushDto.send3(hashMap, "http://218.89.220.30:9200/rctopen/api/anju/openBuyHousesCallback"); + housingConstructionBureauPushDto.send3(hashMap, "https://www.cdhtrct.com/route/open/api/anju/openBuyHousesCallback"); } } Object step = map1.get("step"); diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/dto/HousingConstructionBureauPushDto.java b/ruoyi-work/src/main/java/com/ruoyi/work/dto/HousingConstructionBureauPushDto.java index 606fa6c74..0507914bb 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/dto/HousingConstructionBureauPushDto.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/dto/HousingConstructionBureauPushDto.java @@ -1,6 +1,7 @@ package com.ruoyi.work.dto; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.crypto.symmetric.AES; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONObject; @@ -98,14 +99,17 @@ public class HousingConstructionBureauPushDto { .timeout(5000) .body(JSONUtil.toJsonPrettyStr(httpRequestBody)) .execute().body(); + if (ObjectUtil.isNull(result2) || ObjectUtil.isEmpty(result2)){ + throw new ServiceException("推送市级系统失败!原因:返回值为空"); + } JSONObject jsonObject = JSONUtil.parseObj(result2); String aFalse = jsonObject.getStr("result"); String aStatus = jsonObject.getStr("status"); String aMessage = jsonObject.getStr("message"); + System.out.println("result1 = " + result2); if ("false".equals(aFalse) || "error".equals(aStatus)){ throw new ServiceException("推送市级系统失败!原因:"+aMessage); } - System.out.println("result2 = " + result2); return result2; } catch (Exception e) { throw new RuntimeException(e); @@ -113,7 +117,7 @@ public class HousingConstructionBureauPushDto { } - public String send3(HashMap params,String url){ + public String send3(Map params,String url){ //基本信息数据 HttpRequestBody httpRequestBody = new HttpRequestBody(); httpRequestBody.setApiKey("001");