From fec1341c1cb8e11cfbe3fa7dfabe447edb72b630 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 27 十月 2026 15:12:43 +0800
Subject: [PATCH] refactor(auth): 移除多个模块中的权限校验注解

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java
index 58e02d1..ad5cf27 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java
@@ -10,14 +10,17 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractRespVO;
+import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceRespVO;
 import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivablePageReqVO;
 import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableRespVO;
 import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableSaveReqVO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.invoice.CrmInvoiceDO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.CrmReceivableDO;
 import cn.iocoder.yudao.module.crm.service.contract.CrmContractService;
 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
+import cn.iocoder.yudao.module.crm.service.invoice.CrmInvoiceService;
 import cn.iocoder.yudao.module.crm.service.receivable.CrmReceivableService;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@@ -59,6 +62,8 @@
     private CrmContractService contractService;
     @Resource
     private CrmCustomerService customerService;
+    @Resource
+    private CrmInvoiceService invoiceService;
 
     @Resource
     private AdminUserApi adminUserApi;
@@ -92,7 +97,6 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱鍥炴")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
     public CommonResult<CrmReceivableRespVO> getReceivable(@RequestParam("id") Long id) {
         CrmReceivableDO receivable = receivableService.getReceivable(id);
         return success(buildReceivableDetail(receivable));
@@ -107,7 +111,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱鍥炴鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
     public CommonResult<PageResult<CrmReceivableRespVO>> getReceivablePage(@Valid CrmReceivablePageReqVO pageReqVO) {
         PageResult<CrmReceivableDO> pageResult = receivableService.getReceivablePage(pageReqVO, getLoginUserId());
         return success(new PageResult<>(buildReceivableDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -148,6 +151,9 @@
         // 1.3 鑾峰緱鍚堝悓鍒楄〃
         Map<Long, CrmContractDO> contractMap = contractService.getContractMap(
                 convertSet(receivableList, CrmReceivableDO::getContractId));
+        // 1.4 鑾峰緱鍏宠仈寮�绁ㄥ垪琛�
+        Map<Long, CrmInvoiceDO> invoiceMap = invoiceService.getInvoiceMap(
+                convertSet(receivableList, CrmReceivableDO::getInvoiceId));
         // 2. 鎷兼帴缁撴灉
         return BeanUtils.toBean(receivableList, CrmReceivableRespVO.class, (receivableVO) -> {
             // 2.1 鎷兼帴瀹㈡埛鍚嶇О
@@ -162,20 +168,23 @@
             // 2.3 鎷兼帴鍚堝悓淇℃伅
             findAndThen(contractMap, receivableVO.getContractId(), contract ->
                     receivableVO.setContract(BeanUtils.toBean(contract, CrmContractRespVO.class)));
+            // 2.4 鎷兼帴鍏宠仈寮�绁ㄤ俊鎭�
+            findAndThen(invoiceMap, receivableVO.getInvoiceId(), invoice ->
+                    receivableVO.setInvoice(BeanUtils.toBean(invoice, CrmInvoiceRespVO.class)));
         });
     }
 
-    @PutMapping("/submit")
-    @Operation(summary = "鎻愪氦鍥炴瀹℃壒")
+    @PutMapping("/update-status")
+    @Operation(summary = "鏇存柊鍥炴鐨勭姸鎬侊紙瀹℃牳/鍙嶅鏍革級")
     @PreAuthorize("@ss.hasPermission('crm:receivable:update')")
-    public CommonResult<Boolean> submitContract(@RequestParam("id") Long id) {
-        receivableService.submitReceivable(id, getLoginUserId());
+    public CommonResult<Boolean> updateReceivableStatus(@RequestParam("id") Long id,
+                                                        @RequestParam("status") Integer status) {
+        receivableService.updateReceivableStatus(id, status);
         return success(true);
     }
 
     @GetMapping("/audit-count")
     @Operation(summary = "鑾峰緱寰呭鏍稿洖娆炬暟閲�")
-    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
     public CommonResult<Long> getAuditReceivableCount() {
         return success(receivableService.getAuditReceivableCount(getLoginUserId()));
     }

--
Gitblit v1.9.3