修改bug

This commit is contained in:
ljl 2023-07-07 13:58:51 +08:00
parent 11694bb428
commit cb8ab5e02b
18 changed files with 365 additions and 129 deletions

View File

@ -171,7 +171,18 @@ public class BuyHousesController extends BaseController {
/** /**
* 对市局系统单独推送 * 对市局系统单独推送
*/ */
public R push() throws ParseException { @GetMapping("/push")
return iBuyHousesService.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);
} }
} }

View File

@ -2,6 +2,7 @@ package com.ruoyi.web.controller.user;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
@ -32,18 +33,6 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("/user/house") @RequestMapping("/user/house")
public class HouseController extends BaseController { public class HouseController extends BaseController {
private final IBuyHousesService iBuyHousesService; private final IBuyHousesService iBuyHousesService;
/**
* 购房申请添加
*/
/* @Log(title = "【购房申请添加】", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@RsaSecurityParameter(inDecode = true)
public R<Void> 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") @PostMapping("/download")
@RateLimiter(count = 1, time = 10) @RateLimiter(count = 1, time = 10)
public R downloadWord(@Validated(DownloadGroup.class) @RequestBody BuyHousesBo buyHousesBo){ 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") @PostMapping("/CandidatesInfo")
public R getGaoXinCandidateInfoByCardId(@RequestBody BuyHouses buyHouses){ public R getGaoXinCandidateInfoByCardId(@RequestBody BuyHouses buyHouses){
String cardId = buyHouses.getCardId(); String cardId = buyHouses.getCardId();
@ -130,12 +121,17 @@ public class HouseController extends BaseController {
@PostMapping("/insertOpenBuyHouses") @PostMapping("/insertOpenBuyHouses")
public R<?> insertOpenBuyHouses(@Validated(EditGroup.class)@RequestBody BuyHousesBo bo){ public R<?> insertOpenBuyHouses(@Validated(EditGroup.class)@RequestBody BuyHousesBo bo){
bo.setApiKey("gaoxingongyuanchengshiju"); bo.setApiKey("gaoxingongyuanchengshiju");
if (ObjectUtil.isNull(bo.getUserId())){
return R.fail("userId不可为空");
}
return iBuyHousesService.insertOpenBuyHouses(bo); return iBuyHousesService.insertOpenBuyHouses(bo);
} }
@SaIgnore @SaIgnore
@GetMapping("/excelZip") @GetMapping("/excelZip")
public void excelZip(){ public void excelZip(String id){
iBuyHousesService.excelZip(); ThreadUtil.execAsync(() -> {
iBuyHousesService.excelZip(id);
});
} }
} }

View File

@ -50,6 +50,8 @@ spring:
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # 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 # 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 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 username: gxrc
password: 45Uuq5!aADGD password: 45Uuq5!aADGD
@ -213,7 +215,3 @@ file:
template: D:\\gaoxin\\file\\ template: D:\\gaoxin\\file\\
doc: D:\\gaoxin\\doc\\ doc: D:\\gaoxin\\doc\\
mapping: /doc mapping: /doc
# domain: 192.168.0.54:8080
# path: D:\\gaoxin\\images
# prefix: /images
# size: 10

View File

@ -26,10 +26,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.PageQuery; 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.helper.DataBaseHelper;
import com.ruoyi.common.utils.AesUtil; import com.ruoyi.common.utils.AesUtil;
import com.ruoyi.common.utils.DateUtils; 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.common.utils.spring.SpringUtils;
import com.ruoyi.demo.domain.ImageDemoData; import com.ruoyi.demo.domain.ImageDemoData;
import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.*;
@ -58,6 +61,7 @@ import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.ReflectionUtils; import org.springframework.util.ReflectionUtils;
import org.springframework.util.StringUtils;
import sun.misc.BASE64Encoder; import sun.misc.BASE64Encoder;
import javax.crypto.*; import javax.crypto.*;
@ -223,7 +227,7 @@ public class DemoUnitTest {
ProcessVo processVo = new ProcessVo(); ProcessVo processVo = new ProcessVo();
processVo.setProcessKey("apply_house"); processVo.setProcessKey("apply_house");
processVo.setStep("1"); processVo.setStep("1");
BuyHouses buyHouses = buyHousesMapper.selectById("12"); BuyHouses buyHouses = buyHousesMapper.selectById("3181");
buyHouses.setUpdateTime(DateUtils.getNowDate()); buyHouses.setUpdateTime(DateUtils.getNowDate());
Map<String, Object> map = BeanUtil.beanToMap(buyHouses); Map<String, Object> map = BeanUtil.beanToMap(buyHouses);
processVo.setParams(map); processVo.setParams(map);
@ -614,14 +618,15 @@ public class DemoUnitTest {
map.put("apiKey","gaoxingongyuanchengshiju"); map.put("apiKey","gaoxingongyuanchengshiju");
String s = JSONUtil.toJsonPrettyStr(map); String s = JSONUtil.toJsonPrettyStr(map);
String doEncrypt = Sm2.doEncrypt(s, publicKey); String doEncrypt = Sm2.doEncrypt(s, publicKey);
String result2 = HttpRequest.post("http://192.168.0.54:8084/userOpenLogin") String result2 = HttpRequest.post("https://rcaj.cdhtgycs.cn/gx-api/userOpenLogin")
.header("Referer","http://192.168.0.54:8084") .header("Referer","https://rcaj.cdhtgycs.cn")
.header("path","/userOpenLogin") .header("path","/userOpenLogin")
.header("targe","weixin") .header("targe","weixin")
.header("Authorization","Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJhcHBfdXNlcjo0Mzc4OSIsInJuU3RyIjoiV05XZFFnaHpHYlRRRU5ObVpwbmhaaFp6MmtKaWtSR0MiLCJ1c2VySWQiOjQzNzg5fQ.QCsN3iIFk38dzTvXITGx2wV5c9kdPdvWZs7gjf6dFzc") .header("Authorization","Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJhcHBfdXNlcjo0Mzc4OSIsInJuU3RyIjoiV05XZFFnaHpHYlRRRU5ObVpwbmhaaFp6MmtKaWtSR0MiLCJ1c2VySWQiOjQzNzg5fQ.QCsN3iIFk38dzTvXITGx2wV5c9kdPdvWZs7gjf6dFzc")
.header("method","POST") .header("method","POST")
.body(doEncrypt,"application/json") .body(doEncrypt,"application/json")
.execute().body(); .execute().body();
System.out.println("result2 = " + result2);
} }
/** /**
@ -816,14 +821,18 @@ public class DemoUnitTest {
String substring = str.substring(str.lastIndexOf("/") + 1); String substring = str.substring(str.lastIndexOf("/") + 1);
String txt ="https://rcaj.cdhtgycs.cn/images/2023/07/01/"+substring; String txt ="https://rcaj.cdhtgycs.cn/images/2023/07/01/"+substring;
buyHousesService.excelZip(); buyHousesService.excelZip("");
System.out.println("txt = " + txt); System.out.println("txt = " + txt);
} }
@Test @Test
public void TestMessageAck() throws UnsupportedEncodingException { 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(); // Message build = MessageBuilder.withBody(msg.getBytes()).build();
// build.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT); // build.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT);
// build.getMessageProperties().setDelay(50000); // build.getMessageProperties().setDelay(50000);
@ -853,22 +862,23 @@ public class DemoUnitTest {
@Test @Test
public void paChon() throws Exception { 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 id="2023062804031";
String url ="http://162.14.100.54:9010/index.php/Api/renju/get_user_info"; String url ="http://162.14.100.54:9010/index.php/Api/renju/get_user_info";
AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, AES aes = new AES(Mode.CBC, Padding.PKCS5Padding,aesKey.getBytes(),iv.getBytes());
// 密钥可以自定义 String param=aes.encryptBase64(
"74242EAFE97F18BFAE9D2682590B6614".getBytes(), new JSONObject()
// iv加盐按照实际需求添加
"74242EAFE97F18BF".getBytes());
String param=aes.encryptBase64(new JSONObject()
.set("id_card","510503199602214056") .set("id_card","510503199602214056")
.toStringPretty()); .toStringPretty());
System.out.println("param = " + param);
MD5 md5 = SecureUtil.md5(); MD5 md5 = SecureUtil.md5();
String content=id+param+appsecret; String content=id+param+appsecret;
String sign=md5.digestHex(content); String sign=md5.digestHex(content);
System.out.println("sign = " + sign);
JSONObject jsonObject = new JSONObject() JSONObject jsonObject = new JSONObject()
.set("id",id) .set("id",id)
.set("param",param) .set("param",param)
@ -877,7 +887,7 @@ public class DemoUnitTest {
.body(jsonObject.toStringPretty()) .body(jsonObject.toStringPretty())
.execute() .execute()
.body(); .body();
System.out.println("listContent = " + listContent); System.out.println("listContent = " + listContent);*/
} }
} }

