diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java index 661e88f8a..c7b603df9 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java @@ -43,13 +43,14 @@ public class MsgSendingSchedule { logger.info("sendmsg定时任务启动"); String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:00:00"); WxMsg wxMsg = new WxMsg(); - wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); wxMsg.setIsright(0); wxMsg.setSendtime(systemTime); List list = wxMsgMapper.findList(wxMsg); logger.info("将要发送的短信列表:" + JSONArray.toJSONString(list)); for (WxMsg msg : list) { //sendmsg(msg); + wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); + wxMsg.setReceiver(msg.getPhones()); mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(),null); } logger.info("sendmsg定时任务结束"); 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 c19ade6cd..e253533f2 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java @@ -14,6 +14,9 @@ public class BaseMsg implements Serializable { @Transient private String uuid; + //接收人,手机号邮件地址等 + private String receiver; + //消息类型 1短信 2回调短信 3邮件 4微信小程序模板 5微信公众号模板 6系统通知 @Transient private Integer msgType; @@ -26,10 +29,19 @@ public class BaseMsg implements Serializable { @Transient private String statusMessage; - //延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h + //rocketMQ延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h @Transient private Integer delayTimeLevel = 0; + + public String getReceiver() { + return receiver; + } + + public void setReceiver(String receiver) { + this.receiver = receiver; + } + public Integer getDelayTimeLevel() { return delayTimeLevel; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java index f1bcc5786..7c1467dff 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java @@ -27,8 +27,6 @@ public class WxMsgRecord extends BaseMsg { private Long senderUserId; //发送人姓名 private String senderUserName; - //接收人,手机号邮件地址等 - private String receiver; //接收人用户id private Long receiverUserId; //接收人姓名 @@ -43,9 +41,31 @@ public class WxMsgRecord extends BaseMsg { private Date createtime; private Date updatetime; + private Integer msgStatus; + private String statusMessage; + //动态替换内容 private Map dynamicContentMap; + @Override + public Integer getMsgStatus() { + return msgStatus; + } + + @Override + public void setMsgStatus(Integer msgStatus) { + this.msgStatus = msgStatus; + } + + @Override + public String getStatusMessage() { + return statusMessage; + } + + @Override + public void setStatusMessage(String statusMessage) { + this.statusMessage = statusMessage; + } public String getMsgJson() { return msgJson; @@ -105,14 +125,6 @@ public class WxMsgRecord extends BaseMsg { this.senderUserName = senderUserName; } - public String getReceiver() { - return receiver; - } - - public void setReceiver(String receiver) { - this.receiver = receiver; - } - public Long getReceiverUserId() { return receiverUserId; } 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 68c2a38cb..eb8bad2c3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java @@ -5,6 +5,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; import com.iformall.enums.EnumMsgSendStatus; +import com.iformall.enums.EnumMsgStatus; import com.iformall.enums.EnumVerifyCode; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; @@ -111,7 +112,11 @@ public class SendCallBackSmsServiceImpl implements MsgSendService { wxMsgMapper.insertSelective(wxMsg); if (ret.equals(EnumMsgSendStatus.MSG_SEND_SUCCESS.getCode().toString())) { wxMsgService.addMsgCallback(wxMsg, batchNo); + //wx_msg改为已发送 + wxMsg.setStatus(EnumMsgStatus.MSG_STATUS_SENDED.getCode()); + wxMsgMapper.updateByPrimaryKeySelective(wxMsg); } else { + wxMsgMapper.updateByPrimaryKeySelective(wxMsg); throw new MallinkException(1001,"运营商返回失败:"+result); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 0e997c455..64b09e76b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -610,6 +610,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { smartAppMsg.setTemplateType(EnumTemplateType.VERIFY_FAIL.getCode()); smartAppMsg.setGotopage("pages/index/index"); smartAppMsg.setTo(user.getOpenId()); + smartAppMsg.setReceiver(user.getOpenId()); smartAppMsg.setFrom(payOrder.getPrepayId()); smartAppMsg.setTemplateDataList(Lists.newArrayList( new WxMaTemplateData("keyword1", coupon.getTitle(), "#173177"), 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 d5860967a..d96369369 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java @@ -28,6 +28,7 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService { msgRecord = (WxMsgRecord)data; } + msgRecord.setReceiver(data.getReceiver()); msgRecord.setMsgType(data.getMsgType()); msgRecord.setUuid(data.getUuid()); msgRecord.setMsgJson(JsonUtil.obj2Json(data)); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java index 0dd477074..34f294f17 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java @@ -110,6 +110,7 @@ public class WxMsgServiceImpl implements WxMsgService { wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setCouponInject(null); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); + wxMsg.setReceiver(wxMsg.getPhones()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),null); } return new ResultData(Result.SUCCESS, "短信已发送"); @@ -139,6 +140,7 @@ public class WxMsgServiceImpl implements WxMsgService { //sendmsg(wxMsg, wxMsgConfig, null); wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); + wxMsg.setReceiver(wxMsg.getPhones()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); } return new ResultData(Result.SUCCESS, "短信已发送"); @@ -181,6 +183,7 @@ public class WxMsgServiceImpl implements WxMsgService { wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setCouponInject(couponInject); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); + wxMsg.setReceiver(wxMsg.getPhones()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); } else { List phoneList = Arrays.asList(split).subList(i * 1000, (i + 1) * 1000); @@ -191,6 +194,7 @@ public class WxMsgServiceImpl implements WxMsgService { wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setCouponInject(couponInject); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); + wxMsg.setReceiver(wxMsg.getPhones()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); } } diff --git a/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml index ce76a0d66..3344b0e71 100644 --- a/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml @@ -9,12 +9,12 @@ - - - - - - + + + + + + @@ -67,7 +67,7 @@