From c2f3b856810e1514882878adb5ba9c14bdacf26a Mon Sep 17 00:00:00 2001
From: zxc <954985706@qq.com>
Date: Tue, 28 Jul 2020 18:16:33 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89=E6=96=B9?=
=?UTF-8?q?=E5=B9=B3=E5=8F=B0-=E4=BB=A3=E7=A0=81=E5=AE=A1=E6=A0=B8?=
=?UTF-8?q?=E5=9B=9E=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dto/form/MessagePushTextFormDTO.java | 27 +++++++
.../com/epmet/dao/MessagePushTextDao.java | 35 +++++++++
.../epmet/entity/MessagePushTextEntity.java | 71 +++++++++++++++++++
.../service/impl/WarrantServiceImpl.java | 23 ++++--
.../db/migration/V0.0.2_thirdUpdate.sql | 18 +++++
.../resources/mapper/CodeAuditRecordDao.xml | 2 +-
.../resources/mapper/CodeAuditResultDao.xml | 2 +-
.../main/resources/mapper/CodeCustomerDao.xml | 2 +
.../resources/mapper/MessagePushTextDao.xml | 26 +++++++
.../src/main/resources/mapper/MiniInfoDao.xml | 1 +
10 files changed, 199 insertions(+), 8 deletions(-)
create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/MessagePushTextFormDTO.java
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MessagePushTextDao.java
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/MessagePushTextEntity.java
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.2_thirdUpdate.sql
create mode 100644 epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MessagePushTextDao.xml
diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/MessagePushTextFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/MessagePushTextFormDTO.java
new file mode 100644
index 0000000000..e30ff760e5
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/MessagePushTextFormDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author zxc
+ * @CreateTime 2020/7/28 14:35
+ */
+@Data
+public class MessagePushTextFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 2156552140364818299L;
+
+ private String ToUserName;
+ private String FromUserName;
+ private Date weChatCreateTime;
+ private String MsgType;
+ private String Content;
+ private String MsgId;
+ private Integer delFlag = 0;
+ private Integer revision = 0;
+ private String createdBy = "APP_USER";
+ private String updatedBy = "APP_USER";
+}
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MessagePushTextDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MessagePushTextDao.java
new file mode 100644
index 0000000000..6c5857c303
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MessagePushTextDao.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.form.MessagePushTextFormDTO;
+import com.epmet.entity.MessagePushTextEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-07-28
+ */
+@Mapper
+public interface MessagePushTextDao extends BaseDao {
+
+ int insertMessageText(MessagePushTextFormDTO entity);
+}
\ No newline at end of file
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/MessagePushTextEntity.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/MessagePushTextEntity.java
new file mode 100644
index 0000000000..2c22ad097d
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/MessagePushTextEntity.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ *
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-07-28
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("message_push_text")
+public class MessagePushTextEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 开发者微信号
+ */
+ private String toUserName;
+
+ /**
+ * 发送方帐号(一个OpenID)
+ */
+ private String fromUserName;
+
+ /**
+ * 消息创建时间
+ */
+ private Date wechatCreateTime;
+
+ /**
+ * 消息类型,文本为text
+ */
+ private String msgType;
+
+ /**
+ * 文本消息内容
+ */
+ private String content;
+
+ /**
+ * 消息id,64位整型
+ */
+ private String msgId;
+
+}
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 c55f647789..71dbf9c3d4 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
@@ -3,11 +3,9 @@ package com.epmet.service.impl;
import com.alibaba.nacos.client.config.utils.IOUtils;
import com.epmet.constant.ModuleConstant;
import com.epmet.constant.ThirdRunTimeInfoConstant;
-import com.epmet.dao.CodeAuditRecordDao;
-import com.epmet.dao.CodeAuditResultDao;
-import com.epmet.dao.CodeCustomerDao;
-import com.epmet.dao.MiniInfoDao;
+import com.epmet.dao.*;
import com.epmet.dto.form.CodeAuditRecordFormDTO;
+import com.epmet.dto.form.MessagePushTextFormDTO;
import com.epmet.dto.result.CustomerIdAndClientResultDTO;
import com.epmet.dto.result.TemplateAndAppIdResultDTO;
import com.epmet.mpaes.AesException;
@@ -55,6 +53,10 @@ public class WarrantServiceImpl implements WarrantService {
private CodeCustomerDao codeCustomerDao;
@Autowired
private CodeAuditResultDao codeAuditResultDao;
+ @Autowired
+ private ComponentVerifyTicketServiceImpl componentVerifyTicketServiceImpl;
+ @Autowired
+ private MessagePushTextDao messagePushTextDao;
/**
* @Description 1.保存代码审核结果 2.更新代码上传结果
@@ -91,9 +93,10 @@ public class WarrantServiceImpl implements WarrantService {
Map result = WXXmlToMapUtil.multilayerXmlToMap(msg);
Map xml = (Map) result.get(ModuleConstant.XML);
if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.EVENT_LOW)) {
+ // TODO 目前来看,msgType = ‘event’ 的是代码审核结果
Long createTime = Long.valueOf(xml.get(ModuleConstant.CREATE_TIME).toString());
CodeAuditRecordFormDTO codeAuditRecord = componentVerifyTicketService.mapToEntity(xml, CodeAuditRecordFormDTO.class);
- codeAuditRecord.setWechatCreateTime(new Date(createTime));
+ codeAuditRecord.setWechatCreateTime(componentVerifyTicketServiceImpl.sToDate(createTime.toString()));
String toUserName = codeAuditRecord.getToUserName();//小程序原始ID
CustomerIdAndClientResultDTO customerIdAndClientResultDTO = miniInfoDao.selectCustomerIdAndClientByToUserName(toUserName);
String clientType = customerIdAndClientResultDTO.getClientType();
@@ -113,15 +116,23 @@ public class WarrantServiceImpl implements WarrantService {
switch (event) {
case ModuleConstant.WEAPP_AUDIT_SUCCESS:
codeResult = ModuleConstant.AUDIT_SUCCESS;
+ break;
case ModuleConstant.WEAPP_AUDIT_FAIL:
codeResult = ModuleConstant.AUDIT_FAILED;
+ break;
case ModuleConstant.WEAPP_AUDIT_DELAY:
codeResult = ModuleConstant.DELAY;
+ break;
}
String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord);
codeAuditResultDao.updateAuditResult(customerId, codeCustomerId, codeResult);
}else if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.TEXT)){
-
+ // TODO 公众号回复消息
+ MessagePushTextFormDTO messagePushTextFormDTO = componentVerifyTicketService.mapToEntity(xml, MessagePushTextFormDTO.class);
+ Object createTime = xml.get(ModuleConstant.CREATE_TIME);
+ Date date = componentVerifyTicketServiceImpl.sToDate(createTime.toString());
+ messagePushTextFormDTO.setWeChatCreateTime(date);
+ messagePushTextDao.insertMessageText(messagePushTextFormDTO);
}
return ModuleConstant.SUCCESS;
}
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.2_thirdUpdate.sql b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.2_thirdUpdate.sql
new file mode 100644
index 0000000000..94c78caf1c
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/db/migration/V0.0.2_thirdUpdate.sql
@@ -0,0 +1,18 @@
+alter table code_operation_history modify column DESCRIPTION varchar(2048) COMMENT '描述';
+
+CREATE TABLE `message_push_text` (
+ `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `TO_USER_NAME` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开发者微信号',
+ `FROM_USER_NAME` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送方帐号(一个OpenID)',
+ `WECHAT_CREATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '消息创建时间',
+ `MSG_TYPE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型,文本为text',
+ `CONTENT` varchar(3072) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文本消息内容',
+ `MSG_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息id,64位整型',
+ `DEL_FLAG` int(11) NOT NULL COMMENT '删除状态 0:正常,1:删除',
+ `REVISION` int(11) NOT NULL COMMENT '乐观锁',
+ `CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime(0) NOT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime(0) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = ' ' ROW_FORMAT = Dynamic;
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditRecordDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditRecordDao.xml
index 52fd770f9d..d088422908 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditRecordDao.xml
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditRecordDao.xml
@@ -5,7 +5,7 @@
- INSERT INTO code_audit_result ( ID, CUSTOMER_ID, TEMPLATE_ID, CLIENT_TYPE, AUTH_APP_ID, TO_USER_NAME, FROM_USER_NAME, WECHAT_CREATE_TIME,
+ INSERT INTO code_audit_record ( ID, CUSTOMER_ID, TEMPLATE_ID, CLIENT_TYPE, AUTH_APP_ID, TO_USER_NAME, FROM_USER_NAME, WECHAT_CREATE_TIME,
MSG_TYPE, EVENT, SUCC_TIME, FAIL_TIME, DELAY_TIME, REASON, SCREEN_SHOT, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME)
VALUES
(
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditResultDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditResultDao.xml
index b880a03e60..995aff00b0 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditResultDao.xml
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeAuditResultDao.xml
@@ -26,7 +26,7 @@
SET result = #{codeResult}
WHERE del_flag = '0'
AND customer_id = #{customerId}
- AND template_id = #{templateId}
+ AND code_id = #{codeCustomerId}
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 dbfe38c5e7..55885fd96a 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
@@ -67,6 +67,8 @@
del_flag = '0'
AND customer_id = #{customerId}
AND client_type = #{clientType}
+ order by created_time desc
+ LIMIT 1
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MessagePushTextDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MessagePushTextDao.xml
new file mode 100644
index 0000000000..2afb8a99e8
--- /dev/null
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MessagePushTextDao.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+ INSERT INTO message_push_text ( ID, TO_USER_NAME, FROM_USER_NAME, WECHAT_CREATE_TIME, MSG_TYPE, CONTENT, MSG_ID, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME )
+ VALUES
+ (
+ REPLACE ( UUID(), '-', '' ),
+ #{ToUserName},
+ #{FromUserName},
+ #{weChatCreateTime},
+ #{MsgType},
+ #{Content},
+ #{MsgId},
+ #{delFlag},
+ #{revision},
+ #{createdBy},
+ NOW(),
+ #{updatedBy},
+ NOW()
+ )
+
+
\ No newline at end of file
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml
index bd326a8c0c..8b210f2f94 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml
@@ -51,5 +51,6 @@
WHERE
del_flag = 0
AND user_name = #{toUserName}
+ LIMIT 1
\ No newline at end of file