From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java |  130 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 124 insertions(+), 6 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
index d0ffd07..753f115 100644
--- a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -1,22 +1,40 @@
 package com.doumee.api.business;
 
+import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.Constants;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.model.Goodsorder;
+import com.doumee.dao.business.model.WxBillDetail;
+import com.doumee.dao.business.vo.BikeIncomeReportVO;
+import com.doumee.dao.business.vo.DiscountGoodsorderExportVO;
+import com.doumee.dao.business.vo.GoodsorderExportVO;
+import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
+import com.doumee.dao.business.web.request.GoodsorderBackDTO;
+import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
+import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
+import com.doumee.dao.business.web.response.GoodsorderDetailVO;
 import com.doumee.service.business.GoodsorderService;
 import com.doumee.service.business.GoodsorderService;
+import com.doumee.service.business.RefundService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.checkerframework.checker.units.qual.C;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author 姹熻箘韫�
@@ -25,11 +43,13 @@
 @Api(tags = "璁㈠崟淇℃伅琛�")
 @RestController
 @RequestMapping("/business/goodsorder")
-public class GoodsorderController {
+public class GoodsorderController extends BaseController {
 
 
     @Autowired
     private GoodsorderService goodsorderService;
+    @Autowired
+    private RefundService refundService;
 
 
     @PreventRepeat
@@ -69,24 +89,122 @@
         return ApiResponse.success(null);
     }
 
-    @ApiOperation("鍒嗛〉鏌ヨ")
+    @ApiOperation("璁㈠崟鍒楄〃-鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @RequiresPermissions("business:goodsorder:query")
     public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
         return ApiResponse.success(goodsorderService.findPage(pageWrap));
     }
 
-    @ApiOperation("瀵煎嚭Excel")
+
+    @ApiOperation("绾夸笂浜ゆ槗姹囨�绘暟鎹帴鍙�")
+    @PostMapping("/getTotalData")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse<GoodsorderTotalDataVO> getTotalData (@RequestBody Goodsorder pageWrap) {
+
+        pageWrap.setEndDate(pageWrap.getEndDate() != null ? pageWrap.getEndDate():pageWrap.getStartDate());
+        return ApiResponse.success(goodsorderService.getTotalData(pageWrap));
+    }
+
+
+
+    @ApiOperation("璁㈠崟鍒楄〃-瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:goodsorder:exportExcel")
     public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(Goodsorder.class).export(goodsorderService.findPage(pageWrap).getRecords(), "鑷杞︿俊鎭〃", response);
+        ExcelExporter.build(Goodsorder.class).exportWithFirstAndEnd(goodsorderService.findPage(pageWrap).getRecords(), "璁㈠崟鍒楄〃_"+System.currentTimeMillis(),"璁㈠崟鍒楄〃_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
     }
 
+
+    @ApiOperation("濂楅鍗¤鍗曞垪琛�-瀵煎嚭Excel")
+    @PostMapping("/discountExportExcel")
+    @RequiresPermissions("business:goodsorder:exportExcel")
+    public void discountExportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
+        List<Goodsorder> goodsorders = goodsorderService.findPage(pageWrap).getRecords();
+        List<DiscountGoodsorderExportVO> discountGoodsorderExportVOList = new ArrayList<>();
+        for (Goodsorder goodsorder:goodsorders) {
+            DiscountGoodsorderExportVO discountGoodsorderExportVO = new DiscountGoodsorderExportVO();
+            BeanUtils.copyProperties(goodsorder,discountGoodsorderExportVO);
+            discountGoodsorderExportVO.setPayMoney(discountGoodsorderExportVO.getMoney());
+            discountGoodsorderExportVO.setOrigin(Constants.ZERO);
+            discountGoodsorderExportVOList.add(discountGoodsorderExportVO);
+        }
+        ExcelExporter.build(DiscountGoodsorderExportVO.class).exportWithFirstAndEnd(discountGoodsorderExportVOList, "璁㈠崟鍒楄〃_"+System.currentTimeMillis(),"璁㈠崟鍒楄〃_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
+    }
+
+
+
+    @ApiOperation("鏀舵鏄庣粏锛堝井淇″璐︽槑缁嗭級_鍒嗛〉鏌ヨ")
+    @PostMapping("/pageAccountDetail")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse<PageData<GoodsorderExportVO>> findPageAccountDetail(@RequestBody PageWrap<Goodsorder> pageWrap) {
+            return ApiResponse.success(goodsorderService.findAccountDetailPage(pageWrap));
+    }
+
+    @ApiOperation("鏀舵鏄庣粏锛堝井淇″璐︽槑缁嗭級_瀵煎嚭Excel")
+    @PostMapping("/exportAccountDetailExcel")
+    @RequiresPermissions("business:goodsorder:exportExcel")
+    public void exportAccountDetailExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
+            ExcelExporter.build(GoodsorderExportVO.class).exportWithFirstAndEnd(goodsorderService.findExportAccountDetailPage(pageWrap.getModel()), "璐﹀崟鏀舵鏄庣粏_"+System.currentTimeMillis(),"璐﹀崟鏀舵鏄庣粏_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
+    }
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @RequiresPermissions("business:goodsorder:query")
-    public ApiResponse findById(@PathVariable String id) {
-        return ApiResponse.success(goodsorderService.findById(id));
+    public ApiResponse<GoodsorderDetailDTO> findById(@PathVariable String id) {
+        return ApiResponse.success(goodsorderService.getGoodsorderDetailDTO(id));
+    }
+
+    @ApiOperation("璁㈠崟璇︽儏-濂楅鍗�")
+    @GetMapping("/discountOrderDetail")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse<GoodsorderDetailVO> discountOrderDetail(@RequestParam String id) {
+        return ApiResponse.success(goodsorderService.getGoodsorderDetailForDisCount(id));
+    }
+
+    /**
+     * 寮哄埗缁撶畻璁㈠崟
+     * @param id
+     * @return
+     */
+    @ApiOperation("寮哄埗缁撶畻璁㈠崟")
+    @PostMapping("/closerGoodsorder")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse closerGoodsorder(@RequestBody Goodsorder goodsorder){
+        goodsorderService.forceCloseGoodsorder(goodsorder.getId());
+        return ApiResponse.success(null);
+    }
+
+
+    @ApiOperation("閫�娆�")
+    @PostMapping("/backGoodsorder")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse backGoodsorder(@RequestBody GoodsorderBackDTO goodsorderBackDTO){
+        if(Objects.nonNull(goodsorderBackDTO) && Objects.isNull(goodsorderBackDTO.getBackType())){
+            goodsorderBackDTO.setBackType(Constants.ONE);
+        }
+        goodsorderService.backGoodsorder(goodsorderBackDTO);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鑾峰彇鍙��娆句俊鎭�")
+    @GetMapping("/getGoodsorderCanBanlanceDTO")
+    @RequiresPermissions("business:goodsorder:query")
+    public ApiResponse<GoodsorderCanBanlanceDTO> getGoodsorderCanBanlanceDTO(@RequestParam String orderId){
+        return ApiResponse.success(goodsorderService.getGoodsorderCanBanlanceDTO(orderId));
+    }
+
+
+    @ApiOperation("杞﹀瀷鏀跺叆鍒嗘瀽")
+    @PostMapping("/getBikeIncomeReportVOList")
+    public ApiResponse<List<List<String>>> getBikeIncomeReportVOList (@RequestBody Goodsorder goodsorder) {
+        return ApiResponse.success(goodsorderService.getBikeIncomeReportVOList(goodsorder.getStartDate(),goodsorder.getEndDate()));
+    }
+
+
+
+    @ApiOperation("杞﹀瀷鏀跺叆鍒嗘瀽-瀵煎嚭Excel")
+    @PostMapping("/bikeIncomeExportExcel")
+    public void exportExcel (@RequestBody Goodsorder goodsorder, HttpServletResponse response) {
+        goodsorderService.excel(goodsorder.getStartDate(),goodsorder.getEndDate(),response);
     }
 }

--
Gitblit v1.9.3