diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/DingResultDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/DingResultDTO.java new file mode 100644 index 0000000000..e90a581f3b --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/DingResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/8/12 9:35 上午 + */ +@Data +public class DingResultDTO implements Serializable { + + private static final long serialVersionUID = 160205553553352808L; + + /** + * 代码版本号 + */ + private String userVersion; + + /** + * 客户名称 + */ + private String customerName; +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java index de55530200..2db62d7822 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java @@ -95,6 +95,9 @@ public interface ModuleConstant { String TO_USER_NAME = "ToUserName"; String FROM_USER_NAME = "FromUserName"; String RESI = "resi"; + String SUCC_TIME = "SuccTime"; + String FAIL_TIME = "FailTime"; + String DELAY_TIME = "DelayTime"; /** * 微信模推送给第三方平台方 Content固定格式 diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java index 7ff7c5114e..e7ba21153c 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CodeCustomerDTO; import com.epmet.dto.form.UploadListFormDTO; +import com.epmet.dto.result.DingResultDTO; import com.epmet.dto.result.UploadListResultDTO; import com.epmet.dto.form.CodeAuditRecordFormDTO; import com.epmet.dto.result.TemplateAndAppIdResultDTO; @@ -144,4 +145,12 @@ public interface CodeCustomerDao extends BaseDao { * @return void */ void updateVersion(@Param("codeId") String codeId); + + /** + * 查询客户名称 和 代码版本号 + * @param customerId + * @param clientType + * @Author zxc + */ + DingResultDTO selectCustomerNameAndVersion(@Param("customerId") String customerId, @Param("clientType") String clientType); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java index 85b15f296d..351f505d31 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java @@ -17,6 +17,7 @@ import com.epmet.dto.form.CodeAuditRecordFormDTO; import com.epmet.dto.form.MessagePushTextFormDTO; import com.epmet.dto.result.AuthorizationInfoResultDTO; import com.epmet.dto.result.CustomerIdAndClientResultDTO; +import com.epmet.dto.result.DingResultDTO; import com.epmet.dto.result.TemplateAndAppIdResultDTO; import com.epmet.mpaes.AesException; import com.epmet.mpaes.WXBizMsgCrypt; @@ -143,27 +144,35 @@ public class WarrantServiceImpl implements WarrantService { codeAuditRecord.setCustomerId(customerId); codeAuditRecord.setAuthAppId(authAppId); codeAuditRecord.setTemplateId(templateId); - String customerName = paCustomerDao.selectCustomerName(customerId); String client = clientType.equals(ModuleConstant.RESI) ? "居民端" : "工作端"; - //插入 代码审核 记录 - log.info(String.format(ThirdRunTimeInfoConstant.CODE_AUDIT_RESULT, xml)); - codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord); - // 修改 code_audit_result 中的代码审核结果 - String reason = codeAuditRecord.getReason(); String codeResult = null; switch (event) { case ModuleConstant.WEAPP_AUDIT_SUCCESS: codeResult = ModuleConstant.AUDIT_SUCCESS; + Long successTime = Long.valueOf(xml.get(ModuleConstant.SUCC_TIME).toString()); + codeAuditRecord.setSuccTime(componentVerifyTicketServiceImpl.sToDate(successTime.toString())); break; case ModuleConstant.WEAPP_AUDIT_FAIL: codeResult = ModuleConstant.AUDIT_FAILED; + Long failTime = Long.valueOf(xml.get(ModuleConstant.FAIL_TIME).toString()); + codeAuditRecord.setFailTime(componentVerifyTicketServiceImpl.sToDate(failTime.toString())); break; case ModuleConstant.WEAPP_AUDIT_DELAY: codeResult = ModuleConstant.DELAY; + Long delayTime = Long.valueOf(xml.get(ModuleConstant.DELAY_TIME).toString()); + codeAuditRecord.setDelayTime(componentVerifyTicketServiceImpl.sToDate(delayTime.toString())); break; + default: + codeResult = ModuleConstant.AUDIT_FAILED; } + //插入 代码审核 记录 + log.info(String.format(ThirdRunTimeInfoConstant.CODE_AUDIT_RESULT, xml)); + codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord); + // 修改 code_audit_result 中的代码审核结果 + String reason = codeAuditRecord.getReason(); log.info("开始寻找机器人发送消息"); - this.dingDingRobot(reason,event,customerName,client); + DingResultDTO dingResultDTO = codeCustomerDao.selectCustomerNameAndVersion(customerId, clientType); + this.dingDingRobot(reason,event,dingResultDTO,client); log.info("已找到robot,并发送消息......"); String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord); codeAuditResultDao.updateAuditResult(customerId, codeCustomerId, codeResult); @@ -206,33 +215,37 @@ public class WarrantServiceImpl implements WarrantService { * @author zxc * @date 2020/8/5 4:33 下午 */ - public void dingDingRobot(String result,String event,String customerName,String clientType){ + public void dingDingRobot(String result,String event,DingResultDTO dingResultDTO,String clientType){ OapiRobotSendRequest request = new OapiRobotSendRequest(); request.setMsgtype("markdown"); OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); markdown.setTitle("代码审核结果"); + String customerName = dingResultDTO.getCustomerName(); + String userVersion = dingResultDTO.getUserVersion(); switch (event){ case ModuleConstant.WEAPP_AUDIT_SUCCESS: markdown.setText("代码审核结果: 审核成功\n"+ "> 客户名称:" + customerName +"\n\n"+ - "> 客户端:"+clientType+"\n"); + "> 客户端:"+clientType+"\n\n"+ + "> 版本号:"+userVersion); break; case ModuleConstant.WEAPP_AUDIT_FAIL: markdown.setText("代码审核结果: 审核不通过\n"+ "> 客户名称:" + customerName +"\n\n"+ "> 客户端:"+clientType+"\n\n"+ + "> 版本号:"+userVersion+"\n\n"+ "> 不通过原因:"+result); break; case ModuleConstant.WEAPP_AUDIT_DELAY: markdown.setText("代码审核结果: 审核延时\n"+ "> 客户名称:" + customerName +"\n\n"+ "> 客户端:"+clientType+"\n\n"+ + "> 版本号:"+userVersion+"\n\n"+ "> 延时原因:"+result); break; default: markdown.setText("机器人生病了......"); log.info("event为:"+event); - break; } request.setMarkdown(markdown); log.info("robot需要发送的内容为:"+markdown.getText()); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml index 366e15e889..cce9cbc767 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml @@ -170,6 +170,21 @@ ORDER BY RELEASE_TIME DESC LIMIT 1 + + + UPDATE code_customer SET