From aebfaf5c2ee60b28192750f7b057413ac80fb9d6 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 24 Sep 2021 16:10:15 +0800 Subject: [PATCH] fix order refund express --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 104 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 91 insertions(+), 13 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java index 27f02ca..3de0c88 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java @@ -5,19 +5,11 @@ import cc.mrbird.febs.mall.dto.DeliverGoodsDto; import cc.mrbird.febs.mall.dto.MallOrderInfoDto; import cc.mrbird.febs.mall.dto.MallOrderRefundDto; -import cc.mrbird.febs.mall.entity.MallExpressInfo; -import cc.mrbird.febs.mall.entity.MallOrderInfo; -import cc.mrbird.febs.mall.entity.MallOrderItem; -import cc.mrbird.febs.mall.entity.MallOrderRefund; -import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper; -import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; -import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; -import cc.mrbird.febs.mall.mapper.MallOrderRefundMapper; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallOrderService; -import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderRefundVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderVo; -import cc.mrbird.febs.mall.vo.AdminOrderDetailVo; +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; import cn.hutool.core.util.StrUtil; @@ -42,6 +34,12 @@ private final MallOrderItemMapper mallOrderItemMapper; 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) { @@ -74,7 +72,8 @@ return new FebsResponse().fail().message("请输入物流公司"); } MallExpressInfo mallExpressInfo = new MallExpressInfo(); - mallExpressInfo.setMemberId(mallExpressInfo.getMemberId()); + mallExpressInfo.setMemberId(mallOrderInfo.getMemberId()); + mallExpressInfo.setOrderId(mallOrderInfo.getId()); mallExpressInfo.setExpressNo(expressNo); mallExpressInfo.setExpressCom(expressCom); mallExpressInfoMapper.insert(mallExpressInfo); @@ -113,5 +112,84 @@ return adminMallOrderRefundVos; } + @Override + public IPage<AdminMallOrderRefundOperationVo> seeRefund(QueryRequest request, MallOrderRefund mallOrderRefund) { + Page<AdminMallOrderRefundOperationVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMallOrderRefundOperationVo> adminMallOrderRefundOperationVos = mallOrderRefundOperationMapper.selectRefundOperationInPage(page, mallOrderRefund); + return adminMallOrderRefundOperationVos; + } + + @Override + public FebsResponse agreeRefund(Long id) { + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderRefund)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderRefund.setStatus(2); + mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); + mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); + mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); + mallOrderRefundOperation.setContent("已同意退款申请"); + mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + + return new FebsResponse().success(); + } + + @Override + public FebsResponse disagreeRefund(Long id) { + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderRefund)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + mallOrderRefund.setStatus(3); + mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); + mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); + mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); + mallOrderRefundOperation.setContent("不同意退款申请"); + mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + + 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(); + } + } -- Gitblit v1.9.1