feat(REQ-2960): 优化泰州人员同步机制,增加链路信息
This commit is contained in:
parent
8a57a46d91
commit
03be21796a
5
pom.xml
5
pom.xml
@ -52,6 +52,11 @@
|
||||
<artifactId>axzo-log-api</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.framework.logging</groupId>
|
||||
<artifactId>axzo-common-trace</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.github.openfeign</groupId>
|
||||
<artifactId>feign-httpclient</artifactId>
|
||||
|
||||
@ -9,7 +9,7 @@ import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
@Slf4j
|
||||
@SpringBootApplication(scanBasePackages = "cn.axzo")
|
||||
@SpringBootApplication(scanBasePackages = {"cn.axzo", "com.axzo.framework"})
|
||||
@EnableFeignClients(basePackages = {"cn.axzo"})
|
||||
public class Application {
|
||||
public static void main(String[] args) {
|
||||
|
||||
@ -88,7 +88,10 @@
|
||||
<groupId>cn.axzo.platform</groupId>
|
||||
<artifactId>axzo-log-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.axzo.framework.logging</groupId>
|
||||
<artifactId>axzo-common-trace</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package cn.axzo.riven.third.common;
|
||||
|
||||
public class MdcLogConstant {
|
||||
/**
|
||||
* MDC 日志 KEY
|
||||
*/
|
||||
public static final String CTX_LOG_ID_MDC = "ctxLogId";
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.riven.third.job;
|
||||
|
||||
import cn.axzo.riven.third.common.MdcLogConstant;
|
||||
import cn.axzo.riven.third.entity.ThirdPerson;
|
||||
import cn.axzo.riven.third.entity.ThirdProjectPerson;
|
||||
import cn.axzo.riven.third.service.ThirdPersonService;
|
||||
@ -7,6 +8,7 @@ import cn.axzo.riven.third.service.ThirdProjectPersonService;
|
||||
import cn.axzo.riven.third.service.ThirdProjectService;
|
||||
import cn.axzo.riven.third.taizhou.entity.TaiZhouProject;
|
||||
import cn.axzo.riven.third.taizhou.service.TaiZhouService;
|
||||
import cn.azxo.framework.common.logger.JobLoggerTemplate;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.xxl.job.core.biz.model.ReturnT;
|
||||
@ -17,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -29,7 +30,6 @@ import java.util.Map;
|
||||
@Component
|
||||
public class TaiZhouProjectPersonIncJob extends IJobHandler {
|
||||
|
||||
|
||||
@Autowired
|
||||
ThirdProjectPersonService thirdProjectPersonService;
|
||||
|
||||
@ -42,9 +42,13 @@ public class TaiZhouProjectPersonIncJob extends IJobHandler {
|
||||
@Autowired
|
||||
TaiZhouService taiZhouService;
|
||||
|
||||
@Autowired
|
||||
JobLoggerTemplate jobLoggerTemplate;
|
||||
|
||||
@XxlJob("taiZhouProjectPersonIncJob")
|
||||
@Override
|
||||
public ReturnT<String> execute(String s) throws Exception {
|
||||
return jobLoggerTemplate.execute(MdcLogConstant.CTX_LOG_ID_MDC, () -> {
|
||||
|
||||
log.info("taiZhouProjectPersonJob-inc start");
|
||||
|
||||
@ -118,5 +122,6 @@ public class TaiZhouProjectPersonIncJob extends IJobHandler {
|
||||
log.info("taiZhouProjectPersonIncJob end");
|
||||
|
||||
return ReturnT.SUCCESS;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.riven.third.job;
|
||||
|
||||
import cn.axzo.riven.third.common.MdcLogConstant;
|
||||
import cn.axzo.riven.third.entity.ThirdPerson;
|
||||
import cn.axzo.riven.third.entity.ThirdProjectPerson;
|
||||
import cn.axzo.riven.third.service.ThirdPersonService;
|
||||
@ -7,6 +8,7 @@ import cn.axzo.riven.third.service.ThirdProjectPersonService;
|
||||
import cn.axzo.riven.third.service.ThirdProjectService;
|
||||
import cn.axzo.riven.third.taizhou.entity.TaiZhouProject;
|
||||
import cn.axzo.riven.third.taizhou.service.TaiZhouService;
|
||||
import cn.azxo.framework.common.logger.JobLoggerTemplate;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.xxl.job.core.biz.model.ReturnT;
|
||||
@ -40,10 +42,12 @@ public class TaiZhouProjectPersonJob extends IJobHandler {
|
||||
@Autowired
|
||||
TaiZhouService taiZhouService;
|
||||
|
||||
@Autowired
|
||||
JobLoggerTemplate jobLoggerTemplate;
|
||||
@XxlJob("taiZhouProjectPersonJob")
|
||||
@Override
|
||||
public ReturnT<String> execute(String s) throws Exception {
|
||||
|
||||
return jobLoggerTemplate.execute(MdcLogConstant.CTX_LOG_ID_MDC, () -> {
|
||||
log.info("taiZhouProjectPersonJob start");
|
||||
|
||||
//获取泰州所有的项目信息
|
||||
@ -106,5 +110,6 @@ public class TaiZhouProjectPersonJob extends IJobHandler {
|
||||
log.info("taiZhouProjectPersonJob end");
|
||||
|
||||
return ReturnT.SUCCESS;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,7 +55,6 @@ public class ThirdProjectPersonServiceImpl implements ThirdProjectPersonService
|
||||
.update();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -119,9 +119,10 @@ public class TaiZhouClient {
|
||||
RestTemplateUtils restTemplateUtils = new RestTemplateUtils(taiZhouConfig.getHttpConnectTimeout(), taiZhouConfig.getHttpReadTimeout());
|
||||
if (StringUtils.hasText(requestBody)) {
|
||||
String body = AesUtil.encryptPkcs5(requestBody, taiZhouConfig.getKey());
|
||||
log.info("请求泰州住建局body:{}", body);
|
||||
log.info("请求泰州住建局,apiFullUrl = {}, paramReq = {}, originBody = {} ,encodedBody = {}", apiFullUrl, JSON.toJSONString(paramReq), requestBody, body);
|
||||
responseEntity = restTemplateUtils.post(apiFullUrl, headers, body, String.class);
|
||||
} else {
|
||||
log.info("请求泰州住建局,apiFullUrl = {}, paramReq = {}", apiFullUrl, JSON.toJSONString(paramReq));
|
||||
responseEntity = restTemplateUtils.post(apiFullUrl, headers, String.class);
|
||||
}
|
||||
|
||||
|
||||
@ -724,6 +724,16 @@ public class TaiZhouServiceImpl implements TaiZhouService {
|
||||
}
|
||||
|
||||
private void updateThirdPerson(ThirdPerson oldThirdPerson, ThirdPerson thirdPerson) {
|
||||
if (isNotChanged(thirdPerson.getThirdPersonName(), oldThirdPerson.getThirdPersonName())
|
||||
&& isNotChanged(thirdPerson.getThirdPersonPhone(), oldThirdPerson.getThirdPersonPhone())
|
||||
&& isNotChanged(thirdPerson.getThirdPersonPhoto(), oldThirdPerson.getThirdPersonPhoto())
|
||||
&& isNotChanged(thirdPerson.getThirdAuthority(), oldThirdPerson.getThirdAuthority())
|
||||
&& isNotChanged(thirdPerson.getThirdIdNumber(), oldThirdPerson.getThirdIdNumber())
|
||||
&& isNotChanged(thirdPerson.getThirdPersonFaceUrl(), oldThirdPerson.getThirdPersonFaceUrl())
|
||||
&& isNotChanged(thirdPerson.getThirdSex(), oldThirdPerson.getThirdSex())) {
|
||||
log.info("泰州人员:{} thirdPerson 泰州侧关键信息未变更,不更新ThirdPerson表泰州侧信息", thirdPerson.getThirdPersonName());
|
||||
return;
|
||||
}
|
||||
boolean updated = thirdPersonDao.lambdaUpdate()
|
||||
.eq(ThirdPerson::getThirdCode, thirdPerson.getThirdCode())
|
||||
.eq(ThirdPerson::getThirdUniquePersonId, thirdPerson.getThirdUniquePersonId())
|
||||
@ -735,15 +745,23 @@ public class TaiZhouServiceImpl implements TaiZhouService {
|
||||
.set(!Objects.isNull(thirdPerson.getThirdPersonFaceUrl()), ThirdPerson::getThirdPersonFaceUrl, thirdPerson.getThirdPersonFaceUrl())
|
||||
.set(!Objects.isNull(thirdPerson.getThirdSex()), ThirdPerson::getThirdSex, thirdPerson.getThirdSex())
|
||||
.update();
|
||||
|
||||
// compare and log
|
||||
if (updated) {
|
||||
ThirdPerson toUpdate = BeanUtil.toBean(thirdPerson, ThirdPerson.class);
|
||||
toUpdate.setId(oldThirdPerson.getId());
|
||||
operateLogService.save(buildOperateParam(oldThirdPerson.getPersonId(), oldThirdPerson.getPersonId(), OperateLogService.OperateType.UPDATE, toUpdate,
|
||||
"泰州用户:信息变更", new JSONObject().fluentPut("oldValue", oldThirdPerson).fluentPut("newValue", toUpdate)));
|
||||
String.format("泰州用户 %s:信息变更", thirdPerson.getThirdPersonName()),
|
||||
new JSONObject().fluentPut("oldValue", oldThirdPerson).fluentPut("newValue", toUpdate)));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isNotChanged(Object oldValue, Object newValue) {
|
||||
if (newValue == null) {
|
||||
return true;
|
||||
}
|
||||
return Objects.equals(oldValue, newValue);
|
||||
}
|
||||
|
||||
private void convertPhone(ThirdPerson thirdPerson, TaiZhouProject taiZhouProject) {
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user