View File

@ -3,6 +3,7 @@ package com.ruoyi.common.advice;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.core.domain.RsaSecurity; 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.core.service.IRsaSecurityService2;
import com.ruoyi.common.utils.RSAUtil; import com.ruoyi.common.utils.RSAUtil;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
@ -46,6 +47,10 @@ public class DecodeRequestBodyAdvice implements RequestBodyAdvice {
@Override @Override
public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) throws IOException { public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) throws IOException {
try { try {
//判断系统是否在维护中
ConfigService sysConfigService = SpringUtils.getBean(ConfigService.class);
//系统升级提示
sysConfigService.selectConfigByConfigKey("system:maintenance:prompt");
String path = inputMessage.getHeaders().getFirst("path"); String path = inputMessage.getHeaders().getFirst("path");
String method = inputMessage.getHeaders().getFirst("method"); String method = inputMessage.getHeaders().getFirst("method");
if (ObjectUtil.isNotNull(path)) { if (ObjectUtil.isNotNull(path)) {

View File

@ -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;
}
}
}
}

View File

@ -15,4 +15,11 @@ public interface ConfigService {
*/ */
String getConfigValue(String configKey); String getConfigValue(String configKey);
/**
* 根据key获取数据
* @param configKey
* @return
*/
void selectConfigByConfigKey(String configKey);
} }

