yanghui
2022-11-28 a1068d7fe96d5166768018189195c2ba42fd8d19
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -31,6 +32,7 @@
import java.util.*;
import java.util.stream.Collectors;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
/**
@@ -384,11 +386,23 @@
     * @return 订单详情
     */
    @Override
    public R orderDetail(Long orderId) {
    public R orderDetail(Long orderId,String phone) {
        ComShopFlowerOrderPageVO orderVO = new ComShopFlowerOrderPageVO();
        // 查询订单信息
        ComShopFlowerOrderDO shopOrderDO = this.baseMapper.selectById(orderId);
        ComShopFlowerOrderDO shopOrderDO = null;
        if (StrUtil.isEmpty(phone)){
            // 查询订单信息
            shopOrderDO = this.baseMapper.selectById(orderId);
        }else {
            //查询自提点信息
            ConvenientElevatingPointDO convenientElevatingPointDO = convenientElevatingPointDAO.selectOne(new LambdaQueryWrapper<ConvenientElevatingPointDO>().eq(ConvenientElevatingPointDO::getWechatAccount, phone));
            if (isNull(convenientElevatingPointDO)){
                return R.fail("自提点不存在");
            }
            Long pointDOId = convenientElevatingPointDO.getId();
            shopOrderDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopFlowerOrderDO>().eq(ComShopFlowerOrderDO::getId, orderId).eq(ComShopFlowerOrderDO::getPointId, pointDOId));
        }
        if (shopOrderDO == null) {
            return R.fail("未查询到订单");
        }
@@ -477,6 +491,11 @@
            orderVO.setRefundAmount(comShopFlowerRefundOrderDO.getRefundAmount());
        }
        //如果状态时取消状态,更新时间为去取消时间
        if (shopOrderDO.getStatus() == ComShopFlowerOrderDO.status.yqx){
            orderVO.setCancelTime(shopOrderDO.getUpdateAt());
        }
        return R.ok(orderVO);
    }
@@ -502,7 +521,7 @@
        //退款
        String refundNo = WXPayUtil.generateNonceStr();
        try {
            String refundStr = WxPayUtils.refund(appid, mchId, shopOrderDO.getWxTardeNo(), shopOrderDO.getPayAmount(),
            String refundStr = WxPayUtils.refund(appid, mchId, shopOrderDO.getOrderNo(), shopOrderDO.getPayAmount(),
                    shopOrderDO.getPayAmount(), refundNo, isTest);
            log.info("退款请求接口返回参数:{}", refundStr);
            Map<String, String> mapResult = WXPayUtil.xmlToMap(refundStr);
@@ -641,7 +660,7 @@
        if (comShopOrderDO == null) {
            return R.fail("订单不存在");
        }
        if (!(comShopOrderDO.getStatus() == 1) || !(comShopOrderDO.getDeliveryStatus() == 1)) {
        if (!(comShopOrderDO.getStatus() == 8) || !(comShopOrderDO.getDeliveryStatus() == 1)) {
            return R.fail("订单发货失败,订单状态不允许发货");
        }