diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java b/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
index 0dcf44be5..37a5daa2c 100644
--- a/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
+++ b/mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
@@ -91,6 +91,21 @@ public class WxMsgController extends BaseController {
return new ResultData();
}
+ @ApiOperation("推送模板")
+ @PostMapping("pushTemp")
+ @SystemControllerLog(description = "moban tuisong")
+ public ResultData pushTemp(@RequestBody WxTemplateMsg wxTemplateMsg) {
+ logger.debug("[" + getIpAddr() + "] WxMsgController::tuisong");
+ if(wxTemplateMsg.getId() == null){
+ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
+ }
+ wxTemplateMsg.updateTenantInfo(getTenantInfo());
+// if(null == wxTemplateMsg.getOnOff()){
+// wxTemplateMsg.setOnOff(1);
+// }
+ return wxTemplateMsgService.pushTemp(wxTemplateMsg);
+ }
+
@ApiOperation("新增接口")
@PostMapping("add")
@SystemControllerLog(description = "标签短信-新增")
diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
index d5a5e8377..2cc59dbc3 100644
--- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
+++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
@@ -359,6 +359,7 @@ public enum ErrorCode{
TEMPLATE_NOT_FOUND(12090, "模板不存在"),
TEMPLATE_FORMID_NOT_FOUND(12091, "formId不存在"),
TEMPLATE_DATA_ERROR(12092, "数据格式错误"),
+ TEMPLATE_ADD_ERROR(12093, "添加模板错误"),
/**
*
diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java
index d34b89861..6e9c6e3aa 100644
--- a/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java
+++ b/mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java
@@ -7,16 +7,16 @@ public enum EnumTemplateType {
// 1-核销成功消息, 2-核销失败消息
- VERIFY_SUCCESS(1, "核销成功消息"), // 小程序
- VERIFY_FAIL(2, "核销失败消息"), // 小程序
- PRESS_SUCCESS(3, "砍价成功消息"), // 小程序
+ VERIFY_SUCCESS(1, "核销成功消息",""), // 小程序
+ VERIFY_FAIL(2, "核销失败消息",""), // 小程序
+ PRESS_SUCCESS(3, "砍价成功消息",""), // 小程序
- ACTIVITY_REMIND(4, "活动开始提醒"), // 小程序
- LIVE_REMIND(5, "直播开播提醒"), // 小程序
+ ACTIVITY_REMIND(4, "活动开始提醒","386"), // 小程序
+ LIVE_REMIND(5, "直播开播提醒","8501"), // 小程序
- AUDIT_MESSAGE(101, "公众号审核结果通知"), // 公众号
- VERIFY_RESULT(102, "公众号卡券核销通知"), // 公众号
- GIFT_MESSAGE(103, "公众号购票成功通知"), // 公众号
+ AUDIT_MESSAGE(101, "公众号审核结果通知",""), // 公众号
+ VERIFY_RESULT(102, "公众号卡券核销通知",""), // 公众号
+ GIFT_MESSAGE(103, "公众号购票成功通知",""), // 公众号
;
public static EnumTemplateType getEnum(Integer code) {
@@ -30,10 +30,12 @@ public enum EnumTemplateType {
private Integer code;
private String message;
+ private String tid;
- EnumTemplateType(Integer code, String message) {
+ EnumTemplateType(Integer code, String message, String tid) {
this.code = code;
this.message = message;
+ this.tid = tid;
}
public Integer getCode() {
@@ -43,4 +45,8 @@ public enum EnumTemplateType {
public String getMessage() {
return message;
}
+
+ public String getTid() {
+ return tid;
+ }
}
diff --git a/mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java b/mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java
index 716b983c1..e56774ec5 100644
--- a/mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java
+++ b/mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java
@@ -1,6 +1,7 @@
package com.iformall.service;
import com.github.pagehelper.PageInfo;
+import com.iformall.common.ResultData;
import com.iformall.domain.po.WxTemplateMsg;
import java.util.List;
@@ -56,12 +57,7 @@ public interface WxTemplateMsgService {
* @param id
*/
void deleteById(Long id);
-
-
-
-
-
-
-
+
+ ResultData pushTemp(WxTemplateMsg wxTemplateMsg);
}
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 aa3cf5012..c70d836e5 100644
--- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
+++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
@@ -28,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import java.text.DateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -128,6 +129,8 @@ public class WxMsgServiceImpl implements WxMsgService {
//是否立即发送
if (wxMsg.getIsright().equals(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode())) {
wxMsg.setStatus(EnumMsgStatus.MSG_STATUS_SENDED.getCode());
+ String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss");
+ wxMsg.setSendtime(systemTime);
if(wxMsg.getWay() == EnumSendWay.TAG.getCode()){
if (wxMsg.getExpectSendNumber().intValue() > 1000) {
batchSendMsg(wxMsg, wxMsgConfig, null);
diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
index 2ed7aa39c..a5e19c2a0 100644
--- a/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
+++ b/mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
@@ -1,12 +1,24 @@
package com.iformall.service.impl;
+import cn.binarywang.wx.miniapp.api.WxMaService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
+import com.iformall.common.ResultData;
+import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxTemplateMsg;
+import com.iformall.enums.EnumPayWay;
+import com.iformall.enums.EnumTemplateType;
import com.iformall.mapper.WxTemplateMsgMapper;
+import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxTemplateMsgService;
+import com.iformall.service.wechat.FmOpenService;
+import com.iformall.utils.MaUtil;
+import me.chanjar.weixin.common.error.WxErrorException;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +34,14 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
@Autowired
WxTemplateMsgMapper wxTemplateMsgMapper;
+ @Autowired
+ private boolean isFmOpen;
+ @Autowired
+ private WxAppinfoService wxAppinfoService;
+
+ @Autowired
+ private FmOpenService openService;
+
@Override
public void wxTemplateMsgInit(String tenantId) {
@@ -85,12 +105,46 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
public void deleteById(Long id) {
wxTemplateMsgMapper.deleteById(id);
}
-
-
-
-
-
-
-
-
+
+ @Override
+ public ResultData pushTemp(WxTemplateMsg wxTemplateMsg) {
+ WxTemplateMsg byId = this.getById(wxTemplateMsg.getId());
+ if(byId == null){
+ return new ResultData(ErrorCode.TEMPLATE_NOT_FOUND);
+ }
+ WxAppinfo appinfo = wxAppinfoService.getCAppInfo(wxTemplateMsg, EnumPayWay.PAY_WAY_WECHAT);
+ WxMaService wxMaService = null;
+ if(isFmOpen) {
+ wxMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appinfo.getAppId());
+ } else {
+ WxAppinfo appInfo = wxAppinfoService.getByAppId(appinfo.getAppId());
+ wxMaService = MaUtil.getWeappService(appInfo);
+ }
+ String s = "";
+ if(byId.getType() == EnumTemplateType.ACTIVITY_REMIND.getCode()){
+ try {
+ s = wxMaService.getSubscribeService().addTemplate(EnumTemplateType.ACTIVITY_REMIND.getTid(),
+ Lists.newArrayList(13, 5, 12, 1, 11), "");
+ } catch (WxErrorException e) {
+ return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);
+ }
+
+ }else if(byId.getType() == EnumTemplateType.LIVE_REMIND.getCode()){
+ try {
+ s = wxMaService.getSubscribeService().addTemplate(EnumTemplateType.LIVE_REMIND.getTid(),
+ Lists.newArrayList(1, 3, 4, 5),"");
+ } catch (WxErrorException e) {
+ return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);
+ }
+ }
+ if(StringUtils.isBlank(s)){
+ return new ResultData(ErrorCode.TEMPLATE_ADD_ERROR);
+ }
+
+ byId.setTemplateId(s);
+ this.saveOrUpdate(byId);
+ return new ResultData();
+ }
+
+
}
diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
index efe8fd6e7..7f4a97d6d 100644
--- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
+++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
@@ -22,7 +22,7 @@
- distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code
+ distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code
@@ -175,6 +175,7 @@
+