View File

@ -37,10 +37,10 @@ public class RepeatableFilter implements Filter {
&& StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE) ) { && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE) ) {
requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
} }
/* if (!isSafe((HttpServletRequest) request)) { if (!isSafe((HttpServletRequest) request)) {
((HttpServletResponse) response).setStatus(403); ((HttpServletResponse) response).setStatus(403);
return; return;
}*/ }
if (null == requestWrapper) { if (null == requestWrapper) {
chain.doFilter(request, response); chain.doFilter(request, response);
} else { } else {

View File

@ -112,12 +112,4 @@ public class AesUtil {
} }
return null; 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);
}
} }

View File

@ -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("人才认定接口请求错误");
}
}
}

View File

@ -35,13 +35,13 @@ public class TelecomSendMsg{
paramMap.put("Mobile",phones); paramMap.put("Mobile",phones);
String gbk = null; String gbk = null;
if ("register".equals(type)){ 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)){ }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)){ }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)){ }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)){ }else if ("updatePhone".equals(type)){
} }

View File

@ -140,7 +140,7 @@ public class HousesReviewEvent extends BaseEntity {
private Date passTime; private Date passTime;
@TableField(exist = false) @TableField(exist = false)
private String excelUserId; private Long excelId;
@TableField(exist = false) @TableField(exist = false)

View File

@ -125,7 +125,9 @@ public interface IBuyHousesService {
R getHistogram(String date); R getHistogram(String date);
void excelZip(); void excelZip(String id);
R push() throws ParseException; R push(String id) throws ParseException;
R logout(String id);
} }

View File

