From 7e6bbd05a75b07cb0717812d0b51aad128361012 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 19 May 2022 18:43:42 +0800
Subject: [PATCH] fix some problem

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 1 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 3416ef8..da38eb6 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
@@ -17,12 +17,14 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
 @Slf4j
 @Service
 @RequiredArgsConstructor
+@Transactional
 public class AdminMallOrderService extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IAdminMallOrderService {
 
     private final MallOrderInfoMapper mallOrderInfoMapper;
@@ -40,6 +42,16 @@
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     private final IApiMallMemberWalletService iApiMallMemberWalletService;
+
+    private final MallMemberPaymentMapper mallMemberPaymentMapper;
+
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+
+    @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) {
@@ -125,8 +137,28 @@
         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())){
+            //用户钱包增加对应的余额
+            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);
+        }
 
         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
         mallOrderRefundOperation.setRefundId(mallOrderRefund.getId());
@@ -143,6 +175,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);
 
@@ -151,6 +187,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();
     }
@@ -160,6 +200,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);
@@ -246,6 +290,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());
@@ -266,5 +314,73 @@
         return mallOrderRefundMapper.getMallOrderRefundInfoById(id);
     }
 
+    @Override
+    public IPage<AdminPayMethodVo> getPayMethodListInPage(PayMethodDto payMethodDto, QueryRequest request) {
+        payMethodDto.setType("PAYMENT_METHOD");
+        Page<AdminPayMethodVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminPayMethodVo> adminPayMethodVos = dataDictionaryCustomMapper.getPayMethodListInPage(page, payMethodDto);
+        return adminPayMethodVos;
+    }
 
+    @Override
+    public AdminMallPayMethodEditVo getMallPayMethodEditInfoById(long id) {
+        AdminMallPayMethodEditVo adminMallPayMethodEditVo = dataDictionaryCustomMapper.getMallPayMethodEditInfoById(id);
+        return adminMallPayMethodEditVo;
+    }
+
+    @Override
+    public FebsResponse payMethodEdit(PayMethodEditDto payMethodEditDto) {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(payMethodEditDto.getId());
+        if(ObjectUtil.isEmpty(dataDictionaryCustom)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新重试");
+        }
+        dataDictionaryCustom.setValue(payMethodEditDto.getValue());
+        dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
+        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