Преглед изворни кода

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

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


+ 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)) {
return true;
}
if ("wx_msg_record".equals(tableName)) {
return true;
}
return false;
}



+ 2
- 2
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);


+ 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 {
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;
}


+ 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.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


+ 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.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);
}



+ 2
- 5
mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml Прегледај датотеку

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

<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`,
`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});


Loading…
Откажи
Сачувај