@ -18,13 +18,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; 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.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.CardsUtil; import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.MyFileUtils; import com.ruoyi.common.utils.file.MyFileUtils;
import com.ruoyi.common.utils.poi.DeleteFileUtil; import com.ruoyi.common.utils.poi.DeleteFileUtil;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
@ -91,12 +90,11 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
@Value("${file.prefix}") @Value("${file.prefix}")
private String prefix; private String prefix;
//正式地址 @Value("${file.doc}")
private final String URL = "https://gx.chengdutalent.cn:8010/candidates/getCardId"; private String doc;
//测试地址
// private final String URL = "https://mihuatang.xyz/gaoxin-api/candidates/getCardId"; @Value("${file.mapping}")
//本地地址 private String mapping;
// private final String URL = "http://127.0.0.1:8010/candidates/getCardId";
private final BuyHousesMapper baseMapper; private final BuyHousesMapper baseMapper;
@ -258,6 +256,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
if (buyHouses.size()>0){ if (buyHouses.size()>0){
throw new ServiceException("当前人才已提交申请"); throw new ServiceException("当前人才已提交申请");
} }
bo.setStep("1");
bo.setProcessStatus(Constants.WAIT); bo.setProcessStatus(Constants.WAIT);
BuyHouses add = BeanUtil.toBean(bo, BuyHouses.class); BuyHouses add = BeanUtil.toBean(bo, BuyHouses.class);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
@ -378,7 +377,6 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
List<BuyHouses> buyHouses = baseMapper.selectList( List<BuyHouses> buyHouses = baseMapper.selectList(
new LambdaQueryWrapper<BuyHouses>() new LambdaQueryWrapper<BuyHouses>()
.eq(BuyHouses::getCardId, cardId)); .eq(BuyHouses::getCardId, cardId));
if (buyHouses.size()>0){ if (buyHouses.size()>0){
BuyHouses buyHouses1 = buyHouses.get(0); BuyHouses buyHouses1 = buyHouses.get(0);
List<BuyHousesMember> buyHousesMembers = buyHousesMemberMapper.selectList(new LambdaQueryWrapper<>(BuyHousesMember.class) List<BuyHousesMember> buyHousesMembers = buyHousesMemberMapper.selectList(new LambdaQueryWrapper<>(BuyHousesMember.class)
@ -433,9 +431,9 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
hashMap.put("type",buyHousesBo.getType()); hashMap.put("type",buyHousesBo.getType());
String fileName = UUID.randomUUID().toString(); String fileName = UUID.randomUUID().toString();
String templatePath = fileUpload + "Houses_template.docx"; 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); System.out.println("word = " + word);
String file= download + prefix + "/" + fileName + ".docx"; String file= download + mapping + "/" + fileName + ".docx";
map.put("file",file); map.put("file",file);
return R.ok(map); return R.ok(map);
} }
@ -488,32 +486,25 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
buyHousesVo.setBuyHousesMemberList(buyHousesMembers); buyHousesVo.setBuyHousesMemberList(buyHousesMembers);
return R.ok(buyHousesVo); return R.ok(buyHousesVo);
} }
HashMap<String, Object> paramMap = new HashMap<>(); R rInfo = OpenUtils.getGaoXinCardInfo(buyHouses.getCardId());
paramMap.put("cardId", buyHouses.getCardId()); GaoXinCardInfo gaoXinCardInfo = JsonUtils.parseObject(JSONUtil.toJsonPrettyStr(rInfo.getData()), GaoXinCardInfo.class);
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);
BuyHouses buyHousesDto = new BuyHouses(); BuyHouses buyHousesDto = new BuyHouses();
buyHousesDto.setCardId(String.valueOf(entries.get("cardId"))); buyHousesDto.setCardId(gaoXinCardInfo.getCard_id());
String nationality = String.valueOf(entries.get("nationality")); String nationality = gaoXinCardInfo.getNationality();
if ("中国".contains(nationality)){ if ("中国".contains(nationality)){
buyHousesDto.setNationality("中国籍"); buyHousesDto.setNationality("中国籍");
}else { }else {
buyHousesDto.setNationality("外籍"); buyHousesDto.setNationality("外籍");
} }
buyHousesDto.setUserName(String.valueOf(entries.get("name"))); buyHousesDto.setUserName(gaoXinCardInfo.getName());
buyHousesDto.setPhone(String.valueOf(entries.get("phone"))); buyHousesDto.setPhone(gaoXinCardInfo.getPhone());
buyHousesDto.setCompanyName(String.valueOf(entries.get("companyName"))); buyHousesDto.setCompanyName(gaoXinCardInfo.getCompany_name());
buyHousesDto.setSex(String.valueOf(entries.get("sex"))); buyHousesDto.setSex(gaoXinCardInfo.getSex());
buyHousesDto.setEducation(String.valueOf(entries.get("education"))); buyHousesDto.setEducation(gaoXinCardInfo.getEducation());
buyHousesDto.setDistrict("1"); buyHousesDto.setDistrict("1");
buyHousesDto.setProcessStatus(Constants.SUBMIT); buyHousesDto.setProcessStatus(Constants.SUBMIT);
buyHousesDto.setType(String.valueOf(entries.get("type"))+""); buyHousesDto.setType(gaoXinCardInfo.getType());
buyHousesDto.setWorkAddress(String.valueOf(entries.get("district"))); buyHousesDto.setWorkAddress(gaoXinCardInfo.getDistrict());
buyHousesDto.setProcessKey("apply_house"); buyHousesDto.setProcessKey("apply_house");
return R.ok(buyHousesDto); return R.ok(buyHousesDto);
} }
@ -525,13 +516,30 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
*/ */
@Override @Override
public R getGaoXinCandidateInfoByCardId(String cardId) { public R getGaoXinCandidateInfoByCardId(String cardId) {
HttpResponse execute = HttpRequest.get(URL) LinkedHashMap<String, Object> 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) .form("cardId",cardId)
.timeout(5000) .timeout(5000)
.execute(); .execute();
JSONObject entries = JSONUtil.parseObj(execute.body()); JSONObject entries = JSONUtil.parseObj(execute.body());
String code = String.valueOf(entries.get("code")); String code = String.valueOf(entries.get("code"));
LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>();
if (ObjectUtil.isNull(code)){ if (ObjectUtil.isNull(code)){
return R.fail("获取人才信息失败"); return R.fail("获取人才信息失败");
}else { }else {
@ -550,7 +558,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
}else { }else {
return R.fail("暂无资格"); return R.fail("暂无资格");
} }
} }*/
} }
/** /**
@ -573,6 +581,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
subscribeExport.setProcessKey(bo.getProcessKey()); subscribeExport.setProcessKey(bo.getProcessKey());
subscribeExport.setDescription(bo.getDescription()); subscribeExport.setDescription(bo.getDescription());
subscribeExport.setUserId(userId.toString()); subscribeExport.setUserId(userId.toString());
subscribeExport.setExportStatus("0");
subscribeExportMapper.insert(subscribeExport); subscribeExportMapper.insert(subscribeExport);
bo.setExcelId(subscribeExport.getId()); bo.setExcelId(subscribeExport.getId());
SpringUtils.context().publishEvent(bo); SpringUtils.context().publishEvent(bo);
@ -703,9 +712,9 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
hashMap.put("nationality", "中国籍".equals(buyHouses.getNationality()) ? "身份证" : "护照"); hashMap.put("nationality", "中国籍".equals(buyHouses.getNationality()) ? "身份证" : "护照");
String fileName = UUID.randomUUID().toString(); String fileName = UUID.randomUUID().toString();
String templatePath = fileUpload + "inform.docx"; 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); System.out.println("word = " + word);
String file= download + prefix + "/" + fileName + ".docx"; String file= download + mapping + "/" + fileName + ".docx";
System.out.println("file = " + file); System.out.println("file = " + file);
map.put("file",file); map.put("file",file);
return R.ok(map); return R.ok(map);
@ -714,9 +723,8 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
@Override @Override
public R<?> updateBuyHouses(BuyHouses buyHouses) { public R<?> updateBuyHouses(BuyHouses buyHouses) {
BuyHouses houses = baseMapper.selectById(buyHouses.getId());
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
buyHouses.setProcessStatus(Constants.CANCEL);
int i = baseMapper.updateById(buyHouses);
//添加取消资格日志 //添加取消资格日志
AuditLog auditLog = new AuditLog(); AuditLog auditLog = new AuditLog();
auditLog.setOtherId(String.valueOf(buyHouses.getId()));//业务id auditLog.setOtherId(String.valueOf(buyHouses.getId()));//业务id
@ -731,20 +739,27 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
auditLog.setUpdateTime(new Date()); auditLog.setUpdateTime(new Date());
auditLog.setStep("3"); auditLog.setStep("3");
auditLogMapper.insert(auditLog); auditLogMapper.insert(auditLog);
buyHouses.setProcessStatus(Constants.CANCEL);
int i = baseMapper.updateById(buyHouses);
if (i>0){ if (i>0){
//todo 推送 if ("apply_house".equals(houses.getProcessKey())){
Map<String, Object> map = new HashMap<>(); //todo 推送
map.put("id",buyHouses.getId()); Map<String, Object> map = new HashMap<>();
map.put("reason",buyHouses.getReply());//原因 map.put("id",buyHouses.getId());
map.put("userName",buyHouses.getUserName()); map.put("reason",buyHouses.getReply());//原因
map.put("cardId",buyHouses.getCardId()); map.put("userName",houses.getUserName());
map.put("cancelTime", DateUtils.dateTime("yyyy-MM-dd HH:mm:ss")); map.put("cardId",houses.getCardId());
map.put("note","人才信息有误");//备注 map.put("cancelTime", DateUtils.dateTime("yyyy-MM-dd HH:mm:ss"));
map.put("status", "00N"); map.put("note",buyHouses.getReply());//备注
System.out.println("JSONUtil.toJsonPrettyStr(map) = " + JSONUtil.toJsonPrettyStr(map)); map.put("status", "00N");
// housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com//CCSRegistryCenter/rest",map,"254"); 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"); // 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.ok();
} }
return R.fail(); return R.fail();
@ -759,14 +774,15 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
public R<?> insertOpenBuyHouses(BuyHousesBo bo) { public R<?> insertOpenBuyHouses(BuyHousesBo bo) {
BuyHouses buyHouses = BeanUtil.toBean(bo, BuyHouses.class); BuyHouses buyHouses = BeanUtil.toBean(bo, BuyHouses.class);
buyHouses.setStep("1"); buyHouses.setStep("1");
buyHouses.setVersion("2");
BuyHouses buyHouses1 = baseMapper.selectOne(new LambdaQueryWrapper<>(BuyHouses.class).eq(BuyHouses::getCardId, buyHouses.getCardId())); 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("当前用户已在系统存在"); throw new ServiceException("当前用户已在系统存在");
// return R.fail("当前用户已在系统存在");
} }
if (ObjectUtil.isNull(buyHouses1)){ if (ObjectUtil.isNull(buyHouses1)){
//新增 //新增
buyHouses.setId(null);
buyHouses.setProcessStatus(Constants.WAIT); buyHouses.setProcessStatus(Constants.WAIT);
buyHouses.setProcessKey("apply_house"); buyHouses.setProcessKey("apply_house");
buyHouses.setCreateTime(new Date()); 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(); BuyHousesBo bo =new BuyHousesBo();
// bo.setId(3L); if (ObjectUtil.isNotNull(id)){
bo.setProcessStatus(Constants.SUCCEED); bo.setId(Long.valueOf(id));
}
LambdaQueryWrapper<BuyHouses> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<BuyHouses> lqw = buildQueryWrapper(bo);
List<BuyHousesVo> buyHousesVoList = baseMapper.selectVoList(lqw); List<BuyHousesVo> buyHousesVoList = baseMapper.selectVoList(lqw);
if (buyHousesVoList.size() > 0) { if (buyHousesVoList.size() > 0) {
@ -1319,6 +1336,7 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
Map<String, List<BuyHousesMember>> buyHousesMemberMap = buyHousesMemberList.stream().collect(Collectors.groupingBy(BuyHousesMember::getBuyHousesId)); Map<String, List<BuyHousesMember>> buyHousesMemberMap = buyHousesMemberList.stream().collect(Collectors.groupingBy(BuyHousesMember::getBuyHousesId));
buyHousesVoList.stream().forEach(r -> { buyHousesVoList.stream().forEach(r -> {
String dir="/usr/local/images/2023/07/01/"; String dir="/usr/local/images/2023/07/01/";
// String dir="D:\\gaoxin\\images\\";
//护照或者身份证 //护照或者身份证
if (ObjectUtil.isNotEmpty(r.getInsidepageUrl())){ if (ObjectUtil.isNotEmpty(r.getInsidepageUrl())){
String insidepageUrl = r.getInsidepageUrl(); String insidepageUrl = r.getInsidepageUrl();
@ -1444,8 +1462,8 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
*/ */
@GetMapping("/push") @GetMapping("/push")
@Override @Override
public R push() throws ParseException { public R push(String id) throws ParseException {
Map<String, Object> map = WorkUtils.getInfoToMap("buy_houses","2"); Map<String, Object> map = WorkUtils.getInfoToMap("buy_houses",id);
String virtualcode = String.valueOf(map.get("virtualcode")); String virtualcode = String.valueOf(map.get("virtualcode"));
map.put("virtualcode", virtualcode == "3" ? "010" : "009"); map.put("virtualcode", virtualcode == "3" ? "010" : "009");
String cardType = String.valueOf(map.get("cardType")); String cardType = String.valueOf(map.get("cardType"));
@ -1461,9 +1479,24 @@ public class BuyHousesServiceImpl implements IBuyHousesService {
map.put("shStatus", "4"); map.put("shStatus", "4");
map.put("buyHousesMemberList", "null"); 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://jcfw.cdzjryb.com/CCSRegistryCenter/rest",map,"253");
String s = housingConstructionBureauPushDto.openUrl("http://10.182.1.26/CCSRegistryCenter/rest", map, "253"); // String s = housingConstructionBureauPushDto.openUrl("http://10.182.1.26/CCSRegistryCenter/rest", map, "253");
return null; return null;
}
@Override
public R logout(String id) {
BuyHouses buyHouses = baseMapper.selectById(id);
Map<String, Object> 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;
} }
} }

