Просмотр исходного кода

[消息][新增]:公众号模板消息,小程序统一消息支持

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
988d4ba6d9
43 измененных файлов: 308 добавлений и 95 удалений
  1. +0
    -5
      mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java
  2. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java
  3. +5
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java
  4. +7
    -2
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java
  5. +1
    -4
      mallinkSchedule/src/main/java/com/iformall/controller/HomeController.java
  6. +1
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java
  7. +1
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java
  8. +3
    -1
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  9. +37
    -0
      mallinkService/src/main/java/com/iformall/domain/po/msg/AppUniformMsg.java
  10. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java
  11. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/msg/MailMsg.java
  12. +3
    -4
      mallinkService/src/main/java/com/iformall/domain/po/msg/MpAppMsg.java
  13. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/msg/SmartAppMsg.java
  14. +4
    -2
      mallinkService/src/main/java/com/iformall/domain/po/msg/WxMsg.java
  15. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/msg/WxMsgRecord.java
  16. +5
    -5
      mallinkService/src/main/java/com/iformall/domain/vo/WxWeappInfo.java
  17. +2
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumMsgRecordType.java
  18. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java
  19. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxMsgMapper.java
  20. +2
    -2
      mallinkService/src/main/java/com/iformall/mapper/WxMsgRecordMapper.java
  21. +1
    -1
      mallinkService/src/main/java/com/iformall/mq/MqBaseProducer.java
  22. +1
    -1
      mallinkService/src/main/java/com/iformall/mq/impl/RabbitMqMessageProducer.java
  23. +1
    -4
      mallinkService/src/main/java/com/iformall/mq/impl/RocketMqMessageProducer.java
  24. +2
    -2
      mallinkService/src/main/java/com/iformall/service/WxMsgRecordService.java
  25. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxMsgService.java
  26. +1
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java
  27. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java
  28. +101
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  29. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java
  30. +1
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxMallApplyServiceImpl.java
  31. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java
  32. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
  33. +2
    -2
      mallinkService/src/main/java/com/iformall/service/msg/MsgSendService.java
  34. +4
    -2
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendCallBackSmsServiceImpl.java
  35. +4
    -4
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendEmailServiceImpl.java
  36. +4
    -2
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendMpMsgServiceImpl.java
  37. +4
    -2
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java
  38. +4
    -2
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmsServiceImpl.java
  39. +72
    -0
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendWeappUniformMsgServiceImpl.java
  40. +11
    -2
      mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml
  41. +2
    -2
      mallinkService/src/main/resources/mapper/WxMsgMapper.xml
  42. +4
    -4
      mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml
  43. +1
    -3
      mallinkWebSocketServer/src/main/java/com/iformall/mq/AmqpMsgConsumer.java

+ 0
- 5
mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java Просмотреть файл

@@ -2,18 +2,13 @@ package com.iformall.controller;

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCUserTags;
import com.iformall.domain.po.WxFlowRecord;
import com.iformall.domain.po.WxMsgRecord;
import com.iformall.enums.EnumFlowRecordStatus;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.service.WxFlowService;
import com.iformall.service.WxMsgRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.flowable.engine.RuntimeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;


+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java Просмотреть файл

@@ -7,7 +7,7 @@ import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.PushLimit;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxMsg;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.domain.po.WxMsgConfig;
import com.iformall.enums.EnumMsgSend;
import com.iformall.enums.EnumMsgStatus;


+ 5
- 4
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java Просмотреть файл

@@ -2,20 +2,21 @@ package com.iformall.controller;

import com.alibaba.fastjson.JSONArray;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.po.msg.SmartAppMsg;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.enums.*;
import com.iformall.mapper.WxMsgMapper;
import com.iformall.mq.MqBaseProducer;
import com.iformall.service.MsgSendService;
import com.iformall.service.WxMsgRecordService;
import com.iformall.service.impl.SendCallBackSmsServiceImpl;
import com.iformall.service.msg.impl.SendCallBackSmsServiceImpl;
import com.iformall.utils.DateUtils;
import com.iformall.utils.JsonUtil;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;



+ 7
- 2
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java Просмотреть файл

