Browse Source

Merge branch 'dev' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_heart

dev_shibei_match
wangchao 5 years ago
parent
commit
25e9db4267
  1. 25
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/DingResultDTO.java
  2. 2
      epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
  3. 2
      epmet-module/epmet-third/epmet-third-server/pom.xml
  4. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java
  5. 9
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java
  6. 49
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
  7. 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;
}

2
epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-third-server:
container_name: epmet-third-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.121
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.122
ports:
- "8110:8110"
network_mode: host # 使用现有网络

2
epmet-module/epmet-third/epmet-third-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.121</version>
<version>0.0.122</version>
<parent>
<groupId>com.epmet</groupId>

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java

@ -95,6 +95,10 @@ 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";
String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 微信模推送给第三方平台方 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);
}

49
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java

@ -7,6 +7,7 @@ import com.dingtalk.api.request.OapiRobotSendRequest;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ModuleConstant;
@ -17,6 +18,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 +145,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,codeAuditRecord);
log.info("已找到robot,并发送消息......");
String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord);
codeAuditResultDao.updateAuditResult(customerId, codeCustomerId, codeResult);
@ -201,38 +211,57 @@ public class WarrantServiceImpl implements WarrantService {
}
}
/*public static void main(String[] args) {
WarrantServiceImpl w = new WarrantServiceImpl();
DingResultDTO ding = new DingResultDTO();
ding.setUserVersion("1.1.1");
ding.setCustomerName("阿里巴巴");
CodeAuditRecordFormDTO dto = new CodeAuditRecordFormDTO();
String format = DateUtils.format(new Date(),ModuleConstant.DATE_FORMAT);
System.out.println(format);
dto.setFailTime(new Date());
w.dingDingRobot("再次失败","weapp_audit_fail",ding,"支付宝",dto);
}*/
/**
* @Description 钉钉机器人报警
* @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,CodeAuditRecordFormDTO codeAuditRecord){
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"+
"> 审核成功时间:"+DateUtils.format(codeAuditRecord.getSuccTime(),ModuleConstant.DATE_FORMAT)+"\n\n"+
"> 版本号:"+userVersion);
break;
case ModuleConstant.WEAPP_AUDIT_FAIL:
markdown.setText("代码审核结果: 审核不通过\n"+
"> 客户名称:" + customerName +"\n\n"+
"> 客户端:"+clientType+"\n\n"+
"> 审核失败时间:"+DateUtils.format(codeAuditRecord.getFailTime(),ModuleConstant.DATE_FORMAT)+"\n\n"+
"> 版本号:"+userVersion+"\n\n"+
"> 不通过原因:"+result);
break;
case ModuleConstant.WEAPP_AUDIT_DELAY:
markdown.setText("代码审核结果: 审核延时\n"+
"> 客户名称:" + customerName +"\n\n"+
"> 客户端:"+clientType+"\n\n"+
"> 审核延时时间:"+DateUtils.format(codeAuditRecord.getDelayTime(),ModuleConstant.DATE_FORMAT)+"\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