KKSU
2024-12-05 bfdf5fb50141c41246d26523d6e335223962fa94
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -2,7 +2,6 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.SpringContextHolder;
@@ -37,7 +36,10 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@@ -389,6 +391,10 @@
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
        MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId);
        MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
        if(ObjectUtil.isEmpty(mallGoodsSku)){
            return new FebsResponse().fail().message("退款失败,请联系客服人员");
        }
        List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId, orderId, 3);
        if(CollUtil.isEmpty(mallRefundEntities)){
            return new FebsResponse().fail().message("退款失败,请联系客服人员");
@@ -416,6 +422,23 @@
            //退款退款金额
            BigDecimal refundAmount = mallRefundEntity.getAmount();
            List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
            if(CollUtil.isNotEmpty(mallOrderItemListOnly)){
                if(1==mallOrderItemListOnly.size()){
                    refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
                    log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
                }
            }
//            BigDecimal refundAmount = mallRefundEntity.getAmount();
//            List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
//            List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId);
//            if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){
//                if(1 == mallOrderItemListIng.size() ){
//                    refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
//                    log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
//                }
//            }
//            refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
            BigDecimal bb = new BigDecimal(100);
            int refundMoney = refundAmount.multiply(bb).intValue();
@@ -429,8 +452,6 @@
                mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt());
                mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt());
                mallGoodsMapper.updateById(mallGoods);
                MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
                mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt());
                mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt());
                mallGoodsSkuMapper.updateById(mallGoodsSku);
@@ -438,7 +459,7 @@
                mallRefundEntity.setState(1);
                mallRefundEntity.setUpdatedTime(DateUtil.date());
                mallRefundMapper.updateById(mallRefundEntity);
                mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额退款",2);
                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
                if(CollUtil.isEmpty(mallOrderItemList)){
@@ -471,7 +492,7 @@
                mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt());
                mallGoodsMapper.updateById(mallGoods);
                MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
//                MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
                mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt());
                mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt());
                mallGoodsSkuMapper.updateById(mallGoodsSku);
@@ -480,7 +501,7 @@
                mallRefundEntity.setState(1);
                mallRefundEntity.setUpdatedTime(DateUtil.date());
                mallRefundMapper.updateById(mallRefundEntity);
                mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.WECHAT_REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.WECHAT.getValue(),"微信退款",2);
                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
                if(CollUtil.isEmpty(mallOrderItemList)){