@@ -1,9 +1,9 @@
package com.iformall.mq;

import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.*;
import com.iformall.enums.*;
import com.iformall.mapper.WxMsgRecordMapper;
import com.iformall.service.impl.*;
import com.iformall.service.msg.impl.*;
import com.iformall.utils.JsonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,6 +28,8 @@ public class MqBaseConsumer {
private SendSmartAppMsgServiceImpl sendSmartAppMsgService;
@Autowired
private SendMpMsgServiceImpl sendMpMsgService;
@Autowired
private SendWeappUniformMsgServiceImpl sendWeappUniformMsgService;
// @Autowired
// private MqBaseProducer mqBaseProducer;

@@ -53,6 +55,9 @@ public class MqBaseConsumer {
} else if(EnumMsgRecordType.PUBLIC.getCode().equals(baseMsg.getMsgType())) {
//公众号-模板消息
sendMpMsgService.send((MpAppMsg)JsonUtil.readValue(message,MpAppMsg.class));
} else if(EnumMsgRecordType.SMART_APP_UNIFORM.getCode().equals(baseMsg.getMsgType())) {
//微信小程序-统一消息
sendWeappUniformMsgService.send((AppUniformMsg)JsonUtil.readValue(message,AppUniformMsg.class));
}
baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_SUCC.getCode());
wxMsgRecordMapper.update(baseMsg);


+ 1
- 4
mallinkSchedule/src/main/java/com/iformall/controller/HomeController.java Просмотреть файл

@@ -1,18 +1,15 @@
package com.iformall.controller;

import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMsgRecord;
import com.iformall.mq.MQConfig;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.mq.MqBaseProducer;
import com.iformall.mq.impl.RabbitMqMessageProducer;
import com.iformall.mq.impl.RocketMqMessageProducer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Profile;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;



+ 1
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.schedule;

import com.alibaba.fastjson.JSONObject;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.mq.MqBaseProducer;


+ 1
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.schedule;

import com.alibaba.fastjson.JSONArray;
import com.iformall.domain.po.WxMsg;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.*;
import com.iformall.mapper.WxMsgConfigMapper;
import com.iformall.mapper.WxMsgMapper;


