From 300e26d6ce2be358d6452911ef46ac298d744ea5 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 17 Jun 2022 10:14:38 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 104 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 95 insertions(+), 9 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 9a9e5d8..62111f4 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 @@ -2,11 +2,14 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.enumerates.FlowTypeEnum; +import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.mall.dto.*; 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.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.*; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; @@ -17,12 +20,15 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.List; @Slf4j @Service @RequiredArgsConstructor +@Transactional public class AdminMallOrderService extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IAdminMallOrderService { private final MallOrderInfoMapper mallOrderInfoMapper; @@ -41,7 +47,17 @@ private final IApiMallMemberWalletService iApiMallMemberWalletService; + private final MallMemberPaymentMapper mallMemberPaymentMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final IMallMoneyFlowService mallMoneyFlowService; + + + @Override + public IPage<MallOrderInfo> findOrderListInPage(MallOrderInfo mallOrderInfo, QueryRequest request) { + Page<MallOrderInfo> page = new Page<>(request.getPageNum(), request.getPageSize()); + return this.baseMapper.selectInPage(mallOrderInfo, page); + } @Override public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { @@ -127,8 +143,24 @@ if(ObjectUtil.isEmpty(mallOrderRefund)){ return new FebsResponse().fail().message("系统繁忙,请刷新重试"); } - mallOrderRefund.setStatus(2); + Integer status = mallOrderRefund.getStatus(); + if(status != 1){ + return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); + } + mallOrderRefund.setStatus(5); mallOrderRefundMapper.updateById(mallOrderRefund); + + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); + mallOrderInfo.setStatus(6); + mallOrderInfoMapper.updateById(mallOrderInfo); + + if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){ + BigDecimal amount = mallOrderRefund.getAmount(); + //用户钱包增加对应的余额 + iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId()); + + mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + } MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); @@ -145,6 +177,10 @@ if(ObjectUtil.isEmpty(mallOrderRefund)){ return new FebsResponse().fail().message("系统繁忙,请刷新重试"); } + Integer status = mallOrderRefund.getStatus(); + if(status != 1){ + return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); + } mallOrderRefund.setStatus(3); mallOrderRefundMapper.updateById(mallOrderRefund); @@ -153,6 +189,10 @@ mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); mallOrderRefundOperation.setContent("不同意退款申请"); mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); + //恢复订单状态 + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); + mallOrderInfo.setStatus(mallOrderRefund.getBeforeStatus()); + mallOrderInfoMapper.updateById(mallOrderInfo); return new FebsResponse().success(); } @@ -162,6 +202,10 @@ MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); if(ObjectUtil.isEmpty(mallOrderRefund)){ return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + Integer status = mallOrderRefund.getStatus(); + if(status != 4){ + return new FebsResponse().fail().message("申请记录不是已提交物流信息状态,请刷新页面"); } mallOrderRefund.setStatus(5); mallOrderRefundMapper.updateById(mallOrderRefund); @@ -179,17 +223,12 @@ mallOrderInfo.setStatus(6); mallOrderInfoMapper.updateById(mallOrderInfo); + BigDecimal refundAmount = mallOrderRefund.getAmount(); //用户钱包增加对应的余额 - iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId()); + iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId()); //新增一条资金流水 - MallMoneyFlow mallMoneyFlow = new MallMoneyFlow(); - mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId()); - mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo()); - mallMoneyFlow.setType(4); - mallMoneyFlow.setAmount(mallOrderInfo.getAmount()); - mallMoneyFlowMapper.insert(mallMoneyFlow); - + mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); return new FebsResponse().success(); } @@ -248,6 +287,10 @@ if(ObjectUtil.isEmpty(mallOrderRefund)){ return new FebsResponse().fail().message("系统繁忙,请刷新重试"); } + Integer status = mallOrderRefund.getStatus(); + if(status != 1){ + return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); + } mallOrderRefund.setStatus(2); mallOrderRefund.setName(mallOrderRefundAddress.getName()); mallOrderRefund.setPhone(mallOrderRefundAddress.getPhone()); @@ -293,5 +336,48 @@ return new FebsResponse().success(); } + @Override + public FebsResponse cancelOrder(Long id) { + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id); + if(ObjectUtil.isEmpty(mallOrderInfo)){ + return new FebsResponse().fail().message("系统繁忙,请刷新重试"); + } + Integer status = mallOrderInfo.getStatus(); + if(status != 2){ + return new FebsResponse().fail().message("订单不是代发货状态"); + } + mallOrderInfo.setStatus(7); + mallOrderInfoMapper.updateById(mallOrderInfo); + return new FebsResponse().success(); + } + @Override + public AdminMallMemberPaymentVo getMallMemberRefundPayInfoByFlowId(long id) { + AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); + MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); + AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallOrderRefund.getMemberId()); + if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ + adminMallMemberPaymentVo = adminMallMemberPaymentVoa; + } + return adminMallMemberPaymentVo; + } + + @Override + public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) { + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo()); + if (mallOrderInfo == null) { + return; + } + + MallExpressInfo mallExpressInfo = new MallExpressInfo(); + mallExpressInfo.setMemberId(mallOrderInfo.getMemberId()); + mallExpressInfo.setOrderId(mallOrderInfo.getId()); + mallExpressInfo.setExpressNo(deliverGoodsDto.getExpressNo()); + mallExpressInfo.setExpressCom(deliverGoodsDto.getExpressCom()); + mallExpressInfo.setExpressCode(deliverGoodsDto.getExpressCode()); + mallExpressInfoMapper.insert(mallExpressInfo); + + mallOrderInfo.setStatus(3); + mallOrderInfoMapper.updateById(mallOrderInfo); + } } -- Gitblit v1.9.1