Browse Source

fix 模板消息

zoujiajian 3 years ago
parent
commit
ab7e3becbc

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/exchange/impl/ExchangeCodeServiceImpl.java

@@ -299,7 +299,7 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
 				try {
 					if (StrUtil.isNotEmpty(user.getOpenId())) {
 						log.info("用户{}兑换车位成功,发送新订单模板消息", user.getId());
-						templateCommonService.newOderSendMsgByType(orderDon, goodsDon, sku, user, user.getOpenId());
+						templateCommonService.newOderSendMsgByType(orderDon, goodsDon, sku, user, user.getOpenId(), false);
 					}
 				} catch (Exception e) {
 					log.info("用户{}兑换车位成功,发送消息失败:{}", user.getId(), e);
@@ -313,7 +313,7 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
 				List<CustomerService> customerServices = customerServiceMapper.selectList(null);
 				for (CustomerService customerService : customerServices) {
 					log.info("向客服{}发送用户兑换码兑换车票消息通知..", customerService.getNickName());
-					templateCommonService.newOderSendMsgByType(orderDon, goodsDon, sku, user, customerService.getOpenId());
+					templateCommonService.newOderSendMsgByType(orderDon, goodsDon, sku, user, customerService.getOpenId(), true);
 				}
 			} catch (Exception e) {
 				log.error("向客服发送用户{}兑换码兑换车票成功,发送消息失败:{}", user.getId(), e);

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1373,7 +1373,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			THREAD_POOL_TASK_EXECUTOR.execute(() -> {
 				try {
 					//发送至用户消息
-					templateCommonService.newOderSendMsgByType(order, goodsDon, sku, user, user.getOpenId());
+					templateCommonService.newOderSendMsgByType(order, goodsDon, sku, user, user.getOpenId(), false);
 				} catch (Exception e) {
 					log.error("向用户发送新订单{}通知消息失败:{}", order.getOrderNo(), e);
 				}
@@ -1385,7 +1385,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				List<CustomerService> customerServices = customerServiceMapper.selectList(null);
 				for (CustomerService customerService : customerServices) {
 					log.info("向客服{}发送新订单消息通知..", customerService.getNickName());
-					templateCommonService.newOderSendMsgByType(order, goodsDon, sku, user, customerService.getOpenId());
+					templateCommonService.newOderSendMsgByType(order, goodsDon, sku, user, customerService.getOpenId(), true);
 				}
 			} catch (Exception e) {
 				log.error("向客服发送新订单{}通知消息失败:{}", order.getOrderNo(), e);

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/template/TemplateCommonService.java

@@ -14,7 +14,7 @@ public interface TemplateCommonService {
 	/**
 	 * 发送新订单模板消息
 	 */
-	void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople) throws Exception;
+	void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople, Boolean isCustomer) throws Exception;
 
 	/**
 	 * 公众号扫描登录成功模板消息

+ 17 - 5
netflix-service/src/main/java/com/cyksj/service/template/impl/TemplateCommonServiceImpl.java

@@ -61,11 +61,16 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
 
 	private final GoodsDonSkuMapper goodsDonSkuMapper;
 
-	public void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople) throws Exception {
+	public void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople, Boolean isCustomer) throws Exception {
 		if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
 			Long userId = order.getUserId();
 			String openId = toPeople;
-			WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
+			WxAppTemplateView wxAppTemplateView = null;
+			if (isCustomer) {
+				wxAppTemplateView = this.getCustomerTemplateView(TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
+			} else {
+				wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
+			}
 			if (wxAppTemplateView != null) {
 				WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
 						.setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
@@ -114,6 +119,14 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
 		return wxAppTemplateView;
 	}
 
+	public WxAppTemplateView getCustomerTemplateView(String templateMark) {
+		WxAppTemplateView wxAppTemplateView = beanSearcher.searchFirst(WxAppTemplateView.class, MapUtils.builder()
+				.field(WxAppTemplateView::getRemark, templateMark)
+				.field(WxAppTemplateView::getAppId, weChatConfig.getAppid())
+				.field(WxAppTemplateView::getType, EnvCommonService.active_prd).build());
+		return wxAppTemplateView;
+	}
+
 	@Override
 	public void sendWxGzhQrCodeSuccessMsg(User user) throws Exception {
 		if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
@@ -174,13 +187,12 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
 	@Override
 	public void emptySendMsgNotify(OrderDon orderDon, String toPeople) throws Exception {
 		if (!EnvCommonService.active.equals(envCommonService.getEnv())) {
-			Long userId = orderDon.getUserId();
 			String openId = toPeople;
-			WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.EMPTY_TEMPLATE.getDesc());
+			WxAppTemplateView wxAppTemplateView = this.getCustomerTemplateView(TemplateEnum.EMPTY_TEMPLATE.getDesc());
 			if (wxAppTemplateView != null) {
 				User u = userMapper.selectById(orderDon.getUserId());
 				WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
-						.setToUser(Optional.ofNullable(wxAppTemplateView.getOpenId()).orElse(openId))
+						.setToUser(openId)
 						.setTemplateId(wxAppTemplateView.getTemplateId())
 						//TODO
 						.setUrl(" ");

+ 1 - 1
netflix-service/src/main/java/com/cyksj/task/Scheduler.java

@@ -142,7 +142,7 @@ public class Scheduler {
                         data2.setKeyword4(new WxMpTemplateData("账号即将到期"));
                         data2.setRemark(new WxMpTemplateData("请尽快登录后台-在账号管理中查看"));
                         log.info("发送账号即将到期消息至客服:{}", customerService.getNickName());
-                        weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()),Jsons.toJson(manageMessage));
+                        weChatService.sendTemplateMessage(weChatService.getAccessToken(),Jsons.toJson(manageMessage));
                     }
                 }
             }