From 71580395e958879e49a8449c54c584f7c0b1fc7f Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sun, 17 Jan 2021 11:35:15 +0800 Subject: [PATCH] 消息提醒 --- zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java | 15 +++++ zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java | 1 zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java | 20 +++--- zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java | 10 +++ zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java | 106 +++++++++++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 11 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java index cb1407a..b6ea111 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java @@ -1,5 +1,6 @@ package com.matrix.system.hive.action; +import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; @@ -24,7 +25,10 @@ import com.matrix.system.hive.pojo.ShoppingCarItem; import com.matrix.system.hive.pojo.ShoppingCarItemsVo; import com.matrix.system.hive.service.*; +import com.matrix.system.shopXcx.mqTask.MQTaskRouting; +import com.matrix.system.wechart.templateMsg.UniformMsgParam; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; @@ -84,6 +88,10 @@ @Autowired private SysOrderFlowService sysOrderFlowService; + @Autowired + RabiitMqTemplate rabiitMqTemplate; + @Value("${evn}") + private String evn; /** * 计算订单金额 @@ -121,6 +129,13 @@ //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新 sysOrder = orderService.checkAndSaveOrder(sysOrder); orderService.updateReceiptMoney(sysOrder); + + //发送微信公众号提醒 + UniformMsgParam uniformMsgParam=new UniformMsgParam(user.getCompanyId(),UniformMsgParam.GZH_GMCG); + uniformMsgParam.put("orderId",sysOrder.getId()); + rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); + + //处理用户购买的产品 return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单结算成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java index 73cdcf9..47a0a16 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java @@ -495,6 +495,7 @@ if (balanceverifyResult.isError()) { return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg()); } + sysProjServices.setState(Dictionary.SERVICE_STATU_YYCG); SysProjServices newSysProjServices = sysProjServicesService.addSysProjServices(sysProjServices); if (newSysProjServices != null) { return AjaxResult.buildSuccessInstance(Arrays.asList(newSysProjServices)); diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java index e650788..fcf4476 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java @@ -5,6 +5,7 @@ import com.matrix.biz.service.BizUserService; import com.matrix.component.rabbitmq.MqTask; import com.matrix.core.tools.LogUtil; +import com.matrix.core.tools.StringUtils; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.SysShopInfo; import com.matrix.system.hive.bean.SysVipInfo; @@ -45,12 +46,21 @@ SysVipInfo vip = vipDap.selectByPhone(userInfo.getPhoneNumber()); if (vip != null) { LogUtil.warn("会员{}已经存在", userInfo.getPhoneNumber()); + //更新信息 + vip.setOpenId(userInfo.getOpenId()); + if(StringUtils.isBlank(vip.getPhoto())){ + vip.setPhoto(userInfo.getAvatarUrl()); + } + vipDap.update(vip); } else { SysVipInfo vipInfo = new SysVipInfo(); //在备注记下微商城的用户id vipInfo.setOpenId(userInfo.getOpenId()); vipInfo.setAddr(userInfo.getProvince() + " " + userInfo.getCity()); vipInfo.setPhone(userInfo.getPhoneNumber()); + if(StringUtils.isBlank(vipInfo.getPhoto())){ + vipInfo.setPhoto(userInfo.getAvatarUrl()); + } if (userInfo.getGender() != null) { vipInfo.setSex(userInfo.getGender().equals("1") ? "男" : "女"); } diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java index 627d64d..d6c6517 100644 --- a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java +++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java @@ -18,19 +18,11 @@ private Miniprogram miniprogram; public static class Miniprogram{ private String appid; - private String path; + private String pagepath; - public Miniprogram(String appid, String path) { + public Miniprogram(String appid, String pagepath) { this.appid = appid; - this.path = path; - } - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; + this.pagepath = pagepath; } public String getAppid() { @@ -41,7 +33,13 @@ this.appid = appid; } + public String getPagepath() { + return pagepath; + } + public void setPagepath(String pagepath) { + this.pagepath = pagepath; + } } public Map<String ,Item> data=new HashedMap(); public static class Item{ diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java new file mode 100644 index 0000000..ee42c62 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java @@ -0,0 +1,106 @@ +package com.matrix.system.wechart.templateMsg.Task.messageBulderDemo; + +import com.alibaba.fastjson.JSONObject; +import com.matrix.core.tools.DateUtil; +import com.matrix.core.tools.StringUtils; +import com.matrix.system.hive.bean.*; +import com.matrix.system.hive.dao.*; +import com.matrix.system.wechart.templateMsg.GzhTemplateMessagePojo; +import com.matrix.system.wechart.templateMsg.Task.TemplateMessageBulder; +import com.matrix.system.wechart.templateMsg.UniformMsgPojo; +import org.apache.commons.collections.map.HashedMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 购买成功提醒 + */ +@Component +public class GmcgTemplateMessageBulder implements TemplateMessageBulder { + + @Autowired + SysOrderDao orderDao; + + @Autowired + SysVipInfoDao vipInfoDao; + + @Autowired + private SysBeauticianStateDao beauticianStateDao; + + @Autowired + private SysShopInfoDao shopInfoDao; + + @Autowired + private SysOrderItemDao orderItemDao; + + + + @Override + public Map buildMsg(Map param) { + + //返回参数 + Map builParam=new HashedMap(); + //获取基础公共参数 + String gzhAppid= (String) param.get("gzhAppid"); + String template_id= (String) param.get("template_id"); + String xcxAppId= (String) param.get("xcxAppId"); + //模板消息列表 + List msgList=new ArrayList(); + + //触发点传送的json参数 + JSONObject messageJsonParam= (JSONObject) param.get("messageJsonParam"); + //构建消息主体 + Long orderId= (Long) messageJsonParam.get("orderId"); + SysOrder sysOrder = orderDao.selectById(orderId); + List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(orderId); + + //校验客户openId (必须) + SysVipInfo vipInfo=vipInfoDao.selectById(sysOrder.getVipId()); + String touser= vipInfo.getOpenId(); + if(StringUtils.isBlank(touser)){ + builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid"); + return builParam; + } + + + //自定义信息区START========================================================================================================= + SysShopInfo sysShopInfo = shopInfoDao.selectById(sysOrder.getShopId()); + String time= DateUtil.dateFormatStr(sysOrder.getPayTime(),DateUtil.DATE_FORMAT_MM); + + //如果一个项目存在多个护理项目则发送多次消息 + String first="您好!您购买了"; + for (SysOrderItem orderItem:sysOrderItems){ + first+=orderItem.getShoppingGoods().getName()+"x"+orderItem.getCount()+","; + } + first=first.substring(0,first.length()); + UniformMsgPojo uniformMsgPojo=new UniformMsgPojo(); + GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo(); + uniformMsgPojo.setTouser(touser); + messagePojo.setTemplate_id(template_id); + messagePojo.setAppid(gzhAppid); + //个性参数设置 + messagePojo.setFirst(first,"#453454"); + messagePojo.setKeyWord(sysShopInfo.getShopName(),"#453454"); + messagePojo.setKeyWord(vipInfo.getVipNo(),"#453454"); + messagePojo.setKeyWord(time,"#453454"); + messagePojo.setRemark("点击【详情】可查询订单明细,若非本人或授权操作,请及时与门店联系","#453454"); + + //小程序配置 + GzhTemplateMessagePojo.Miniprogram miniprogram=new GzhTemplateMessagePojo.Miniprogram(xcxAppId, + "pages/purchaseRecords/detail?id="+orderId); + messagePojo.setMiniprogram(miniprogram); + + + uniformMsgPojo.setMp_template_msg(messagePojo); + //自定义信息区END========================================================================================================= + + //返回调用者使用的参数(必须) + msgList.add(uniformMsgPojo); + builParam.put("msgList",msgList); + return builParam; + } +} -- Gitblit v1.9.1