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("确认失败"); 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中的订单详情" ) 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()) { 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); zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java
New file @@ -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; } }