+ 3
- 1
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -186,8 +186,10 @@ public enum ErrorCode{
NICK_NAME_NOT_FOUND(11004, "nickName,unionId未授权"),
PHONE_NOT_FOUND(11005, "Phone未授权"),
PHONE_IS_ENCRYPTED(11006, "Phone已加密"),
TEMPLATE_SEND_FAILED(11007, "模板消息发送失败"),
TEMPLATE_SEND_FAILED(11007, "小程序模板消息发送失败"),
WE_RUN_DATA_DECODE_ERR(11008, "运动信息解密失败"),
MP_TEMPLATE_SEND_FAILED(11009, "公众号模板消息发送失败"),
UNIFORM_SEND_FAILED(11010, "小程序统一消息发送失败"),


/**


+ 37
- 0
mallinkService/src/main/java/com/iformall/domain/po/msg/AppUniformMsg.java Просмотреть файл

@@ -0,0 +1,37 @@
package com.iformall.domain.po.msg;

import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.List;

/**
* 微信公众号-模板消息
* @author Stormeye
* @date 2019/4/9 13:55
*/
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class AppUniformMsg extends BaseMsg {
private static final long serialVersionUID = 223232132183760321L;

@io.swagger.annotations.ApiModelProperty(value="小程序AppId",name="appId")
private String appId;
@io.swagger.annotations.ApiModelProperty(value="小程序openid",name="to")
private String to;
@io.swagger.annotations.ApiModelProperty(value="小程序路径",name="pagePath")
private String pagePath;
@io.swagger.annotations.ApiModelProperty(value="formId",name="formId")
private String formId;
@io.swagger.annotations.ApiModelProperty(value="模板类型",name="templateType")
private Integer templateType;
@io.swagger.annotations.ApiModelProperty(value="公众号AppId",name="mpAppId")
private String mpAppId;
@io.swagger.annotations.ApiModelProperty(value="公众号url",name="url")
private String url;
@io.swagger.annotations.ApiModelProperty(value="公众号模板主体",name="templateDataList")
private List<WxMaTemplateData> templateDataList;
}

mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java → mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java Просмотреть файл

@@ -1,4 +1,4 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import lombok.Data;


mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java → mallinkService/src/main/java/com/iformall/domain/po/msg/MailMsg.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import com.iformall.domain.po.msg.BaseMsg;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

mallinkService/src/main/java/com/iformall/domain/po/MpAppMsg.java → mallinkService/src/main/java/com/iformall/domain/po/msg/MpAppMsg.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import com.iformall.domain.po.msg.BaseMsg;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -8,7 +9,7 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import java.util.List;

/**
* 微信公众号模板消息
* 微信公众号-模板消息
* @author Stormeye
* @date 2019/4/9 13:55
*/
@@ -28,8 +29,6 @@ public class MpAppMsg extends BaseMsg {
private String miniAppId;
@io.swagger.annotations.ApiModelProperty(value="小程序路径",name="miniPagePath")
private String miniPagePath;
@io.swagger.annotations.ApiModelProperty(value="公众号AppId",name="appId")
private String emphasisKeyword;
@io.swagger.annotations.ApiModelProperty(value="公众号模板主体",name="templateDataList")
private List<WxMpTemplateData> templateDataList;
}

mallinkService/src/main/java/com/iformall/domain/po/SmartAppMsg.java → mallinkService/src/main/java/com/iformall/domain/po/msg/SmartAppMsg.java Просмотреть файл

@@ -1,6 +1,7 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import com.iformall.domain.po.msg.BaseMsg;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

mallinkService/src/main/java/com/iformall/domain/po/WxMsg.java → mallinkService/src/main/java/com/iformall/domain/po/msg/WxMsg.java Просмотреть файл

@@ -1,5 +1,8 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import com.iformall.domain.po.WxCouponInject;
import com.iformall.domain.po.WxMsgConfig;
import com.iformall.domain.po.WxTags;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -7,7 +10,6 @@ import lombok.ToString;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java → mallinkService/src/main/java/com/iformall/domain/po/msg/WxMsgRecord.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po;
package com.iformall.domain.po.msg;

import com.iformall.domain.po.msg.BaseMsg;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

+ 5
- 5
mallinkService/src/main/java/com/iformall/domain/vo/WxWeappInfo.java Просмотреть файл

@@ -10,11 +10,11 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class WxWeappInfo extends WxAuthorizerInfo {
/**小程序类型(1-B端 2-C端)*/
@io.swagger.annotations.ApiModelProperty(value="小程序类型(1-B端 2-C端)",name="type")

@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
private String tenantId;
@io.swagger.annotations.ApiModelProperty(value="小程序类型(1-B端 2-C端 3-服务号 4-订阅号)",name="type")
private Integer type;
/**小程序名称*/
@io.swagger.annotations.ApiModelProperty(value="小程序名称",name="name")
private String name;

@@ -22,7 +22,6 @@ public class WxWeappInfo extends WxAuthorizerInfo {
{
Id_ASC("ai.`id` ASC"),Id_DESC("ai.`id` DESC")
,AuthorizerAppid_ASC("ai.`authorizer_appid` ASC"),AuthorizerAppid_DESC("ai.`authorizer_appid` DESC")

,HeadImg_ASC("ai.`head_img` ASC"),HeadImg_DESC("ai.`head_img` DESC")
,Alias_ASC("ai.`alias` ASC"),Alias_DESC("ai.`alias` DESC")
,QrcodeUrl_ASC("ai.`qrcode_url` ASC"),QrcodeUrl_DESC("ai.`qrcode_url` DESC")
@@ -44,6 +43,7 @@ public class WxWeappInfo extends WxAuthorizerInfo {
,OpenAppid_ASC("ai.`open_appid` ASC"),OpenAppid_DESC("ai.`open_appid` DESC")
,BindOpenTime_ASC("ai.`bind_open_time` ASC"),BindOpenTime_DESC("ai.`bind_open_time` DESC")
,Name_ASC("a.`name` ASC"),Name_DESC("a.`name` DESC")
,TenantID_ASC("a.`tenant_id` ASC"),TenantID_DESC("a.`tenant_id` DESC")
,Type_ASC("a.`type` ASC"),Type_DESC("a.`type` DESC")
;
private String value;


+ 2
- 1
mallinkService/src/main/java/com/iformall/enums/EnumMsgRecordType.java Просмотреть файл

@@ -10,7 +10,8 @@ public enum EnumMsgRecordType {
SMART_APP(4, "小程序"),
PUBLIC(5, "公众号"),
SYSTEM(6, "系统通知"),
WEBSOCKET_APP(7, "小程序websocket"),
SMART_APP_UNIFORM(7, "小程序统一消息"),
WEBSOCKET_APP(8, "小程序websocket"),
;

public static EnumMsgRecordType getEnum(Integer code) {


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxAuthorizerInfoMapper.java Просмотреть файл

@@ -17,6 +17,8 @@ public interface WxAuthorizerInfoMapper extends CommonMapper<WxAuthorizerInfo, L

WxWeappInfo findVo(WxWeappInfo wxWeappInfo);

WxWeappInfo findMp(WxWeappInfo wxWeappInfo);

int updateReleaseInfo(WxAuthorizerInfo wxAuthorizerInfo);

int updateRefreshToken(WxAuthorizerInfo wxAuthorizerInfo);


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxMsgMapper.java Просмотреть файл

@@ -2,7 +2,7 @@ package com.iformall.mapper;

import java.util.*;
import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxMsg;
import com.iformall.domain.po.msg.WxMsg;

public interface WxMsgMapper extends CommonMapper<WxMsg, String> {



+ 2
- 2
mallinkService/src/main/java/com/iformall/mapper/WxMsgRecordMapper.java Просмотреть файл

@@ -1,8 +1,8 @@
package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.WxMsgRecord;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.WxMsgRecord;

import java.util.List;



+ 1
- 1
mallinkService/src/main/java/com/iformall/mq/MqBaseProducer.java Просмотреть файл

@@ -1,6 +1,6 @@
package com.iformall.mq;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.msg.BaseMsg;

public interface MqBaseProducer {



+ 1
- 1
mallinkService/src/main/java/com/iformall/mq/impl/RabbitMqMessageProducer.java Просмотреть файл

@@ -1,6 +1,6 @@
package com.iformall.mq.impl;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.WxMsgRecordMapper;
import com.iformall.mq.MQConfig;


+ 1
- 4
mallinkService/src/main/java/com/iformall/mq/impl/RocketMqMessageProducer.java Просмотреть файл

@@ -1,15 +1,12 @@
package com.iformall.mq.impl;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.WxMsg;
import com.iformall.domain.po.WxMsgRecord;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.WxMsgRecordMapper;
import com.iformall.mq.MQConfig;
import com.iformall.mq.MqBaseProducer;
import com.iformall.service.WxMsgRecordService;
import com.iformall.utils.JsonUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendCallback;
import org.apache.rocketmq.client.producer.SendResult;


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/WxMsgRecordService.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.service;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.WxMsgRecord;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.WxMsgRecord;
import java.util.List;

public interface WxMsgRecordService {


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxMsgService.java Просмотреть файл

@@ -3,7 +3,7 @@ package com.iformall.service;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCouponInject;
import com.iformall.domain.po.WxMsg;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.domain.po.WxMsgConfig;

public interface WxMsgService {


+ 1
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.vo.WxBillAll;
import com.iformall.domain.vo.WxBillAllVo;
import com.iformall.enums.*;
@@ -13,26 +14,17 @@ import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.mq.MqBaseProducer;
import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;



+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxCouponInjectMapper;


+ 101
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -3,9 +3,7 @@ package com.iformall.service.impl;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -16,6 +14,9 @@ import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxSharingOrderDto;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.AppUniformMsg;
import com.iformall.domain.po.msg.MpAppMsg;
import com.iformall.domain.po.msg.SmartAppMsg;
import com.iformall.domain.vo.*;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
@@ -24,8 +25,7 @@ import com.iformall.mq.MqBaseProducer;
import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;
import com.iformall.utils.MaUtil;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
@@ -106,6 +106,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Autowired
MqBaseProducer mqBaseProducer;

@Autowired
WxAuthorizerInfoMapper authorizerInfoMapper;

@Override
public PageInfo<WxCouponOrder> listAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findList(record));
@@ -590,15 +593,97 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
couponDetail = "满" + coupon.getUsePriceStr() + "减" + coupon.getPriceStr();
}

SmartAppMsg smartAppMsg;
boolean bUsed = false;
String gotopage = "pages/index/index";
String notes = "";
if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()) {
String gotopage = "pages/index/index";
String notes = "";
if (hadSentCoupon) {
gotopage = "pages/couponorder/index/index";
notes = "您有新的券";
}
bUsed = true;
}

// 7. 公众号消息
if(StringUtils.isNotBlank(user.getMpAppId()) && StringUtils.isNotBlank(user.getMpOpenId())) {
/**
* 卡券核销通知
* {{first.DATA}}
* 卡券类型:{{keyword1.DATA}}
* 卡券号码:{{keyword2.DATA}}
* 核销时间:{{keyword3.DATA}}
* {{remark.DATA}}
*/
MpAppMsg mpAppMsg = new MpAppMsg();
mpAppMsg.setMsgType(EnumMsgRecordType.PUBLIC.getCode());
mpAppMsg.setAppId(user.getMpAppId());
mpAppMsg.setTo(user.getMpOpenId());
mpAppMsg.setMiniAppId(user.getAppId());
mpAppMsg.setMiniPagePath(gotopage);
mpAppMsg.setTenantId(couponOrder.getTenantId());
mpAppMsg.setTemplateType(EnumTemplateType.VERIFY_RESULT.getCode());
mpAppMsg.setTemplateDataList(Lists.newArrayList(
new WxMpTemplateData("first", "商家"+merchant.getName()+"的券被核销", "#173177"),
new WxMpTemplateData("keyword1", EnumCouponType.getEnum(coupon.getType()).getMessage(), "#173177"),
new WxMpTemplateData("keyword2", couponOrder.getId().toString(), "#173177"),
new WxMpTemplateData("keyword3", dateFormat.format(new Date()), "#173177"),
new WxMpTemplateData("remark", "更多优惠等您来!", "#173177")
));

try {
mqBaseProducer.sendMessage(mpAppMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} catch (Exception e) {
logger.error("核销-公众号-模板消息发送失败: " + e.getMessage());
throw new MallinkException(ErrorCode.MP_TEMPLATE_SEND_FAILED);
}
return;
} else {
// 8. 微信小程序-统一消息
// 获取小程序关联的服务号
WxWeappInfo weappInfoQ = new WxWeappInfo();
weappInfoQ.setAuthorizerAppid(user.getAppId());
weappInfoQ.setTenantId(user.getTenantId());
WxWeappInfo weappInfo = authorizerInfoMapper.findMp(weappInfoQ);
if(weappInfo != null) {
AppUniformMsg appUniformMsg = new AppUniformMsg();
appUniformMsg.setMsgType(EnumMsgRecordType.SMART_APP_UNIFORM.getCode());
appUniformMsg.setAppId(user.getAppId());
appUniformMsg.setTo(user.getOpenId());
appUniformMsg.setTemplateType(EnumTemplateType.VERIFY_RESULT.getCode());
appUniformMsg.setPagePath(gotopage);
appUniformMsg.setUrl("http://iformall.com");
appUniformMsg.setMpAppId(weappInfo.getAuthorizerAppid());
appUniformMsg.setTemplateDataList(Lists.newArrayList(
new WxMaTemplateData("first", "商家"+merchant.getName()+"的券被核销", "#173177"),
new WxMaTemplateData("keyword1", EnumCouponType.getEnum(coupon.getType()).getMessage(), "#173177"),
new WxMaTemplateData("keyword2", couponOrder.getId().toString(), "#173177"),
new WxMaTemplateData("keyword3", dateFormat.format(new Date()), "#173177"),
new WxMaTemplateData("remark", "更多优惠等您来!", "#173177")
));
try {
mqBaseProducer.sendMessage(appUniformMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} catch (Exception e) {
logger.error("核销-公众号-模板消息发送失败: " + e.getMessage());
throw new MallinkException(ErrorCode.UNIFORM_SEND_FAILED);
}
return;
}
}

// 9. 微信小程序-模板消息
SmartAppMsg smartAppMsg;
if (bUsed) {
//mq发送小程序消息 - 核销成功消息
/**
* 核销成功消息
* 核销金额 {{keyword1.DATA}}
* 商家名称 {{keyword2.DATA}}
* 商品 {{keyword3.DATA}}
* 商品描述 {{keyword4.DATA}}
* 订单金额 {{keyword5.DATA}}
* 核销时间 {{keyword6.DATA}}
* 温馨提示 {{keyword7.DATA}}
*/
smartAppMsg = new SmartAppMsg();
smartAppMsg.setMsgType(EnumMsgRecordType.SMART_APP.getCode());
smartAppMsg.setAppId(user.getAppId());
@@ -617,13 +702,20 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
new WxMaTemplateData("keyword7", notes, "#173177")));
smartAppMsg.setEmphasisKeyword("keyword1.DATA");
} else {
//mq发送小程序消息 - 核销失败消息
// mq发送小程序消息 - 核销失败消息
/**
* 核销失败消息
* 商品名称 {{keyword1.DATA}}
* 核销时间 {{keyword2.DATA}}
* 失败原因 {{keyword3.DATA}}
* 备注 {{keyword4.DATA}}
*/
smartAppMsg = new SmartAppMsg();
smartAppMsg.setMsgType(EnumMsgRecordType.SMART_APP.getCode());
smartAppMsg.setAppId(user.getAppId());
smartAppMsg.setTenantId(couponOrder.getTenantId());
smartAppMsg.setTemplateType(EnumTemplateType.VERIFY_FAIL.getCode());
smartAppMsg.setGotopage("pages/index/index");
smartAppMsg.setGotopage(gotopage);
smartAppMsg.setTo(user.getOpenId());
smartAppMsg.setReceiver(user.getOpenId());
smartAppMsg.setFormId(formId);


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Просмотреть файл

@@ -10,6 +10,8 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
@@ -36,8 +38,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.*;

/**
* @author luozukai


+ 1
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxMallApplyServiceImpl.java Просмотреть файл

@@ -1,6 +1,5 @@
package com.iformall.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
@@ -8,6 +7,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.enums.*;
import com.iformall.mapper.WxMallApplyMapper;
import com.iformall.mapper.WxMsgConfigMapper;
@@ -15,7 +15,6 @@ import com.iformall.mapper.WxMsgValidationcodeMapper;
import com.iformall.mapper.WxMsgValidationcodeModelMapper;
import com.iformall.mq.MqBaseProducer;
import com.iformall.service.WxMallApplyService;
import com.iformall.utils.*;
import org.apache.commons.collections.map.HashedMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.service.impl;

import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.*;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.*;
import com.iformall.service.WxMsgRecordService;


+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.mq.MqBaseProducer;


mallinkService/src/main/java/com/iformall/service/MsgSendService.java → mallinkService/src/main/java/com/iformall/service/msg/MsgSendService.java Просмотреть файл

@@ -1,6 +1,6 @@
package com.iformall.service;
package com.iformall.service.msg;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.msg.BaseMsg;

/**
* 发送消息

mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java → mallinkService/src/main/java/com/iformall/service/msg/impl/SendCallBackSmsServiceImpl.java Просмотреть файл

@@ -1,15 +1,17 @@
package com.iformall.service.impl;
package com.iformall.service.msg.impl;

import com.alibaba.fastjson.JSONObject;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.WxMsg;
import com.iformall.enums.EnumMsgSendStatus;
import com.iformall.enums.EnumMsgStatus;
import com.iformall.enums.EnumVerifyCode;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.MsgSendService;
import com.iformall.service.msg.MsgSendService;
import com.iformall.service.WxMsgService;
import com.iformall.service.WxMsgValidationcodeService;
import com.iformall.utils.DateUtils;

mallinkService/src/main/java/com/iformall/service/impl/SendEmailServiceImpl.java → mallinkService/src/main/java/com/iformall/service/msg/impl/SendEmailServiceImpl.java Просмотреть файл

@@ -1,10 +1,10 @@
package com.iformall.service.impl;
package com.iformall.service.msg.impl;

import com.iformall.domain.po.BaseMsg;
import com.iformall.domain.po.MailMsg;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.po.WxMsgModel;
import com.iformall.mapper.WxMsgModelMapper;
import com.iformall.service.MsgSendService;
import com.iformall.service.msg.MsgSendService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

mallinkService/src/main/java/com/iformall/service/impl/SendMpMsgServiceImpl.java → mallinkService/src/main/java/com/iformall/service/msg/impl/SendMpMsgServiceImpl.java Просмотреть файл

@@ -1,10 +1,12 @@
package com.iformall.service.impl;
package com.iformall.service.msg.impl;

import com.iformall.common.ErrorCode;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.MpAppMsg;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxTemplateMsgMapper;
import com.iformall.service.MsgSendService;
import com.iformall.service.msg.MsgSendService;
import com.iformall.service.wechat.FmOpenService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;

mallinkService/src/main/java/com/iformall/service/impl/SendSmartAppMsgServiceImpl.java → mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java Просмотреть файл

@@ -1,12 +1,14 @@
package com.iformall.service.impl;
package com.iformall.service.msg.impl;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import com.iformall.common.ErrorCode;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.SmartAppMsg;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxTemplateMsgMapper;
import com.iformall.service.MsgSendService;
import com.iformall.service.msg.MsgSendService;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.wechat.FmOpenService;
import com.iformall.utils.MaUtil;

mallinkService/src/main/java/com/iformall/service/impl/SendSmsServiceImpl.java → mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmsServiceImpl.java Просмотреть файл

@@ -1,15 +1,17 @@
package com.iformall.service.impl;
package com.iformall.service.msg.impl;

import com.alibaba.fastjson.JSONObject;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.enums.EnumVerifyCode;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxMsgConfigMapper;
import com.iformall.mapper.WxMsgValidationcodeMapper;
import com.iformall.mapper.WxMsgValidationcodeModelMapper;
import com.iformall.service.MsgSendService;
import com.iformall.service.msg.MsgSendService;
import com.iformall.service.WxMsgValidationcodeService;
import com.iformall.utils.WiwideUtil;
import org.apache.commons.collections.CollectionUtils;

+ 72
- 0
mallinkService/src/main/java/com/iformall/service/msg/impl/SendWeappUniformMsgServiceImpl.java Просмотреть файл

@@ -0,0 +1,72 @@
package com.iformall.service.msg.impl;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage;
import com.iformall.common.ErrorCode;
import com.iformall.domain.po.msg.AppUniformMsg;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.MpAppMsg;
import com.iformall.domain.po.WxTemplateMsg;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxTemplateMsgMapper;
import com.iformall.service.msg.MsgSendService;
import com.iformall.service.wechat.FmOpenService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 发送微信小程序-统一消息
* @author Stormeye
* @date 2019/4/9 13:51
*/
@Service
public class SendWeappUniformMsgServiceImpl implements MsgSendService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private WxTemplateMsgMapper wxTemplateMsgMapper;

@Autowired
private FmOpenService openService;

@Override
public void send(BaseMsg baseMsg) throws Exception{
AppUniformMsg appUniformMsg = (AppUniformMsg)baseMsg;
WxTemplateMsg msg = null;

WxMaService wxMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appUniformMsg.getAppId());

// 查询信息模板
WxTemplateMsg msgQ = new WxTemplateMsg();
msgQ.setTenantId(appUniformMsg.getTenantId());
msgQ.setType(appUniformMsg.getTemplateType());
try {
msg = wxTemplateMsgMapper.selectOne(msgQ);
} catch (Exception e) {
logger.error("公众号消息模板错误: " + e.getMessage());
}
if (msg == null) {
logger.error("找不到模板Id");
throw new MallinkException(ErrorCode.TEMPLATE_NOT_FOUND);
}

WxMaUniformMessage.MiniProgram miniprogram = new WxMaUniformMessage.MiniProgram();
miniprogram.setAppid(appUniformMsg.getAppId());
miniprogram.setPagePath(appUniformMsg.getPagePath());
miniprogram.setUsePath(true);

WxMaUniformMessage uniformMessage = WxMaUniformMessage.builder()
.toUser(appUniformMsg.getTo())
.appid(appUniformMsg.getMpAppId())
.templateId(msg.getTemplateId())
.url(appUniformMsg.getUrl())
.miniProgram(miniprogram)
.formId(appUniformMsg.getFormId())
.data(appUniformMsg.getTemplateDataList())
.build();
wxMaService.getMsgService().sendUniformMsg(uniformMessage);
}
}

+ 11
- 2
mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml Просмотреть файл

@@ -254,7 +254,7 @@
where ai.`authorizer_appid` = #{authorizerAppid}
</select>

<select id="findWeappList" resultMap="BaseResultMap">
<select id="findWeappList" resultMap="VBaseResultMap">
select
<include refid="allVColumns"/>
from wx_authorizer_info ai
@@ -262,7 +262,7 @@
where a.type = 1 or a.type = 2
</select>

<select id="findWxMpList" resultMap="BaseResultMap">
<select id="findWxMpList" resultMap="VBaseResultMap">
select
<include refid="allVColumns"/>
from wx_authorizer_info ai
@@ -270,5 +270,14 @@
where a.type = 3 or a.type = 4
</select>

<select id="findMp" parameterType="com.iformall.domain.vo.WxWeappInfo" resultMap="VBaseResultMap">
select
<include refid="allVColumns"/>
from wx_authorizer_info ai
left join wx_appinfo a on a.app_id = ai.authorizer_appid
where ai.open_appid = (select open_appid from wx_authorizer_info where authorizer_appid = #{authorizerAppid})
and a.`type` = 3 and a.`tenant_id` = #{tenantId}
</select>


</mapper>

+ 2
- 2
mallinkService/src/main/resources/mapper/WxMsgMapper.xml Просмотреть файл

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxMsgMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxMsg">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.msg.WxMsg">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
<result column="model_id" jdbcType="BIGINT" property="modelId" />
@@ -125,7 +125,7 @@
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</sql>
<select id="findList" parameterType="com.iformall.domain.po.WxMsg" resultMap="BaseResultMap">
<select id="findList" parameterType="com.iformall.domain.po.msg.WxMsg" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_msg
<include refid="dynamicWhereConditions" />
</select>


+ 4
- 4
mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml Просмотреть файл

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxMsgRecordMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxMsgRecord">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.msg.WxMsgRecord">
<id column="id" property="id" />
<result column="tenant_id" property="tenantId" />
<result column="domain" property="domain" />
@@ -54,7 +54,7 @@
order by createtime desc
</sql>

<update id="update" parameterType="com.iformall.domain.po.BaseMsg">
<update id="update" parameterType="com.iformall.domain.po.msg.BaseMsg">
update wx_msg_record set updatetime = now()
<if test=" null != msgStatus ">,msg_status = #{msgStatus}</if>
<if test=" null != statusMessage ">,status_message = #{statusMessage}</if>
@@ -63,12 +63,12 @@
</where>
</update>

<select id="findList" parameterType="com.iformall.domain.po.WxMsgRecord" resultMap="BaseResultMap">
<select id="findList" parameterType="com.iformall.domain.po.msg.WxMsgRecord" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_msg_record
<include refid="dynamicWhereConditions" />
</select>

<insert id="save" parameterType="com.iformall.domain.po.WxMsgRecord" >
<insert id="save" parameterType="com.iformall.domain.po.msg.WxMsgRecord" >
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`,


+ 1
- 3
mallinkWebSocketServer/src/main/java/com/iformall/mq/AmqpMsgConsumer.java Просмотреть файл

@@ -1,12 +1,10 @@
package com.iformall.mq;

import com.alibaba.fastjson.JSON;
import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.enums.EnumMsgRecordDomain;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.WxMsgRecordMapper;
import com.iformall.service.UserService;
import com.iformall.util.Constance;
import com.iformall.utils.JsonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


Загрузка…
Отмена
Сохранить