From e8f8d89a4248cd4d0a7138cc2e5a36ea9b136699 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 11 Feb 2025 17:03:01 +0800 Subject: [PATCH] feat(mall): 添加订单一键发货和取消发货功能 --- src/test/java/cc/mrbird/febs/AgentTest.java | 119 ++++------------------------------------------------------- 1 files changed, 9 insertions(+), 110 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java index b3cf218..38d8b6f 100644 --- a/src/test/java/cc/mrbird/febs/AgentTest.java +++ b/src/test/java/cc/mrbird/febs/AgentTest.java @@ -1,127 +1,26 @@ package cc.mrbird.febs; -import cc.mrbird.febs.common.enumerates.FlowTypeEnum; -import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; -import cc.mrbird.febs.mall.entity.*; -import cc.mrbird.febs.mall.mapper.*; -import cc.mrbird.febs.mall.service.IMallMoneyFlowService; -import cc.mrbird.febs.pay.model.RefundStatus; -import cc.mrbird.febs.pay.util.FiuuRefundUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import cc.mrbird.febs.mall.dto.ApiCheckTraceInfoDto; +import cn.hutool.json.JSONUtil; +import com.best.javaSdk.ClientParamEnum; +import com.best.javaSdk.ClientParamService; +import com.best.javaSdk.kdTraceQuery.response.KdTraceQueryRsp; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; - -import java.util.List; @Slf4j @SpringBootTest public class AgentTest { - @Autowired - private MallActivityMapper mallActivityMapper; - - @Autowired - private MallRefundMapper mallRefundMapper; - - @Autowired - private MallOrderInfoMapper mallOrderInfoMapper; - - @Autowired - private MallOrderItemMapper mallOrderItemMapper; - - @Autowired - private MallGoodsSkuMapper mallGoodsSkuMapper; - - @Autowired - private MallGoodsMapper mallGoodsMapper; - - @Autowired - private FiuuRefundUtil fiuuRefundUtil; - - @Autowired - private IMallMoneyFlowService mallMoneyFlowService; @Test public void refundJob() { - LambdaQueryWrapper<MallRefundEntity> mallOrderRefundLambdaQueryWrapper = new LambdaQueryWrapper<>(); - mallOrderRefundLambdaQueryWrapper.eq(MallRefundEntity::getState, 3); - mallOrderRefundLambdaQueryWrapper.eq(MallRefundEntity::getType, 1); - List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectList(mallOrderRefundLambdaQueryWrapper); - if(CollUtil.isEmpty(mallRefundEntities)){ - return; - } - mallRefundEntities.forEach(mallRefundEntity -> { - processRefund(mallRefundEntity); - }); + ApiCheckTraceInfoDto apiCheckTraceInfoDto = new ApiCheckTraceInfoDto(); + apiCheckTraceInfoDto.setTraceNo("60850712015414"); + KdTraceQueryRsp traceQueryRsp = ClientParamService.getInstance(ClientParamEnum.PRD.name()).checkTraceInfo(apiCheckTraceInfoDto); + log.info("traceQueryRsp:{}", JSONUtil.parseObj(traceQueryRsp)); } - private void processRefund(MallRefundEntity mallRefundEntity) { - try { - MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallRefundEntity.getOrderId()); - MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(mallRefundEntity.getItemId()); - MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); - String txnId = mallOrderInfo.getPayOrderNo(); - RefundStatus status = fiuuRefundUtil.pollRefundStatus(txnId); - - switch (status.getStatus()) { - case "success": - updateOnSuccess(mallRefundEntity, mallOrderInfo, mallOrderItem, mallGoodsSku); - break; - case "rejected": - updateOnRejected(mallRefundEntity, mallOrderItem); - break; - default: - log.warn("未知状态:{}", status.getStatus()); - } - } catch (Exception e) { - log.error("处理退款失败: {}", e.getMessage(), e); - } - } - - private void updateOnSuccess(MallRefundEntity mallRefundEntity, MallOrderInfo mallOrderInfo, MallOrderItem mallOrderItem, MallGoodsSku mallGoodsSku) { - mallOrderItem.setState(3); - mallOrderItemMapper.updateById(mallOrderItem); - - MallGoods mallGoods = mallGoodsMapper.selectById(mallOrderItem.getGoodsId()); - mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt()); - mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); - mallGoodsMapper.updateById(mallGoods); - - mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); - mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); - mallGoodsSkuMapper.updateById(mallGoodsSku); - - mallRefundEntity.setState(1); - mallRefundEntity.setUpdatedTime(DateUtil.date()); - mallRefundMapper.updateById(mallRefundEntity); - - mallMoneyFlowService.addMoneyFlow( - mallOrderInfo.getMemberId(), - mallRefundEntity.getAmount(), - MoneyFlowTypeEnum.WECHAT_REFUND.getValue(), - mallOrderInfo.getOrderNo(), - FlowTypeEnum.WECHAT.getValue(), - "FIUU退款", - 2); - - List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3, mallRefundEntity.getOrderId()); - if (CollUtil.isEmpty(mallOrderItemList)) { - MallOrderInfo mallOrderRefund = mallOrderInfoMapper.selectById(mallRefundEntity.getOrderId()); - mallOrderRefund.setStatus(6); - mallOrderInfoMapper.updateById(mallOrderRefund); - } - } - - private void updateOnRejected(MallRefundEntity mallRefundEntity, MallOrderItem mallOrderItem) { - mallOrderItem.setState(1); - mallOrderItemMapper.updateById(mallOrderItem); - - mallRefundEntity.setState(2); - mallRefundMapper.updateById(mallRefundEntity); - } } -- Gitblit v1.9.1