Browse Source

机器人发送代码审核结果消息修改,保存代码审核记录修改

dev_shibei_match
zxc 5 years ago
parent
commit
1dc7bf8d74
  1. 25
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/DingResultDTO.java
  2. 3
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java
  3. 9
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java
  4. 33
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
  5. 15
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml

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

3
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固定格式

9
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<CodeCustomerEntity> {
* @return void
*/
void updateVersion(@Param("codeId") String codeId);
/**
* 查询客户名称 代码版本号
* @param customerId
* @param clientType
* @Author zxc
*/
DingResultDTO selectCustomerNameAndVersion(@Param("customerId") String customerId, @Param("clientType") String clientType);
}

33
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());

15
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml

@ -170,6 +170,21 @@
ORDER BY RELEASE_TIME DESC
LIMIT 1
</select>
<!-- 查询客户名称 和 代码版本号 -->
<select id="selectCustomerNameAndVersion" resultType="com.epmet.dto.result.DingResultDTO">
SELECT
user_version AS userVersion,
customer_name AS customerName
FROM
code_customer
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND client_type = #{clientType}
ORDER BY created_time DESC
LIMIT 1
</select>
<update id="updateVersion">
UPDATE code_customer
SET

Loading…
Cancel
Save