From 06cfdb225233a2e8c67f21e130ee0bda67e2cc34 Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期二, 29 十一月 2022 10:12:35 +0800
Subject: [PATCH] #feat 发送订阅消息

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
index 8c6ec90..f889cdf 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
@@ -1,26 +1,32 @@
 package com.panzhihua.service_community.service.impl;
 
+import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.Constants;
 import com.panzhihua.common.model.dtos.shop.*;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointVO;
 import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
 import com.panzhihua.common.model.vos.shop.*;
-import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.common.utlis.OrderNoUtils;
-import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.common.utlis.WxPayUtils;
+import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.*;
 import com.panzhihua.common.utlis.wx.WXPayUtil;
 import com.panzhihua.service_community.dao.*;
 import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.ComShopFlowerOrderService;
+import com.panzhihua.service_community.util.WxMaConfiguration;
 import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.error.WxErrorException;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -71,6 +77,10 @@
     private ComShopFlowerRefundOrderDAO comShopFlowerRefundOrderDAO;
     @Resource
     private ComShopFlowerOrderDeliveryDAO comShopFlowerOrderDeliveryDAO;
+    @Resource
+    private WxMaConfiguration wxMaConfiguration;
+    @Resource
+    private UserService userService;
 
 
     @Value("${hcMin.app.isTest}")
@@ -693,6 +703,17 @@
             if (inserted != 1) {
                 log.error("订单发货日志保存错误");
             }
+            //发货通知
+            WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID);
+            R userOpenId = userService.getUserOpenId(comShopOrderDO.getUserId());
+            if (R.isOk(userOpenId)) {
+                String openid = userOpenId.getData().toString();
+                try {
+                    WxUtil.sendDeliverGoodsNotice(openid,maService.getAccessToken(),orderShipDTO.getLogisticsCompany(),orderShipDTO.getLogisticsNo(),comShopOrderDO.getOrderNo(), DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"));
+                } catch (WxErrorException e) {
+                    e.printStackTrace();
+                }
+            }
             return R.ok("发货成功");
         }
         return R.fail("发货失败!");
@@ -833,6 +854,9 @@
         List<ComShopFlowerOrderGoodsDO> orderGoodsList =
                 comShopFlowerOrderGoodsDAO.selectList(new QueryWrapper<ComShopFlowerOrderGoodsDO>().lambda()
                         .eq(ComShopFlowerOrderGoodsDO::getOrderNo, shopOrderDO.getOrderNo()));
+
+        ConvenientMerchantDO storeDO = convenientMerchantDAO.selectById(shopOrderDO.getStoreId());
+
         if (!orderGoodsList.isEmpty()) {
             int goodsNub = 0;
             for (ComShopFlowerOrderGoodsDO orderGood : orderGoodsList) {
@@ -855,7 +879,6 @@
             }
 
             // 更新店铺销量以及销售额
-            ConvenientMerchantDO storeDO = convenientMerchantDAO.selectById(shopOrderDO.getStoreId());
             if (storeDO != null) {
                 storeDO.setSale(storeDO.getSale() + goodsNub);
                 storeDO.setSaleVolume(storeDO.getSaleVolume().add(shopOrderDO.getTotalAmount()));
@@ -885,6 +908,21 @@
         orderPayDO.setOrderId(shopOrderDO.getId());
         orderPayDO.setPayType(ComShopFlowerOrderPayDO.payType.zf);
         comShopFlowerOrderPayDAO.insert(orderPayDO);
+        if (nonNull(storeDO)){
+            WxMaService maService = wxMaConfiguration.getMaService(Constants.HC_APP_ID);
+            R sysUserVOR = userService.getSysUserVOByPhone(storeDO.getMobilePhone());
+            if (R.isOk(sysUserVOR)) {
+                SysUserVO sysUserVO = JSONObject.parseObject(JSONObject.toJSONString(sysUserVOR.getData()), SysUserVO.class);
+                try {
+                    WxUtil.sendNewOrderNotice(sysUserVO.getOpenid(),maService.getAccessToken(),shopOrderDO.getOrderNo(),
+                            shopOrderDO.getDeliveryType()==1?"拼单订单":"快递订单",orderGoodsList.get(0).getGoodsName(),
+                            shopOrderDO.getTotalAmount().toString(),DateUtil.format(shopOrderDO.getCreateAt(),"yyyy-MM-dd HH:mm"));
+                } catch (WxErrorException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
     }
 
     /**
@@ -999,7 +1037,6 @@
         //退款申请
         Integer refundOrder = comShopFlowerRefundOrderDAO.selectCountByStoreId(storeId);
         retMap.put("refundOrder", refundOrder);
-
         return R.ok(retMap);
     }
 

--
Gitblit v1.7.1