| @@ -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(); | ||||
| @@ -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; | ||||
| } | } | ||||
| @@ -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); | ||||
| @@ -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; | ||||
| } | } | ||||
| @@ -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 | ||||
| @@ -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); | ||||
| } | } | ||||
| @@ -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}); | ||||