View File

@ -426,7 +426,21 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
@Override @Override
public R subscribeExport(HousesReviewEvent bo){ public R subscribeExport(HousesReviewEvent bo){
Long userId = LoginHelper.getUserId(); 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); SpringUtils.context().publishEvent(bo);
return R.ok("预约成功"); return R.ok("预约成功");
} }
@ -512,10 +526,9 @@ public class HousesReviewServiceImpl implements IHousesReviewService {
String url =download+prefix+"/"+zip; String url =download+prefix+"/"+zip;
SubscribeExport subscribeExport = new SubscribeExport(); SubscribeExport subscribeExport = new SubscribeExport();
subscribeExport.setPath(url); subscribeExport.setPath(url);
subscribeExport.setDescription(event.getDescription()); subscribeExport.setId(event.getExcelId());
subscribeExport.setProcessKey("house_review"); subscribeExport.setExportStatus("1");
subscribeExport.setUserId(event.getExcelUserId()); subscribeExportMapper.updateById(subscribeExport);
subscribeExportMapper.insert(subscribeExport);
} }
} }
} }

View File

@ -62,6 +62,21 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
return baseMapper.selectById(configId); 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());
}
}
/** /**
* 根据键名查询参数配置信息 * 根据键名查询参数配置信息
* *

View File

@ -1,6 +1,7 @@
package com.ruoyi.work.controller; package com.ruoyi.work.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants; 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.WorkComplyUtils;
import com.ruoyi.work.utils.WorkUtils; import com.ruoyi.work.utils.WorkUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.HashMap; import java.text.DateFormat;
import java.util.List; import java.text.ParseException;
import java.util.Map; import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -42,6 +45,7 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("/work") @RequestMapping("/work")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Slf4j
public class WorkController extends BaseController { public class WorkController extends BaseController {
private final ProcessMapper processMapper; private final ProcessMapper processMapper;
private final HousingConstructionBureauPushDto housingConstructionBureauPushDto; private final HousingConstructionBureauPushDto housingConstructionBureauPushDto;
@ -115,7 +119,7 @@ public class WorkController extends BaseController {
@Log(title = "流程办理",businessType = BusinessType.OTHER) @Log(title = "流程办理",businessType = BusinessType.OTHER)
// @SaCheckPermission("work:task:batchDeleted") // @SaCheckPermission("work:task:batchDeleted")
@PostMapping("/batchDeleted") @PostMapping("/batchDeleted")
public R<?> batchDeleted(@RequestBody HisProcess hisProcess){ public R<?> batchDeleted(@RequestBody HisProcess hisProcess) throws ParseException {
if (ObjectUtil.isNull(hisProcess.getStatus())){ if (ObjectUtil.isNull(hisProcess.getStatus())){
return R.fail("状态不可为空"); return R.fail("状态不可为空");
} }
@ -141,8 +145,7 @@ public class WorkController extends BaseController {
hashMap.put("auditDepartName",deptName); hashMap.put("auditDepartName",deptName);
} }
if (s.equals(Constants.NONENTITY)){ if (s.equals(Constants.NONENTITY)){
throw new ServiceException("暂无审核"); throw new ServiceException("当前数据已被他人审核,请刷新页面!");
// return R.fail("暂无审核");
}else{ }else{
if ("apply_house".equals(hisProcess.getProcessKey())) { if ("apply_house".equals(hisProcess.getProcessKey())) {
if (Constants.SUCCEED.equals(s)) {//审核成功推送数据 if (Constants.SUCCEED.equals(s)) {//审核成功推送数据
@ -151,14 +154,22 @@ public class WorkController extends BaseController {
map.put("virtualcode", virtualcode == "3" ? "010" : "009"); map.put("virtualcode", virtualcode == "3" ? "010" : "009");
String cardType = String.valueOf(map.get("cardType")); String cardType = String.valueOf(map.get("cardType"));
map.put("cardType", "中国籍".equals(cardType) ? 1 : 4); 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("qyStatus", "4");
map.put("gyStatus", "4"); map.put("gyStatus", "4");
map.put("status", "10");
map.put("shStatus", "4"); map.put("shStatus", "4");
map.put("buyHousesMemberList", "null"); map.put("buyHousesMemberList", "null");
map.put("buyHousesLogList", "null"); map.put("buyHousesLogList", "null");
map.put("buyHousesLogList", "null"); String s1 = JSONUtil.toJsonPrettyStr(map);
// housingConstructionBureauPushDto.openUrl("https://jcfw.cdzjryb.com/CCSRegistryCenter/rest", map, "253"); log.info("map:"+s1);
housingConstructionBureauPushDto.openUrl("https://171.221.172.13:8088/CCSRegistryCenter/rest", map, "253"); 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"); hashMap.put("status", "00T");
} else if (Constants.FAILD.equals(s)) { } else if (Constants.FAILD.equals(s)) {
@ -169,7 +180,10 @@ public class WorkController extends BaseController {
} }
Object apiKey = map.get("apiKey"); Object apiKey = map.get("apiKey");
if (ObjectUtil.isNotNull(apiKey) && String.valueOf(apiKey).equals("gaoxingongyuanchengshiju")) { 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"); Object step = map1.get("step");

View File

@ -1,6 +1,7 @@
package com.ruoyi.work.dto; package com.ruoyi.work.dto;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.crypto.symmetric.AES; import cn.hutool.crypto.symmetric.AES;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
@ -98,14 +99,17 @@ public class HousingConstructionBureauPushDto {
.timeout(5000) .timeout(5000)
.body(JSONUtil.toJsonPrettyStr(httpRequestBody)) .body(JSONUtil.toJsonPrettyStr(httpRequestBody))
.execute().body(); .execute().body();
if (ObjectUtil.isNull(result2) || ObjectUtil.isEmpty(result2)){
throw new ServiceException("推送市级系统失败!原因:返回值为空");
}
JSONObject jsonObject = JSONUtil.parseObj(result2); JSONObject jsonObject = JSONUtil.parseObj(result2);
String aFalse = jsonObject.getStr("result"); String aFalse = jsonObject.getStr("result");
String aStatus = jsonObject.getStr("status"); String aStatus = jsonObject.getStr("status");
String aMessage = jsonObject.getStr("message"); String aMessage = jsonObject.getStr("message");
System.out.println("result1 = " + result2);
if ("false".equals(aFalse) || "error".equals(aStatus)){ if ("false".equals(aFalse) || "error".equals(aStatus)){
throw new ServiceException("推送市级系统失败!原因:"+aMessage); throw new ServiceException("推送市级系统失败!原因:"+aMessage);
} }
System.out.println("result2 = " + result2);
return result2; return result2;
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -113,7 +117,7 @@ public class HousingConstructionBureauPushDto {
} }
public String send3(HashMap params,String url){ public String send3(Map<String,Object> params,String url){
//基本信息数据 //基本信息数据
HttpRequestBody httpRequestBody = new HttpRequestBody(); HttpRequestBody httpRequestBody = new HttpRequestBody();
httpRequestBody.setApiKey("001"); httpRequestBody.setApiKey("001");