xiaoyong931011
2021-09-24 f03671560a938b7560d37aae8dbbd9f04ed33bde
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -8,6 +8,7 @@
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallOrderService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.vo.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -35,6 +36,10 @@
    private final MallOrderRefundMapper mallOrderRefundMapper;
    private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper;
    private final MallMoneyFlowMapper mallMoneyFlowMapper;
    private final IApiMallMemberWalletService iApiMallMemberWalletService;
    @Override
    public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
@@ -150,5 +155,41 @@
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse refundConfirm(Long id) {
        MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallOrderRefund)){
            return new FebsResponse().fail().message("系统繁忙,请刷新重试");
        }
        mallOrderRefund.setStatus(5);
        mallOrderRefundMapper.updateById(mallOrderRefund);
        MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
        mallOrderRefundOperation.setRefundId(mallOrderRefund.getId());
        mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId());
        mallOrderRefundOperation.setContent("已退款到用户账户");
        mallOrderRefundOperationMapper.insert(mallOrderRefundOperation);
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId());
        if(ObjectUtil.isEmpty(mallOrderInfo)){
            return new FebsResponse().fail().message("系统繁忙,请刷新重试");
        }
        mallOrderInfo.setStatus(6);
        mallOrderInfoMapper.updateById(mallOrderInfo);
        //用户钱包增加对应的余额
        iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId());
        //新增一条资金流水
        MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
        mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId());
        mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo());
        mallMoneyFlow.setType(4);
        mallMoneyFlow.setAmount(mallOrderInfo.getAmount());
        mallMoneyFlowMapper.insert(mallMoneyFlow);
        return new FebsResponse().success();
    }
}