From 481d8165f26fc7e37f0e87f6444ac0340bb563a3 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 18:53:22 +0800
Subject: [PATCH] fix: 移植长辉已验证的四类接口 500/体验问题(不含物料颜色字段)

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
index 0c51c0e..e788a01 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
@@ -106,7 +106,6 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱鍟嗘満")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<CrmBusinessRespVO> getBusiness(@RequestParam("id") Long id) {
         CrmBusinessDO business = businessService.getBusiness(id);
         return success(buildBusinessDetail(business));
@@ -160,7 +159,6 @@
 
     @GetMapping("/simple-all-list")
     @Operation(summary = "鑾峰緱鍟嗘満鐨勭簿绠�鍒楄〃")
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<List<CrmBusinessRespVO>> getSimpleContactList() {
         CrmBusinessPageReqVO reqVO = new CrmBusinessPageReqVO();
         reqVO.setPageSize(PAGE_SIZE_NONE); // 涓嶅垎椤�
@@ -173,7 +171,6 @@
     @GetMapping("/list-by-customer")
     @Operation(summary = "鑾峰緱鍟嗘満鍒楄〃锛屽熀浜庢寚瀹氬鎴�")
     @Parameter(name = "customerId", description = "瀹㈡埛缂栧彿", required = true)
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<List<CrmBusinessRespVO>> getBusinessListByCustomer(@RequestParam("customerId") Long customerId) {
         List<CrmBusinessDO> list = businessService.getBusinessListByCustomerId(customerId);
         return success(convertList(list, business -> // 鍙繑鍥� id銆乶ame 瀛楁
@@ -184,7 +181,6 @@
     @GetMapping("/list-by-contact")
     @Operation(summary = "鑾峰緱鍟嗘満鍒楄〃锛屽熀浜庢寚瀹氳仈绯讳汉")
     @Parameter(name = "contactId", description = "鑱旂郴浜虹紪鍙�", required = true)
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<List<CrmBusinessRespVO>> getBusinessListByContact(@RequestParam("contactId") Long contactId) {
         List<CrmBusinessDO> list = businessService.getBusinessListByContact(contactId);
         return success(buildBusinessDetailList(list));
@@ -192,7 +188,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱鍟嗘満鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<PageResult<CrmBusinessRespVO>> getBusinessPage(@Valid CrmBusinessPageReqVO pageVO) {
         PageResult<CrmBusinessDO> pageResult = businessService.getBusinessPage(pageVO, getLoginUserId());
         return success(new PageResult<>(buildBusinessDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -210,7 +205,6 @@
 
     @GetMapping("/page-by-contact")
     @Operation(summary = "鑾峰緱鑱旂郴浜虹殑鍟嗘満鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('crm:business:query')")
     public CommonResult<PageResult<CrmBusinessRespVO>> getBusinessContactPage(@Valid CrmBusinessPageReqVO pageReqVO) {
         PageResult<CrmBusinessDO> pageResult = businessService.getBusinessPageByContact(pageReqVO);
         return success(new PageResult<>(buildBusinessDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -229,6 +223,27 @@
                 buildBusinessDetailList(list));
     }
 
+    @GetMapping("/get-import-template")
+    @Operation(summary = "鑾峰緱瀵煎叆鍟嗘満妯℃澘")
+    public void importTemplate(HttpServletResponse response) throws IOException {
+        // 鎵嬪姩鍒涘缓瀵煎嚭 demo
+        List<CrmBusinessImportExcelVO> list = Arrays.asList(
+                CrmBusinessImportExcelVO.builder().name("绀轰緥鍟嗘満").customerName("绀轰緥瀹㈡埛")
+                        .dealTime(null).totalProductPrice(null).discountPercent(null).totalPrice(null).remark("").build()
+        );
+        // 杈撳嚭
+        ExcelUtils.writeTemplate(response, "鍟嗘満瀵煎叆妯℃澘.xls", "鍟嗘満鍒楄〃", CrmBusinessImportExcelVO.class, list);
+    }
+
+    @PostMapping("/import")
+    @Operation(summary = "瀵煎叆鍟嗘満")
+    @PreAuthorize("@ss.hasPermission('crm:business:import')")
+    public CommonResult<CrmBusinessImportRespVO> importExcel(@Valid CrmBusinessImportReqVO importReqVO)
+            throws Exception {
+        List<CrmBusinessImportExcelVO> list = ExcelUtils.read(importReqVO.getFile(), CrmBusinessImportExcelVO.class);
+        return success(businessService.importBusinessList(list, importReqVO));
+    }
+
     public List<CrmBusinessRespVO> buildBusinessDetailList(List<CrmBusinessDO> list) {
         if (CollUtil.isEmpty(list)) {
             return Collections.emptyList();

--
Gitblit v1.9.3