yanghui
2022-11-29 06cfdb225233a2e8c67f21e130ee0bda67e2cc34
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);
    }