From 22531433c08788df27681cf2817486f8fee5d17e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 24 Sep 2021 15:32:54 +0800
Subject: [PATCH] fix orderRefund

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |  128 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 123 insertions(+), 5 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 c0503ee..b862a1a 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
@@ -1,12 +1,17 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.mall.dto.DeliverGoodsDto;
 import cc.mrbird.febs.mall.dto.MallOrderInfoDto;
-import cc.mrbird.febs.mall.entity.MallOrderInfo;
-import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.dto.MallOrderRefundDto;
+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.AdminMallOrderVo;
+import cc.mrbird.febs.mall.vo.*;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,13 +19,23 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Slf4j
 @Service
 @RequiredArgsConstructor
 public class AdminMallOrderService extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IAdminMallOrderService {
 
-
     private final MallOrderInfoMapper mallOrderInfoMapper;
+
+    private final MallExpressInfoMapper mallExpressInfoMapper;
+
+    private final MallOrderItemMapper mallOrderItemMapper;
+
+    private final MallOrderRefundMapper mallOrderRefundMapper;
+
+    private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper;
+
     @Override
     public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
         Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
@@ -32,4 +47,107 @@
     public AdminMallOrderVo getMallOrderInfoById(long id) {
         return this.baseMapper.getMallOrderInfoById(id);
     }
+
+    @Override
+    public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId());
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,刷新后重试");
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(2 != status){
+            return new FebsResponse().fail().message("订单不是待发货状态");
+        }
+        String expressNo = deliverGoodsDto.getExpressNo();
+        if(StrUtil.isEmpty(expressNo)){
+            return new FebsResponse().fail().message("请输入物流单号");
+        }
+        String expressCom = deliverGoodsDto.getExpressCom();
+        if(StrUtil.isEmpty(expressCom)){
+            return new FebsResponse().fail().message("请输入物流公司");
+        }
+        MallExpressInfo mallExpressInfo = new MallExpressInfo();
+        mallExpressInfo.setMemberId(mallExpressInfo.getMemberId());
+        mallExpressInfo.setExpressNo(expressNo);
+        mallExpressInfo.setExpressCom(expressCom);
+        mallExpressInfoMapper.insert(mallExpressInfo);
+
+        mallOrderInfo.setStatus(3);
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public AdminOrderDetailVo getMallOrderDetailById(long id) {
+        AdminOrderDetailVo adminOrderDetailVo = mallOrderInfoMapper.getMallOrderDetailById(id);
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
+        if(ObjectUtil.isNotEmpty(mallExpressInfo)){
+            adminOrderDetailVo.setExpressNo(mallExpressInfo.getExpressNo());
+            adminOrderDetailVo.setExpressCom(mallExpressInfo.getExpressCom());
+        }
+        List<MallOrderItem> mallOrderItems = mallOrderInfoMapper.getMallOrderItemByOrderId(id);
+        if(CollUtil.isNotEmpty(mallOrderItems)){
+            StringBuffer orderItems = new StringBuffer();
+            for (MallOrderItem item : mallOrderItems){
+                StringBuffer orderItem = new StringBuffer();
+                orderItems.append(item.getGoodsName()+"-"+item.getCnt()+"*"+item.getPrice()+"-合计"+item.getAmount()+"; \n ");
+                orderItems.append(orderItem);
+            }
+            adminOrderDetailVo.setOrderItems(orderItems.toString());
+        }
+
+        return adminOrderDetailVo;
+    }
+
+    @Override
+    public IPage<AdminMallOrderRefundVo> getRefundListInPage(MallOrderRefundDto mallOrderRefundDto, QueryRequest request) {
+        Page<AdminMallOrderRefundVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminMallOrderRefundVo> adminMallOrderRefundVos = mallOrderRefundMapper.selectRefundListInPage(page, mallOrderRefundDto);
+        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();
+    }
+
+
 }

--
Gitblit v1.9.1