浏览代码

[短信组件][修改][修改延迟消息问题]

release_toaliyun_real
luozukai 7 年前
父节点
当前提交
8bd1a8602a
共有 7 个文件被更改,包括 42 次插入13 次删除
  1. +16
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java
  2. +3
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  3. +2
    -2
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java
  4. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java
  5. +3
    -0
      mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java
  6. +6
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java
  7. +2
    -5
      mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml

+ 16
- 4
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java 查看文件

@@ -39,16 +39,28 @@ public class WxMsgRecordController extends BaseController {
for (WxMsgRecord wxMsgRecord:recordList) { for (WxMsgRecord wxMsgRecord:recordList) {
if(EnumMsgRecordType.SMS.getCode().equals(wxMsgRecord.getMsgType())){ 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())){ }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())){ }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())){ }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(); return new ResultData();


+ 3
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java 查看文件

@@ -66,6 +66,9 @@ public class TenantInfoImpl implements TenantInfo {
if ("wx_user_channel".equals(tableName)) { if ("wx_user_channel".equals(tableName)) {
return true; return true;
} }
if ("wx_msg_record".equals(tableName)) {
return true;
}
return false; return false;
} }




+ 2
- 2
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java 查看文件

@@ -29,8 +29,8 @@ public class MqBaseConsumer {
private SendEmailServiceImpl sendEmailService; private SendEmailServiceImpl sendEmailService;
@Autowired @Autowired
private SendSmartAppMsgServiceImpl sendSmartAppMsgService; private SendSmartAppMsgServiceImpl sendSmartAppMsgService;
@Autowired
private MqBaseProducer mqBaseProducer;
// @Autowired
// private MqBaseProducer mqBaseProducer;


public void doMessage(String message) { public void doMessage(String message) {
log.info("received message: {}", message); log.info("received message: {}", message);


+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java 查看文件

@@ -9,6 +9,8 @@ import java.io.Serializable;
*/ */
public class BaseMsg implements Serializable { public class BaseMsg implements Serializable {
private static final long serialVersionUID = 923764283764823L; private static final long serialVersionUID = 923764283764823L;
//租户id
private String tenantId;


//唯一标识 //唯一标识
@Transient @Transient
@@ -35,6 +37,14 @@ public class BaseMsg implements Serializable {
private Integer delayTimeLevel = 0; private Integer delayTimeLevel = 0;




public String getTenantId() {
return tenantId;
}

public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}

public String getReceiver() { public String getReceiver() {
return receiver; return receiver;
} }


+ 3
- 0
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.service.WxMsgValidationcodeService;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import com.iformall.utils.WiwideUtil; import com.iformall.utils.WiwideUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@@ -24,6 +26,7 @@ import java.util.List;
*/ */
@Service @Service
public class SendCallBackSmsServiceImpl implements MsgSendService { public class SendCallBackSmsServiceImpl implements MsgSendService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired @Autowired
private WxMsgConfigMapper wxMsgConfigMapper; private WxMsgConfigMapper wxMsgConfigMapper;
@Autowired @Autowired


+ 6
- 2
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.common.IdWorker;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxMsgRecordService; import com.iformall.service.WxMsgRecordService;
import com.iformall.utils.JsonUtil; import com.iformall.utils.JsonUtil;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@@ -20,7 +22,7 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService {
private WxMsgRecordMapper wxMsgRecordMapper; private WxMsgRecordMapper wxMsgRecordMapper;


@Override @Override
public void save(BaseMsg data) {
public void save(BaseMsg data){
WxMsgRecord msgRecord = new WxMsgRecord(); WxMsgRecord msgRecord = new WxMsgRecord();
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();


@@ -28,11 +30,13 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService {
msgRecord = (WxMsgRecord)data; msgRecord = (WxMsgRecord)data;
} }


msgRecord.setId(idWorker.nextId());
msgRecord.setReceiver(data.getReceiver()); msgRecord.setReceiver(data.getReceiver());
msgRecord.setMsgType(data.getMsgType()); msgRecord.setMsgType(data.getMsgType());
msgRecord.setUuid(data.getUuid()); msgRecord.setUuid(data.getUuid());
msgRecord.setMsgJson(JsonUtil.obj2Json(data)); msgRecord.setMsgJson(JsonUtil.obj2Json(data));
msgRecord.setId(idWorker.nextId());
msgRecord.setMsgStatus(EnumMsgRecordStatus.DEFAULT.getCode());
msgRecord.setTenantId(data.getTenantId());
wxMsgRecordMapper.save(msgRecord); wxMsgRecordMapper.save(msgRecord);
} }




+ 2
- 5
mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml 查看文件

@@ -38,9 +38,6 @@
<if test=" null != id "> <if test=" null != id ">
and `id` = #{id} and `id` = #{id}
</if> </if>
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != receiverUserId "> <if test=" null != receiverUserId ">
and `receiver_user_id` = #{receiverUserId} and `receiver_user_id` = #{receiverUserId}
</if> </if>
@@ -72,12 +69,12 @@
</select> </select>


<insert id="save" parameterType="com.iformall.domain.po.WxMsgRecord" > <insert id="save" parameterType="com.iformall.domain.po.WxMsgRecord" >
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`, `domain`, `msg`, `send_time`, `model_id`, `model_type`,
`signature`, `sender`, `sender_user_id`, `sender_user_name`, `signature`, `sender`, `sender_user_id`, `sender_user_name`,
`receiver`, `receiver_user_id`, `receiver_user_name`, `receiver`, `receiver_user_id`, `receiver_user_name`,
`msg_status`, `status_message`, `msg_json`) `msg_status`, `status_message`, `msg_json`)
VALUES(#{id},#{uuid},#{msgType},
VALUES(#{id},#{tenantId},#{uuid},#{msgType},
#{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender}, #{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender},
#{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName}, #{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName},
#{msgStatus},#{statusMessage},#{msgJson}); #{msgStatus},#{statusMessage},#{msgJson});


正在加载...
取消
保存