From e685b58fd40cf28a20844643d70cc5f5b46ca037 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 10 四月 2026 11:08:17 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 server/admin/src/main/java/com/doumee/api/business/PricingRuleController.java |  184 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 184 insertions(+), 0 deletions(-)

diff --git a/server/admin/src/main/java/com/doumee/api/business/PricingRuleController.java b/server/admin/src/main/java/com/doumee/api/business/PricingRuleController.java
new file mode 100644
index 0000000..452168f
--- /dev/null
+++ b/server/admin/src/main/java/com/doumee/api/business/PricingRuleController.java
@@ -0,0 +1,184 @@
+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.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PricingRule;
+import com.doumee.dao.dto.LocalStoragePricingSaveDTO;
+import com.doumee.dao.dto.RemoteDeliveryPricingSaveDTO;
+import com.doumee.dao.dto.EstimatedDeliverySaveDTO;
+import com.doumee.dao.dto.StoreDepositSaveDTO;
+import com.doumee.dao.dto.RevenueShareSaveDTO;
+import com.doumee.dao.vo.LocalStoragePricingVO;
+import com.doumee.dao.vo.RemoteDeliveryPricingVO;
+import com.doumee.dao.vo.EstimatedDeliveryVO;
+import com.doumee.dao.vo.StoreDepositVO;
+import com.doumee.dao.vo.RevenueShareVO;
+import com.doumee.service.business.PricingRuleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 璁′环瑙勫垯閰嶇疆
+ * @author rk
+ * @date 2026/04/08
+ */
+@Api(tags = "璁′环瑙勫垯閰嶇疆")
+@RestController
+@RequestMapping("/business/pricingRule")
+public class PricingRuleController extends BaseController {
+
+    @Autowired
+    private PricingRuleService pricingRuleService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse create(@RequestBody PricingRule pricingRule) {
+        return ApiResponse.success(pricingRuleService.create(pricingRule));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:pricingRule:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        pricingRuleService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:pricingRule:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String[] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        pricingRuleService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:pricingRule:update")
+    public ApiResponse updateById(@RequestBody PricingRule pricingRule) {
+        pricingRuleService.updateById(pricingRule);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<PageData<PricingRule>> findPage(@RequestBody PageWrap<PricingRule> pageWrap) {
+        return ApiResponse.success(pricingRuleService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:pricingRule:exportExcel")
+    public void exportExcel(@RequestBody PageWrap<PricingRule> pageWrap, HttpServletResponse response) {
+        List<PricingRule> pricingRuleList = pricingRuleService.findPage(pageWrap).getRecords();
+        ExcelExporter.build(PricingRule.class).export(pricingRuleList, "璁′环瑙勫垯閰嶇疆", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(pricingRuleService.findById(id));
+    }
+
+    @PreventRepeat
+    @ApiOperation("鎵归噺淇濆瓨灏卞湴瀛樺彇瑙勫垯")
+    @PostMapping("/localStorage/batchSave")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse batchSaveLocalStoragePricing(@RequestBody @Validated LocalStoragePricingSaveDTO request) {
+        pricingRuleService.batchSaveLocalStoragePricing(request);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏌ヨ灏卞湴瀛樺彇瑙勫垯鍒楄〃")
+    @GetMapping("/localStorage/list")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<List<LocalStoragePricingVO>> listLocalStoragePricing(@RequestParam Integer cityId) {
+        return ApiResponse.success(pricingRuleService.listLocalStoragePricing(cityId));
+    }
+
+    @PreventRepeat
+    @ApiOperation("鎵归噺淇濆瓨寮傚湴瀵勯�佽鍒�")
+    @PostMapping("/remoteDelivery/batchSave")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse batchSaveRemoteDeliveryPricing(@RequestBody @Validated RemoteDeliveryPricingSaveDTO request) {
+        pricingRuleService.batchSaveRemoteDeliveryPricing(request);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏌ヨ寮傚湴瀵勯�佽鍒欏垪琛�")
+    @GetMapping("/remoteDelivery/list")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<List<RemoteDeliveryPricingVO>> listRemoteDeliveryPricing(@RequestParam Integer cityId) {
+        return ApiResponse.success(pricingRuleService.listRemoteDeliveryPricing(cityId));
+    }
+
+    @PreventRepeat
+    @ApiOperation("淇濆瓨棰勮鏃舵晥閰嶇疆")
+    @PostMapping("/estimatedDelivery/save")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse saveEstimatedDelivery(@RequestBody @Validated EstimatedDeliverySaveDTO request) {
+        pricingRuleService.saveEstimatedDelivery(request);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏌ヨ棰勮鏃舵晥閰嶇疆")
+    @GetMapping("/estimatedDelivery/list")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<EstimatedDeliveryVO> listEstimatedDelivery(@RequestParam Integer cityId) {
+        return ApiResponse.success(pricingRuleService.getEstimatedDelivery(cityId));
+    }
+
+    @PreventRepeat
+    @ApiOperation("鎵归噺淇濆瓨闂ㄥ簵娉ㄥ唽鎶奸噾")
+    @PostMapping("/storeDeposit/batchSave")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse batchSaveStoreDeposit(@RequestBody @Validated StoreDepositSaveDTO request) {
+        pricingRuleService.batchSaveStoreDeposit(request);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏌ヨ闂ㄥ簵娉ㄥ唽鎶奸噾鍒楄〃")
+    @GetMapping("/storeDeposit/list")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<List<StoreDepositVO>> listStoreDeposit(@RequestParam Integer cityId) {
+        return ApiResponse.success(pricingRuleService.listStoreDeposit(cityId));
+    }
+
+    @PreventRepeat
+    @ApiOperation("鎵归噺淇濆瓨鍒嗘垚姣斾緥")
+    @PostMapping("/revenueShare/batchSave")
+    @RequiresPermissions("business:pricingRule:create")
+    public ApiResponse batchSaveRevenueShare(@RequestBody @Validated RevenueShareSaveDTO request) {
+        pricingRuleService.batchSaveRevenueShare(request);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏌ヨ鍒嗘垚姣斾緥鍒楄〃")
+    @GetMapping("/revenueShare/list")
+    @RequiresPermissions("business:pricingRule:query")
+    public ApiResponse<List<RevenueShareVO>> listRevenueShare(@RequestParam Integer cityId) {
+        return ApiResponse.success(pricingRuleService.listRevenueShare(cityId));
+    }
+
+}

--
Gitblit v1.9.3