From 16fdf754104f0d38fd80e49936dc91cf90505af9 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sun, 17 Jan 2021 19:34:47 +0800 Subject: [PATCH] 消息提醒 --- zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 15 +++++ zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java | 6 - zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java | 17 +++-- zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java | 115 ++++++++++++++++++++++++++++++++++++++ zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java | 1 5 files changed, 143 insertions(+), 11 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java index f82587d..66d08eb 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java @@ -1,5 +1,6 @@ package com.matrix.system.app.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; @@ -28,11 +29,14 @@ import com.matrix.system.hive.service.SysProjServicesService; import com.matrix.system.hive.service.SysProjUseService; import com.matrix.system.hive.service.SysVipInfoService; +import com.matrix.system.shopXcx.mqTask.MQTaskRouting; +import com.matrix.system.wechart.templateMsg.UniformMsgParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -61,6 +65,12 @@ @Autowired private SysBeauticianStateService sysBeauticianStateService; + + @Autowired + private RabiitMqTemplate rabiitMqTemplate; + + @Value("${evn}") + private String evn; @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表") @ApiResponses({ @@ -274,6 +284,11 @@ services.setState(Dictionary.BEATUI_STATE_DYY); int i = projServicesService.modify(services); if (i > 0) { + //发送微信公众号提醒 + UniformMsgParam uniformMsgParam=new UniformMsgParam(services.getCompanyId(),UniformMsgParam.GZH_YYCG); + uniformMsgParam.put("serviceId",services.getId()); + rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); + return AjaxResult.buildSuccessInstance("确认成功"); } return AjaxResult.buildFailInstance("确认失败"); diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java index 5f06f91..9a3f9f4 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java @@ -99,12 +99,17 @@ public AjaxResult findUserOrderList(@RequestBody @Validated ErpOrderListDto erpOrderListDto) { BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class); SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber()); - erpOrderListDto.setVipId(vipInfo.getId()); - List<ErpOrderDetailVo> rows=sysOrderDao.selectErpOrderList(erpOrderListDto); - rows.forEach(item->{ - item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId())); - }); - return AjaxResult.buildSuccessInstance(rows,"查询成功"); + if(vipInfo!=null){ + erpOrderListDto.setVipId(vipInfo.getId()); + List<ErpOrderDetailVo> rows=sysOrderDao.selectErpOrderList(erpOrderListDto); + rows.forEach(item->{ + item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId())); + }); + return AjaxResult.buildSuccessInstance(rows,"查询成功"); + }else{ + return AjaxResult.buildFailInstance("未查询到相关订单001"); + } + } @ApiOperation(value = "查询用户在ERP中的订单详情" ) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java index 2fbc032..1aeb371 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java @@ -86,6 +86,7 @@ } //获取订单归属门店 + order.setCompanyId(bizUser.getCompanyId()); order.setShopId(Long.parseLong(orderDto.getStoreId()+"")); //同步的订单订单编号保持一致 order.setOrderNo(orderDto.getOrderNo()); @@ -131,11 +132,6 @@ orderItem.setPrice(orderItemDto.getPrice().doubleValue()); orderItem.setZkPrice(orderItemDto.getPrice().doubleValue()); orderItem.setGoodsId(shoppingGoods.getId()); - if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_JJCP)) { - orderItem.setAssembleId(shoppingGoods.getAssembleGoods().get(0).getId()); - } else if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_XM)) { - orderItem.setAssembleId(shoppingGoods.getAssembleProj().get(0).getId()); - } // 设置对应产品的id switch (shoppingGoods.getGoodType()) { 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 fcf4476..67b5bbb 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 @@ -65,6 +65,7 @@ vipInfo.setSex(userInfo.getGender().equals("1") ? "男" : "女"); } vipInfo.setVipName(userInfo.getNickName()); + vipInfo.setCompanyId(userInfo.getCompanyId()); vipInfo.setShopId(shopId); vipInfo.setArrivalWay("微商城"); vipInfo.setVipState(Dictionary.VIP_STATE_HY); diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java new file mode 100644 index 0000000..2e70fcc --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java @@ -0,0 +1,115 @@ +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.SysBeauticianState; +import com.matrix.system.hive.bean.SysProjServices; +import com.matrix.system.hive.bean.SysShopInfo; +import com.matrix.system.hive.bean.SysVipInfo; +import com.matrix.system.hive.dao.SysBeauticianStateDao; +import com.matrix.system.hive.dao.SysProjServicesDao; +import com.matrix.system.hive.dao.SysShopInfoDao; +import com.matrix.system.hive.dao.SysVipInfoDao; +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 YycgTemplateMessageBulder implements TemplateMessageBulder { + + @Autowired + SysProjServicesDao projServicesDao; + + @Autowired + SysVipInfoDao vipInfoDao; + + @Autowired + private SysBeauticianStateDao beauticianStateDao; + + @Autowired + private SysShopInfoDao shopInfoDao; + + + + @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 serviceId= (Long) messageJsonParam.get("serviceId"); + SysProjServices sysProjServices = projServicesDao.selectById(serviceId); + + + //校验客户openId (必须) + SysVipInfo vipInfo=vipInfoDao.selectById(sysProjServices.getVipId()); + String touser= vipInfo.getOpenId(); + if(StringUtils.isBlank(touser)){ + builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid"); + return builParam; + } + + + //自定义信息区START========================================================================================================= + SysShopInfo sysShopInfo = shopInfoDao.selectById(sysProjServices.getShopId()); + List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(sysProjServices.getId()); + String time= DateUtil.dateFormatStr(sysProjServices.getConsumeTime(),DateUtil.DATE_FORMAT_MM); + + //如果一个项目存在多个护理项目则发送多次消息 + String projectInfo=""; + String staffName=""; + for (SysBeauticianState beauticianState:beauticianStateList){ + projectInfo+=beauticianState.getProjInfo().getName()+beauticianState.getCount()+"次,"; + staffName+=beauticianState.getBeautiStaffInfo().getSuName()+","; + } + projectInfo=projectInfo.substring(0,projectInfo.length()-1); + staffName=staffName.substring(0,staffName.length()-1); + UniformMsgPojo uniformMsgPojo=new UniformMsgPojo(); + GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo(); + uniformMsgPojo.setTouser(touser); + messagePojo.setTemplate_id(template_id); + messagePojo.setAppid(gzhAppid); + //个性参数设置 + messagePojo.setFirst("您好!您在"+sysShopInfo.getShopName()+"店的预约已经成功,期待您的光临","#453454"); + messagePojo.setKeyWord(time,"#453454"); + messagePojo.setKeyWord(staffName,"#453454"); + messagePojo.setKeyWord(projectInfo,"#453454"); + + + messagePojo.setRemark("点击【详情】可查询订单明细,若非本人或授权操作,请及时与门店联系","#453454"); + + //小程序配置 + GzhTemplateMessagePojo.Miniprogram miniprogram=new GzhTemplateMessagePojo.Miniprogram(xcxAppId, + "pages/yuyue/showYyInfo?id="+serviceId); + messagePojo.setMiniprogram(miniprogram); + + + uniformMsgPojo.setMp_template_msg(messagePojo); + //自定义信息区END========================================================================================================= + + //返回调用者使用的参数(必须) + msgList.add(uniformMsgPojo); + builParam.put("msgList",msgList); + return builParam; + } +} -- Gitblit v1.9.1