diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java index 6c2efa9c2..94998524c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java @@ -39,16 +39,28 @@ public class WxMsgRecordController extends BaseController { for (WxMsgRecord wxMsgRecord:recordList) { if(EnumMsgRecordType.SMS.getCode().equals(wxMsgRecord.getMsgType())){ //短信 - mqBaseProducer.sendMessage((WxMsgRecord) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsgRecord.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); }else if(EnumMsgRecordType.SMS_CALLBACK.getCode().equals(wxMsgRecord.getMsgType())){ //业务短信 - mqBaseProducer.sendMessage((WxMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + WxMsg wxMsg = (WxMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsg.class); + wxMsg.setMsgType(wxMsgRecord.getMsgType()); + wxMsg.setReceiver(wxMsgRecord.getReceiver()); + wxMsg.setTenantId(wxMsgRecord.getTenantId()); + mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); }else if(EnumMsgRecordType.EMAIL.getCode().equals(wxMsgRecord.getMsgType())){ //邮件 - mqBaseProducer.sendMessage((MailMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),MailMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + MailMsg wxMsg = (MailMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),MailMsg.class); + wxMsg.setMsgType(wxMsgRecord.getMsgType()); + wxMsg.setReceiver(wxMsgRecord.getReceiver()); + wxMsg.setTenantId(wxMsgRecord.getTenantId()); + mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); }else if(EnumMsgRecordType.SMART_APP.getCode().equals(wxMsgRecord.getMsgType())){ //微信小程序 - mqBaseProducer.sendMessage((SmartAppMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),SmartAppMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + SmartAppMsg wxMsg = (SmartAppMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),SmartAppMsg.class); + wxMsg.setMsgType(wxMsgRecord.getMsgType()); + wxMsg.setReceiver(wxMsgRecord.getReceiver()); + wxMsg.setTenantId(wxMsgRecord.getTenantId()); + mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); } } return new ResultData(); diff --git a/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java b/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java index 70c6571d2..1359fe8ac 100644 --- a/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java +++ b/mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java @@ -66,6 +66,9 @@ public class TenantInfoImpl implements TenantInfo { if ("wx_user_channel".equals(tableName)) { return true; } + if ("wx_msg_record".equals(tableName)) { + return true; + } return false; } diff --git a/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java b/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java index d9df4913f..ef87c0001 100644 --- a/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java +++ b/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java @@ -29,8 +29,8 @@ public class MqBaseConsumer { private SendEmailServiceImpl sendEmailService; @Autowired private SendSmartAppMsgServiceImpl sendSmartAppMsgService; - @Autowired - private MqBaseProducer mqBaseProducer; +// @Autowired +// private MqBaseProducer mqBaseProducer; public void doMessage(String message) { log.info("received message: {}", message); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java index a02a1ce79..cfef7c793 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java @@ -9,6 +9,8 @@ import java.io.Serializable; */ public class BaseMsg implements Serializable { private static final long serialVersionUID = 923764283764823L; + //租户id + private String tenantId; //唯一标识 @Transient @@ -35,6 +37,14 @@ public class BaseMsg implements Serializable { private Integer delayTimeLevel = 0; + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + public String getReceiver() { return receiver; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java index eb8bad2c3..5fd585f51 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java @@ -14,6 +14,8 @@ import com.iformall.service.WxMsgService; import com.iformall.service.WxMsgValidationcodeService; import com.iformall.utils.DateUtils; import com.iformall.utils.WiwideUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -24,6 +26,7 @@ import java.util.List; */ @Service public class SendCallBackSmsServiceImpl implements MsgSendService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private WxMsgConfigMapper wxMsgConfigMapper; @Autowired diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java index d96369369..f5a1a6d55 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java @@ -2,9 +2,11 @@ package com.iformall.service.impl; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; +import com.iformall.enums.EnumMsgRecordStatus; import com.iformall.mapper.*; import com.iformall.service.WxMsgRecordService; import com.iformall.utils.JsonUtil; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -20,7 +22,7 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService { private WxMsgRecordMapper wxMsgRecordMapper; @Override - public void save(BaseMsg data) { + public void save(BaseMsg data){ WxMsgRecord msgRecord = new WxMsgRecord(); final IdWorker idWorker = IdWorker.get(); @@ -28,11 +30,13 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService { msgRecord = (WxMsgRecord)data; } + msgRecord.setId(idWorker.nextId()); msgRecord.setReceiver(data.getReceiver()); msgRecord.setMsgType(data.getMsgType()); msgRecord.setUuid(data.getUuid()); msgRecord.setMsgJson(JsonUtil.obj2Json(data)); - msgRecord.setId(idWorker.nextId()); + msgRecord.setMsgStatus(EnumMsgRecordStatus.DEFAULT.getCode()); + msgRecord.setTenantId(data.getTenantId()); wxMsgRecordMapper.save(msgRecord); } diff --git a/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml index 3344b0e71..8cb067a8d 100644 --- a/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml @@ -38,9 +38,6 @@ and `id` = #{id} - - and `tenant_id` = #{tenantId} - and `receiver_user_id` = #{receiverUserId} @@ -72,12 +69,12 @@ - INSERT INTO wx_msg_record( id,`uuid`, `msg_type`, + INSERT INTO wx_msg_record( id,tenant_id,`uuid`, `msg_type`, `domain`, `msg`, `send_time`, `model_id`, `model_type`, `signature`, `sender`, `sender_user_id`, `sender_user_name`, `receiver`, `receiver_user_id`, `receiver_user_name`, `msg_status`, `status_message`, `msg_json`) - VALUES(#{id},#{uuid},#{msgType}, + VALUES(#{id},#{tenantId},#{uuid},#{msgType}, #{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender}, #{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName}, #{msgStatus},#{statusMessage},#{msgJson});