From e12b33379eccfeead532f677a99c7f9e41e34a0d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 28 Apr 2025 16:13:33 +0800
Subject: [PATCH] refactor(mall): 重构活动订单核销接口并添加取消订单功能

---
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java |  132 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
index b3274cb..a91c4db 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
@@ -2,9 +2,21 @@
 
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.mall.entity.MallExpressInfo;
+import cc.mrbird.febs.mall.entity.MallOrderRefund;
+import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper;
+import cc.mrbird.febs.mall.mapper.MallInvoiceMapper;
+import cc.mrbird.febs.mall.mapper.MallOrderRefundMapper;
 import cc.mrbird.febs.mall.service.IAdminMallOrderService;
+import cc.mrbird.febs.mall.service.MallInvoiceService;
 import cc.mrbird.febs.mall.vo.*;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -19,10 +31,26 @@
 public class ViewMallOrderController extends BaseController {
 
     private final IAdminMallOrderService adminMallOrderService;
+    private final MallInvoiceMapper mallInvoiceMapper;
+
+    private final MallOrderRefundMapper mallOrderRefundMapper;
+
+    private final MallExpressInfoMapper mallExpressInfoMapper;
 
     public static long idFromMember;
 
     public static long idFromRefund;
+    private final RedisUtils redisUtils;
+
+    /**
+     * 订单列表
+     * @return
+     */
+    @GetMapping("orderRefundList")
+    @RequiresPermissions("orderRefundList:view")
+    public String orderRefundList() {
+        return FebsUtil.view("modules/order/orderRefundList");
+    }
 
     /**
      * 订单列表
@@ -35,6 +63,16 @@
     }
 
     /**
+     * 评论列表
+     * @return
+     */
+    @GetMapping("commentList")
+    @RequiresPermissions("commentList:view")
+    public String commentList() {
+        return FebsUtil.view("modules/order/commentList");
+    }
+
+    /**
      * 订单-发货
      * @param id
      * @param model
@@ -44,6 +82,15 @@
     @RequiresPermissions("deliverGoods:update")
     public String deliverGoods(@PathVariable long id, Model model) {
         AdminMallOrderVo data = adminMallOrderService.getMallOrderInfoById(id);
+        data.setExpressCom("极兔快递");
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
+        if(ObjectUtil.isNotEmpty(mallExpressInfo)){
+            data.setExpressNo(mallExpressInfo.getExpressNo());
+            data.setExpressCom(mallExpressInfo.getExpressCom());
+        }else{
+            data.setExpressCom("极兔快递");
+            data.setExpressNo("JT");
+        }
         model.addAttribute("deliverInfo", data);
         return FebsUtil.view("modules/order/deliverGoods");
     }
@@ -83,7 +130,7 @@
     @RequiresPermissions("refunding:view")
     public String seeReceiveInfo(@PathVariable long id, Model model) {
         idFromRefund = id;
-        return FebsUtil.view("modules/order/Refunding");
+        return FebsUtil.view("modules/order/refunding");
     }
 
     /**
@@ -161,4 +208,87 @@
         return FebsUtil.view("modules/order/payMethodEdit");
     }
 
+    /**
+     * 退款记录-订单详情
+     * @param id
+     * @param model
+     * @return
+     */
+    @GetMapping("refundOrderDetail/{id}")
+    @RequiresPermissions("refundOrderDetail:view")
+    public String refundOrderDetail(@PathVariable long id, Model model) {
+        MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id);
+        Long orderId = mallOrderRefund.getOrderId();
+        AdminOrderDetailVo data = adminMallOrderService.getMallOrderDetailById(orderId);
+        model.addAttribute("refundOrderDetail", data);
+        return FebsUtil.view("modules/order/refundOrderDetail");
+    }
+
+    /**
+     * 退款记录-收款方式
+     * @param id
+     * @param model
+     * @return
+     */
+    @GetMapping("refundPayInfo/{id}")
+    @RequiresPermissions("refundPayInfo:update")
+    public String refundPayInfo(@PathVariable long id, Model model) {
+        AdminMallMemberPaymentVo data = adminMallOrderService.getMallMemberRefundPayInfoByFlowId(id);
+        model.addAttribute("refundPayInfo", data);
+        return FebsUtil.view("modules/order/refundPayInfo");
+    }
+
+    /**
+     * 订单列表-统计商品份数
+     * @return
+     */
+    public static String orderIdsStr;
+    @GetMapping("/goodsStatistics/{statistics}")
+    @RequiresPermissions("goodsStatistics:update")
+    public String goodsStatistics(@PathVariable String statistics, Model model) {
+
+        String existToken = redisUtils.getString("ADMIN_GOODS_CNT");
+        if (StrUtil.isNotBlank(existToken)) {
+            Object o = redisUtils.get(existToken);
+            if (ObjectUtil.isNotEmpty(o)) {
+                redisUtils.del(existToken);
+            }
+        }
+        redisUtils.set("ADMIN_GOODS_CNT", statistics, -1);
+        return FebsUtil.view("modules/order/goodsStatistics");
+    }
+
+
+    /**
+     * 发票列表
+     * @return
+     */
+    @GetMapping("invoiceList")
+    @RequiresPermissions("invoiceList:view")
+    public String invoiceList() {
+        return FebsUtil.view("modules/order/invoiceList");
+    }
+
+    /**
+     * 发票列表-详情
+     * @param id
+     * @param model
+     * @return
+     */
+    @GetMapping("invoiceDetail/{id}")
+    @RequiresPermissions("invoiceDetail:view")
+    public String invoiceDetail(@PathVariable long id, Model model) {
+        String existToken = redisUtils.getString("ADMIN_INVOICE_ID");
+        if (StrUtil.isNotBlank(existToken)) {
+            Object o = redisUtils.get(existToken);
+            if (ObjectUtil.isNotEmpty(o)) {
+                redisUtils.del(existToken);
+            }
+        }
+        redisUtils.set("ADMIN_INVOICE_ID", id, -1);
+        AdminInvoiceDetailVo data = mallInvoiceMapper.getAdminInvoiceDetailVoById(id);
+        model.addAttribute("invoiceDetail", data);
+        return FebsUtil.view("modules/order/invoiceDetail");
+    }
+
 }

--
Gitblit v1.9.1