周洋 1 неделя назад
Родитель
Сommit
ca1135c64e
100 измененных файлов с 376 добавлено и 35 удалено
  1. 1 0
      fs-admin-saas/pom.xml
  2. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdAccountController.java
  3. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdDomainController.java
  4. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdDyAccountController.java
  5. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdDyApiController.java
  6. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdHtmlClickLogController.java
  7. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdHtmlTemplateController.java
  8. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdIqiyiAccountController.java
  9. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdSiteController.java
  10. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdUploadLogController.java
  11. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/AdYoukuAccountController.java
  12. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/BdAccountController.java
  13. 3 1
      fs-admin-saas/src/main/java/com/fs/ad/controller/MockAppController.java
  14. 2 0
      fs-admin-saas/src/main/java/com/fs/ad/controller/StatisticsController.java
  15. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminAdController.java
  16. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminAiWorkflowBridgeController.java
  17. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCommissionRecordController.java
  18. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCompanyBridgeController.java
  19. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminConsumeRecordController.java
  20. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCourseBridgeController.java
  21. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCrmController.java
  22. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminHisBridgeController.java
  23. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLiveBridgeController.java
  24. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLiveVideoController.java
  25. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLobsterBridgeController.java
  26. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminMiscBridge2Controller.java
  27. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminModuleUsageController.java
  28. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminProxyController.java
  29. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminRechargeRecordController.java
  30. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminServiceCostController.java
  31. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminSopController.java
  32. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStatisticsController.java
  33. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreMiscController.java
  34. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreOrderAdminController.java
  35. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreOrderController.java
  36. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreProductController.java
  37. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminVideoResourceController.java
  38. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AdminWithdrawalController.java
  39. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AiChatQualityController.java
  40. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/AiProviderAdminController.java
  41. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/ArticleAdminController.java
  42. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/CallRecordAdminController.java
  43. 143 6
      fs-admin-saas/src/main/java/com/fs/admin/controller/CompanyAdminController.java
  44. 37 28
      fs-admin-saas/src/main/java/com/fs/admin/controller/CompanyUserAdminController.java
  45. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/CourseAdminController.java
  46. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/DbConfigController.java
  47. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/LiveAdminController.java
  48. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/LobsterAdminController.java
  49. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/ProductAdminController.java
  50. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/ProxyOperLogController.java
  51. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/QwExternalContactAdminController.java
  52. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsAdvScrmBridgeController.java
  53. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsMenuScrmBridgeController.java
  54. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsPrescribeDrugScrmBridgeController.java
  55. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsPrescribeScrmBridgeController.java
  56. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesFreeScrmBridgeController.java
  57. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesRegionScrmBridgeController.java
  58. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesScrmBridgeController.java
  59. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreActivityScrmBridgeController.java
  60. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesItemScrmBridgeController.java
  61. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesScrmBridgeController.java
  62. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesStatusScrmBridgeController.java
  63. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCartScrmBridgeController.java
  64. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponIssueScrmBridgeController.java
  65. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponIssueUserScrmBridgeController.java
  66. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponScrmBridgeController.java
  67. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponUserScrmBridgeController.java
  68. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderAuditScrmBridgeController.java
  69. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderItemScrmBridgeController.java
  70. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderNoticeScrmBridgeController.java
  71. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderOfflineScrmBridgeController.java
  72. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderPromotionScrmBridgeController.java
  73. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderScrmBridgeController.java
  74. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderStatusScrmBridgeController.java
  75. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductAttrScrmBridgeController.java
  76. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductAttrValueScrmBridgeController.java
  77. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductCategoryScrmBridgeController.java
  78. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductDetailsScrmBridgeController.java
  79. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductGroupScrmBridgeController.java
  80. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductRelationScrmBridgeController.java
  81. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductReplyScrmBridgeController.java
  82. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductRuleScrmBridgeController.java
  83. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductTemplateScrmBridgeController.java
  84. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreRecommendScrmBridgeController.java
  85. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreShopStaffScrmBridgeController.java
  86. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreVisitScrmBridgeController.java
  87. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsUserPromoterApplyScrmBridgeController.java
  88. 2 0
      fs-admin-saas/src/main/java/com/fs/admin/controller/store/SysOperlogScrmBridgeController.java
  89. 2 0
      fs-admin-saas/src/main/java/com/fs/aiSoundReplication/VoiceCloneController.java
  90. 2 0
      fs-admin-saas/src/main/java/com/fs/api/controller/IndexStatisticsController.java
  91. 2 0
      fs-admin-saas/src/main/java/com/fs/api/controller/StatisticManageController.java
  92. 2 0
      fs-admin-saas/src/main/java/com/fs/billing/controller/BillingStatementController.java
  93. 2 0
      fs-admin-saas/src/main/java/com/fs/billing/controller/FeePlanController.java
  94. 2 0
      fs-admin-saas/src/main/java/com/fs/billing/controller/TenantBillingController.java
  95. 2 0
      fs-admin-saas/src/main/java/com/fs/billing/controller/UsageEventController.java
  96. 2 0
      fs-admin-saas/src/main/java/com/fs/billing/controller/WalletController.java
  97. 2 0
      fs-admin-saas/src/main/java/com/fs/chat/controller/FastGptRoleController.java
  98. 2 0
      fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallBizGroupController.java
  99. 2 0
      fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallGatewayController.java
  100. 2 0
      fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallLlmAgentAccountController.java

+ 1 - 0
fs-admin-saas/pom.xml

@@ -230,6 +230,7 @@
                             <artifactId>annotations-api</artifactId>
                         </exclude>
                     </excludes>
+                    <classifier>exec</classifier> <!-- repackage后的fat jar带exec后缀,原始jar保持普通格式可被其他项目依赖 -->
                 </configuration>
                 <executions>
                     <execution>

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdAccountController.java

@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.Profile;
 
 /**
  * 站点管理Controller
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author fs
  * @date 2025-03-04
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/adAccount")
 public class AdAccountController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdDomainController.java

@@ -12,6 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2025-03-04
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/adDomain")
 public class AdDomainController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdDyAccountController.java

@@ -19,6 +19,7 @@ import com.fs.ad.domain.AdDyAccount;
 import com.fs.ad.service.IAdDyAccountService;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.common.core.page.TableDataInfo;
+import org.springframework.context.annotation.Profile;
 
 /**
  * 抖音账户Controller
@@ -26,6 +27,7 @@ import com.fs.common.core.page.TableDataInfo;
  * @author 吴树波
  * @date 2025-05-27
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/AdDyAccount")
 public class AdDyAccountController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdDyApiController.java

@@ -1,6 +1,7 @@
 package com.fs.ad.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.ad.vo.DyAuthorizedVo;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -28,6 +29,7 @@ import com.fs.common.core.page.TableDataInfo;
  * @author 吴树波
  * @date 2025-05-27
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/adDyApi")
 public class AdDyApiController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdHtmlClickLogController.java

@@ -11,6 +11,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -20,6 +21,7 @@ import java.util.List;
  * @author fs
  * @date 2025-01-09
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/clickLog")
 public class AdHtmlClickLogController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdHtmlTemplateController.java

@@ -12,6 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2024-12-31
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/html/template")
 public class AdHtmlTemplateController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdIqiyiAccountController.java

@@ -12,6 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2025-03-03
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/AdIqiyiAccount")
 public class AdIqiyiAccountController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdSiteController.java

@@ -12,6 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2025-03-04
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/adSite")
 public class AdSiteController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdUploadLogController.java

@@ -11,6 +11,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -20,6 +21,7 @@ import java.util.List;
  * @author fs
  * @date 2025-03-14
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/AdUploadLog")
 public class AdUploadLogController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/AdYoukuAccountController.java

@@ -12,6 +12,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2025-02-19
  */
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/ad/AdYouKuAccount")
 public class AdYoukuAccountController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/BdAccountController.java

@@ -13,6 +13,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 import java.util.Optional;
@@ -23,6 +24,7 @@ import java.util.Optional;
  * @author fs
  * @date 2025-01-20
  */
+@Profile({"admin", "company"})
 @RestController
 @AllArgsConstructor
 @RequestMapping("/bd/BdAccount")

+ 3 - 1
fs-admin-saas/src/main/java/com/fs/ad/controller/MockAppController.java

@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.Profile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.security.MessageDigest;
@@ -21,6 +22,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.TreeMap;
 
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/baiduBack")
 public class MockAppController {
@@ -213,4 +215,4 @@ public class MockAppController {
         responseMap.put("data", data);
         return JSONObject.valueToString(responseMap);
     }
-}
+}

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/ad/controller/StatisticsController.java

@@ -20,10 +20,12 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.Profile;
 
 import java.time.LocalDate;
 import java.util.List;
 
+@Profile({"admin", "company"})
 @RestController
 @AllArgsConstructor
 @RequestMapping("/baiduStatistics")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminAdController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台视频资源(广告账户)管理控制器
  * 遍历所有租户库查询 ad_account 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/ad")
 public class AdminAdController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminAiWorkflowBridgeController.java

@@ -17,6 +17,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
@@ -32,6 +33,7 @@ import java.util.List;
  * @author fs
  * @date 2026-05-12
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/his/aiWorkflow")
 public class AdminAiWorkflowBridgeController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCommissionRecordController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台-代理返佣记录控制器
  * 数据来源:tenant_consume_record (proxy_id IS NOT NULL)
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/commission-record")
 public class AdminCommissionRecordController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCompanyBridgeController.java

@@ -12,6 +12,7 @@ import com.fs.company.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -20,6 +21,7 @@ import java.util.*;
  * 桥接 company 服务层,解决 com.fs.company.controller 被 fs-admin 排除的问题
  * 覆盖所有 /company/* 在 adminui 上返回 404 的端点
  */
+@Profile("admin")
 @RestController
 public class AdminCompanyBridgeController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminConsumeRecordController.java

@@ -2,6 +2,7 @@ package com.fs.admin.controller;
 
 import java.util.*;
 import java.util.stream.Collectors;
+import org.springframework.context.annotation.Profile;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fs.admin.vo.ConsumeRecordExportVO;
@@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台-租户消费扣款记录控制器
  * 数据来源:tenant_wallet_txn (txn_type='CONSUME')
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/consume-record")
 public class AdminConsumeRecordController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCourseBridgeController.java

@@ -5,6 +5,7 @@ import com.fs.common.core.page.TableDataInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -13,6 +14,7 @@ import java.util.*;
  * 原始控制器在 com.fs.course.controller.* 被 fs-admin 排除
  * 覆盖 adminui 中 8004=404 的 course/* 和 courseFinishTemp/* 端点
  */
+@Profile("admin")
 @RestController
 public class AdminCourseBridgeController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminCrmController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台CRM销冠语料管理控制器
  * 遍历所有租户库查询 crm_customer 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/crm")
 public class AdminCrmController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminHisBridgeController.java

@@ -5,6 +5,7 @@ import com.fs.common.core.page.TableDataInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -15,6 +16,7 @@ import java.util.*;
  *
  * 覆盖 adminui 中 8004=404 的 his/* 和 his/statistics/* 端点
  */
+@Profile("admin")
 @RestController
 public class AdminHisBridgeController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLiveBridgeController.java

@@ -5,6 +5,7 @@ import com.fs.common.core.page.TableDataInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -13,6 +14,7 @@ import java.util.*;
  * 原始控制器在 com.fs.live.controller.* 被 fs-admin 排除
  * 覆盖 adminui 中 8004=404 的 live/* 端点
  */
+@Profile("admin")
 @RestController
 public class AdminLiveBridgeController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLiveVideoController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.core.controller.BaseController;
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台直播视频审计控制器
  * 遍历所有租户库查询 live_video_record 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/liveVideo")
 public class AdminLiveVideoController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminLobsterBridgeController.java

@@ -10,6 +10,7 @@ import com.fs.tenant.mapper.TenantInfoMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -18,6 +19,7 @@ import java.util.*;
  * 原始控制器在 com.fs.company.controller.workflow.* 被 fs-admin 排除
  * 覆盖 adminui 中 8004=404 的 workflow/lobster/* 全部13个端点
  */
+@Profile("admin")
 @RestController
 public class AdminLobsterBridgeController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminMiscBridge2Controller.java

@@ -5,6 +5,7 @@ import com.fs.common.core.page.TableDataInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -17,6 +18,7 @@ import java.util.*;
  *   - ad/html, ad/AdYouKuaccount
  *   - FastGptExtUserTag/FastGptExtUserTag
  */
+@Profile("admin")
 @RestController
 public class AdminMiscBridge2Controller extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminModuleUsageController.java

@@ -2,6 +2,7 @@ package com.fs.admin.controller;
 
 import java.util.List;
 import java.util.Map;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台可查看所有代理下所有租户的模块使用详情
  * 支持按代理维度、租户维度筛选
  */
+@Profile("admin")
 @RestController
 @RequestMapping({"/admin/moduleUsage", "/admin/module-usage"})
 public class AdminModuleUsageController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminProxyController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.ProxyLog;
 import com.fs.common.core.controller.BaseController;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * @author fs
  * @date 2024-01-01
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/proxy")
 public class AdminProxyController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminRechargeRecordController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fs.admin.vo.RechargeRecordExportVO;
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台-租户充值记录控制器
  * 数据来源:tenant_wallet_txn (txn_type='RECHARGE')
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/recharge-record")
 public class AdminRechargeRecordController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminServiceCostController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * @author fs
  * @date 2024-01-01
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/serviceCost")
 public class AdminServiceCostController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminSopController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台SOP工作流管理控制器
  * 遍历所有租户库查询 qw_sop / qw_sop_temp 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/sop")
 public class AdminSopController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStatisticsController.java

@@ -6,6 +6,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
  * @author fs
  * @date 2024-01-01
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/statistics")
 public class AdminStatisticsController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreMiscController.java

@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.*;
 
@@ -18,6 +19,7 @@ import java.util.*;
  * 商城运营/优惠券/物流/门店管理 - adminui端Controller(fs-admin 8004)
  * 桥接 hisStore 服务层,提供 /store/* 运营相关路径的完整CRUD
  */
+@Profile("admin")
 @RestController
 public class AdminStoreMiscController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreOrderAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台销售订单管理控制器
  * 遍历所有租户库查询 fs_store_order_scrm 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/storeOrder")
 public class AdminStoreOrderAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreOrderController.java

@@ -12,6 +12,7 @@ import com.fs.hisStore.vo.FsStoreOrderAuditVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -19,6 +20,7 @@ import java.util.List;
  * 商城订单/支付/售后管理 - adminui端Controller(fs-admin 8004)
  * 桥接 hisStore 服务层,提供 /store/* 订单相关路径的完整CRUD
  */
+@Profile("admin")
 @RestController
 public class AdminStoreOrderController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminStoreProductController.java

@@ -10,6 +10,7 @@ import com.fs.hisStore.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -17,6 +18,7 @@ import java.util.List;
  * 商城商品管理 - adminui端Controller(fs-admin 8004)
  * 桥接 hisStore 服务层,提供 /store/* 路径的完整CRUD
  */
+@Profile("admin")
 @RestController
 public class AdminStoreProductController extends BaseController {
 

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminVideoResourceController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.core.controller.BaseController;
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台视频资源审计控制器
  * 遍历所有租户库查询 fs_user_course_video 数据(视频资源部分)
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/videoResource")
 public class AdminVideoResourceController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AdminWithdrawalController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.Log;
 import com.fs.common.annotation.ProxyLog;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 总后台-代理提现管理控制器
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/withdrawal")
 public class AdminWithdrawalController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AiChatQualityController.java

@@ -15,9 +15,11 @@ import com.fs.proxy.service.AiChatQualityService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/aiChatQuality")
 public class AiChatQualityController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/AiProviderAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.List;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
@@ -12,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+@Profile("admin")
 @RestController
 @RequestMapping({"/admin/aiProvider", "/knowledge/ai-provider"})
 public class AiProviderAdminController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/ArticleAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台文章内容审计控制器
  * 遍历所有租户库查询 fs_article 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/article")
 public class ArticleAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/CallRecordAdminController.java

@@ -14,6 +14,7 @@ import com.fs.proxy.service.CallQualityService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * 总后台外呼记录和质检控制器
  * 查看所有租户的外呼通话记录、录音和质检
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/callRecord")
 public class CallRecordAdminController extends BaseController {

+ 143 - 6
fs-admin-saas/src/main/java/com/fs/admin/controller/CompanyAdminController.java

@@ -4,25 +4,31 @@ import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.domain.entity.SysMenu;
+import com.fs.common.core.domain.entity.TenantCompanyMenu;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.framework.datasource.DynamicDataSourceContextHolder;
+import com.fs.framework.datasource.TenantDataSourceManager;
 import com.fs.tenant.domain.TenantInfo;
+import com.fs.tenant.mapper.TenantInfoMapper;
 import com.fs.tenant.service.TenantInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 总后台租户管理控制器(SaaS 多租户版)
  * 查询 tenant_info 表,不再查询 company 表
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/company")
 public class CompanyAdminController extends BaseController {
@@ -30,6 +36,12 @@ public class CompanyAdminController extends BaseController {
     @Autowired
     private TenantInfoService tenantInfoService;
 
+    @Autowired
+    private TenantInfoMapper tenantInfoMapper;
+
+    @Autowired
+    private TenantDataSourceManager tenantDataSourceManager;
+
     /**
      * 查询所有租户列表
      */
@@ -136,13 +148,138 @@ public class CompanyAdminController extends BaseController {
 
     /**
      * 租户充值/扣款
-     * TODO 后续优化:需要切到租户库查询 company 表余额并操作充值/扣款
      */
     @PreAuthorize("@ss.hasPermi('admin:company:edit')")
     @Log(title = "租户管理", businessType = BusinessType.UPDATE)
     @PostMapping("/{id}/recharge")
     public AjaxResult rechargeCompany(@PathVariable String id, @RequestBody Map<String, Object> params) {
-        // TODO 后续优化:切到租户库执行充值/扣款逻辑
-        return AjaxResult.error("充值/扣款功能暂未对接多租户,后续优化");
+        String operateType = (String) params.get("operateType");
+        Object amountObj = params.get("amount");
+        String remark = params.get("remark") != null ? params.get("remark").toString() : "";
+
+        if (amountObj == null) {
+            return AjaxResult.error("金额不能为空");
+        }
+        java.math.BigDecimal amount;
+        try {
+            amount = new java.math.BigDecimal(amountObj.toString());
+        } catch (NumberFormatException e) {
+            return AjaxResult.error("金额格式不正确");
+        }
+        if (amount.compareTo(java.math.BigDecimal.ZERO) <= 0) {
+            return AjaxResult.error("金额必须大于0");
+        }
+
+        java.math.BigDecimal delta = "deduct".equals(operateType) ? amount.negate() : amount;
+        int rows = tenantInfoService.updateBalance(Long.valueOf(id), delta);
+        if (rows > 0) {
+            return AjaxResult.success("recharge".equals(operateType) ? "充值成功" : "扣款成功");
+        }
+        return AjaxResult.error("recharge".equals(operateType) ? "充值失败,租户不存在" : "扣款失败,余额不足或租户不存在");
+    }
+
+    // ==================== 租户菜单编辑(切租户库) ====================
+
+    /**
+     * 获取租户管理端菜单树(合并模板菜单+租户已有菜单)
+     * flag=sys → 管理端菜单(tenant_sys_menu/租户库sys_menu)
+     * flag=com → 销售端菜单(tenant_company_menu/租户库company_menu)
+     */
+    @PreAuthorize("@ss.hasPermi('admin:company:edit')")
+    @PostMapping("/{id}/menu")
+    public R tenantMenuChange(@PathVariable String id, @RequestBody Map<String, String> params) {
+        String flag = params.getOrDefault("flag", "sys");
+        TenantInfo tenantInfo = tenantInfoMapper.selectTenantInfoById(id);
+        if (tenantInfo == null) return R.error("租户不存在");
+        if (tenantInfo.getStatus() != null && tenantInfo.getStatus() == 2) return R.error("租户初始化中");
+
+        if ("sys".equals(flag)) {
+            List<SysMenu> sysMenus = tenantInfoMapper.selectMenuList(new SysMenu());
+            tenantDataSourceManager.switchTenant(tenantInfo);
+            return tenantInfoService.menuChange(flag, sysMenus, null);
+        }
+
+        List<TenantCompanyMenu> companyMenus = tenantInfoMapper.selectCompanyMenuList(new TenantCompanyMenu());
+        tenantDataSourceManager.switchTenant(tenantInfo);
+        return tenantInfoService.menuChange(flag, null, companyMenus);
+    }
+
+    /**
+     * 编辑租户菜单(勾选/取消勾选/新增)
+     */
+    @PreAuthorize("@ss.hasPermi('admin:company:edit')")
+    @Log(title = "编辑租户菜单", businessType = BusinessType.UPDATE)
+    @PostMapping("/{id}/menu/edit")
+    public R tenantMenuEdit(@PathVariable String id, @RequestBody Map<String, Object> params) {
+        String flag = (String) params.getOrDefault("flag", "sys");
+        @SuppressWarnings("unchecked")
+        List<Long> selected = params.get("selected") != null ? (List<Long>) params.get("selected") : new ArrayList<>();
+        @SuppressWarnings("unchecked")
+        List<Long> unSelected = params.get("unSelected") != null ? (List<Long>) params.get("unSelected") : new ArrayList<>();
+
+        TenantInfo tenantInfo = tenantInfoMapper.selectTenantInfoById(id);
+        if (tenantInfo == null) return R.error("租户不存在");
+        if (tenantInfo.getStatus() != null && tenantInfo.getStatus() == 2) return R.error("租户初始化中");
+
+        if ("sys".equals(flag)) {
+            List<SysMenu> addSysMenu = getAddSysMenu(tenantInfo, selected);
+            tenantDataSourceManager.switchTenant(tenantInfo);
+            return tenantInfoService.menuEdit(selected, unSelected, flag, addSysMenu, null);
+        }
+
+        List<TenantCompanyMenu> addCompanyMenu = getAddCompanyMenu(tenantInfo, selected);
+        tenantDataSourceManager.switchTenant(tenantInfo);
+        return tenantInfoService.menuEdit(selected, unSelected, flag, null, addCompanyMenu);
+    }
+
+    /**
+     * 获取租户库中需要新增的后台菜单
+     */
+    private List<SysMenu> getAddSysMenu(TenantInfo tenantInfo, List<Long> selected) {
+        tenantDataSourceManager.switchTenant(tenantInfo);
+        List<Long> existIds = tenantInfoMapper.selectExistMenuIds();
+        List<Long> needAddIds = selected.stream().filter(mid -> !existIds.contains(mid)).collect(Collectors.toList());
+        DynamicDataSourceContextHolder.setDataSourceType(com.fs.common.enums.DataSourceType.MASTER.name());
+        if (!needAddIds.isEmpty()) {
+            return tenantInfoMapper.getTenSysMenuByIds(needAddIds);
+        }
+        return new ArrayList<>();
+    }
+
+    /**
+     * 获取租户库中需要新增的销售菜单
+     */
+    private List<TenantCompanyMenu> getAddCompanyMenu(TenantInfo tenantInfo, List<Long> selected) {
+        tenantDataSourceManager.switchTenant(tenantInfo);
+        List<Long> existIds = tenantInfoMapper.selectExistComMenuIds();
+        List<Long> needAddIds = selected.stream().filter(mid -> !existIds.contains(mid)).collect(Collectors.toList());
+        DynamicDataSourceContextHolder.setDataSourceType(com.fs.common.enums.DataSourceType.MASTER.name());
+        if (!needAddIds.isEmpty()) {
+            return tenantInfoMapper.getTenComMenuByIds(needAddIds);
+        }
+        return new ArrayList<>();
+    }
+
+    /**
+     * 重置租户管理员密码
+     */
+    @PreAuthorize("@ss.hasPermi('admin:company:edit')")
+    @Log(title = "租户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/{id}/resetPwd")
+    public AjaxResult resetPwd(@PathVariable String id, @RequestBody Map<String, String> params) {
+        String password = params.get("password");
+        if (password == null || password.length() < 6) {
+            return AjaxResult.error("密码长度不能少于6位");
+        }
+        TenantInfo tenantInfo = tenantInfoMapper.selectTenantInfoById(id);
+        if (tenantInfo == null) {
+            return AjaxResult.error("租户不存在");
+        }
+        try {
+            tenantDataSourceManager.switchTenant(tenantInfo);
+            return toAjax(tenantInfoService.resetTenantAdminPwd(Long.valueOf(id), password));
+        } finally {
+            tenantDataSourceManager.clear();
+        }
     }
 }

+ 37 - 28
fs-admin-saas/src/main/java/com/fs/admin/controller/CompanyUserAdminController.java

@@ -2,6 +2,7 @@ package com.fs.admin.controller;
 
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.entity.SysUser;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.annotation.Log;
 import com.fs.common.enums.BusinessType;
@@ -12,20 +13,27 @@ import com.fs.company.domain.CompanyUserChangeApply;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserChangeApplyService;
 import com.fs.company.service.ICompanyUserService;
+import com.fs.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
 /**
- * 总后台员工账户管理控制器
- * 查看所有租户的员工账户、禁用启用员工账户、查看账户变化记录
+ * 总后台管理员账户管理控制器
+ * 读取 ylrz_saas.sys_user 表中 company_id IS NULL 的记录
+ * 这些是 admin 总后台自己的管理员账号,不属于任何租户
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/companyUser")
 public class CompanyUserAdminController extends BaseController {
 
+    @Autowired
+    private ISysUserService sysUserService;
+
     @Autowired
     private ICompanyUserService companyUserService;
 
@@ -36,35 +44,48 @@ public class CompanyUserAdminController extends BaseController {
     private ICompanyService companyService;
 
     /**
-     * 查询所有租户的员工列表
+     * 查询管理员列表(sys_user 中 company_id IS NULL)
      */
     @PreAuthorize("@ss.hasPermi('admin:companyUser:list')")
     @GetMapping("/list")
-    public TableDataInfo list(CompanyUser companyUser) {
+    public TableDataInfo list(SysUser sysUser) {
         startPage();
-        List<CompanyUser> list = companyUserService.selectCompanyUserList(companyUser);
+        List<SysUser> list = sysUserService.selectAdminUserList(sysUser);
         return getDataTable(list);
     }
 
     /**
-     * 导出员列表
+     * 导出管理员列表
      */
-    @Log(title = "导出员列表", businessType = BusinessType.EXPORT)
+    @Log(title = "导出管理员列表", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('admin:companyUser:list')")
     @GetMapping("/export")
-    public AjaxResult export(CompanyUser companyUser) {
-        List<CompanyUser> list = companyUserService.selectCompanyUserList(companyUser);
-        ExcelUtil<CompanyUser> util = new ExcelUtil<>(CompanyUser.class);
-        return util.exportExcel(list, "员账户数据");
+    public AjaxResult export(SysUser sysUser) {
+        List<SysUser> list = sysUserService.selectAdminUserList(sysUser);
+        ExcelUtil<SysUser> util = new ExcelUtil<>(SysUser.class);
+        return util.exportExcel(list, "管理员账户数据");
     }
 
     /**
-     * 获取员详细信息
+     * 获取管理员详细信息
      */
     @PreAuthorize("@ss.hasPermi('admin:companyUser:query')")
     @GetMapping(value = "/{userId}")
     public AjaxResult getInfo(@PathVariable("userId") Long userId) {
-        return AjaxResult.success(companyUserService.selectCompanyUserById(userId));
+        return AjaxResult.success(sysUserService.selectUserById(userId));
+    }
+
+    /**
+     * 禁用/启用管理员账户
+     * SysUser 状态:0=正常 1=停用
+     */
+    @PreAuthorize("@ss.hasPermi('admin:companyUser:edit')")
+    @PutMapping("/status/{userId}")
+    public AjaxResult changeStatus(@PathVariable Long userId, @RequestParam String status) {
+        SysUser sysUser = new SysUser();
+        sysUser.setUserId(userId);
+        sysUser.setStatus(status);
+        return toAjax(sysUserService.updateUserStatus(sysUser));
     }
 
     /**
@@ -80,18 +101,6 @@ public class CompanyUserAdminController extends BaseController {
         return getDataTable(list);
     }
 
-    /**
-     * 禁用/启用员工账户
-     */
-    @PreAuthorize("@ss.hasPermi('admin:companyUser:edit')")
-    @PutMapping("/status/{userId}")
-    public AjaxResult changeStatus(@PathVariable Long userId, @RequestParam Integer status) {
-        CompanyUser companyUser = new CompanyUser();
-        companyUser.setUserId(userId);
-        companyUser.setStatus(status != null ? String.valueOf(status) : "1");
-        return toAjax(companyUserService.updateCompanyUser(companyUser));
-    }
-
     /**
      * 查询员工账户变化记录
      */
@@ -125,13 +134,13 @@ public class CompanyUserAdminController extends BaseController {
     }
 
     /**
-     * 统计各租户员工数量
+     * 统计管理员数量
      */
     @PreAuthorize("@ss.hasPermi('admin:companyUser:query')")
     @GetMapping("/statistics")
     public AjaxResult statistics() {
-        CompanyUser query = new CompanyUser();
-        List<CompanyUser> all = companyUserService.selectCompanyUserList(query);
+        SysUser query = new SysUser();
+        List<SysUser> all = sysUserService.selectAdminUserList(query);
         java.util.Map<String, Object> result = new java.util.HashMap<>();
         result.put("totalCount", all.size());
         return AjaxResult.success(result);

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/CourseAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台课程内容管理控制器
  * 遍历所有租户库查询课程数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/course")
 public class CourseAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/DbConfigController.java

@@ -8,9 +8,11 @@ import com.fs.tenant.service.DbConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/dbConfig")
 public class DbConfigController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/LiveAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台直播内容管理控制器
  * 遍历所有租户库查询 live_video 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/live")
 public class LiveAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/LobsterAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.core.controller.BaseController;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台龙虾引擎管理控制器
  * 遍历所有租户库查询工作流实例数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/lobster")
 public class LobsterAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/ProductAdminController.java

@@ -1,6 +1,7 @@
 package com.fs.admin.controller;
 
 import java.util.*;
+import org.springframework.context.annotation.Profile;
 
 import com.fs.admin.helper.AdminCrossTenantHelper;
 import com.fs.common.annotation.Excel;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
  * 总后台商品审核控制器
  * 遍历所有租户库查询 fs_store_product 数据
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/product")
 public class ProductAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/ProxyOperLogController.java

@@ -11,6 +11,7 @@ import com.fs.proxy.service.IProxyOperLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -19,6 +20,7 @@ import java.util.List;
  *
  * @author fs
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/proxyOperLog")
 public class ProxyOperLogController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/QwExternalContactAdminController.java

@@ -13,6 +13,7 @@ import com.fs.qw.service.IQwExternalContactService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -20,6 +21,7 @@ import java.util.List;
  * 总后台企微用户管理控制器
  * 查看所有租户的企微用户
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/admin/qwContact")
 public class QwExternalContactAdminController extends BaseController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsAdvScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsAdvScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2023-06-08
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/adv")
 public class FsAdvScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsMenuScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsMenuScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/menu")
 public class FsMenuScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsPrescribeDrugScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsPrescribeDrugScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/prescribeDrug")
 public class FsPrescribeDrugScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsPrescribeScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsPrescribeScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/prescribe")
 public class FsPrescribeScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesFreeScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsShippingTemplatesFreeScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/shippingTemplatesFree")
 public class FsShippingTemplatesFreeScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesRegionScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsShippingTemplatesRegionScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/shippingTemplatesRegion")
 public class FsShippingTemplatesRegionScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsShippingTemplatesScrmBridgeController.java

@@ -13,6 +13,7 @@ import com.fs.hisStore.service.IFsShippingTemplatesScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -23,6 +24,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/shippingTemplates")
 public class FsShippingTemplatesScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreActivityScrmBridgeController.java

@@ -14,6 +14,7 @@ import com.fs.hisStore.vo.FsStoreProductActivityListVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -25,6 +26,7 @@ import java.util.List;
  * @author fs
  * @date 2022-11-18
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/storeActivity")
 public class FsStoreActivityScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesItemScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreAfterSalesItemScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeAfterSalesItem")
 public class FsStoreAfterSalesItemScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesScrmBridgeController.java

@@ -33,6 +33,7 @@ import com.fs.system.mapper.SysConfigMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -47,6 +48,7 @@ import java.util.stream.Collectors;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeAfterSales")
 public class FsStoreAfterSalesScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreAfterSalesStatusScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreAfterSalesStatusScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeAfterSalesStatus")
 public class FsStoreAfterSalesStatusScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCartScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreCartScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-21
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeCart")
 public class FsStoreCartScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponIssueScrmBridgeController.java

@@ -12,6 +12,7 @@ import com.fs.hisStore.vo.FsStoreCouponIssueVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -22,6 +23,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeCouponIssue")
 public class FsStoreCouponIssueScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponIssueUserScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreCouponIssueUserScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeCouponIssueUser")
 public class FsStoreCouponIssueUserScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponScrmBridgeController.java

@@ -15,6 +15,7 @@ import com.fs.hisStore.service.IFsStoreCouponScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.Date;
 import java.util.List;
@@ -26,6 +27,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/storeCoupon")
 public class FsStoreCouponScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreCouponUserScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreCouponUserScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeCouponUser")
 public class FsStoreCouponUserScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderAuditScrmBridgeController.java

@@ -15,6 +15,7 @@ import com.fs.hisStore.vo.FsStoreOrderAuditVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -26,6 +27,7 @@ import java.util.List;
  * @author fs
  * @date 2023-06-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrderAudit")
 public class FsStoreOrderAuditScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderItemScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-21
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrderItem")
 public class FsStoreOrderItemScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderNoticeScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreOrderNoticeScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrderNotice")
 public class FsStoreOrderNoticeScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderOfflineScrmBridgeController.java

@@ -21,6 +21,7 @@ import com.fs.hisStore.vo.FsStoreOrderOfflineListVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.Date;
 import java.util.List;
@@ -32,6 +33,7 @@ import java.util.List;
  * @author fs
  * @date 2024-10-29
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrderOffline")
 public class FsStoreOrderOfflineScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderPromotionScrmBridgeController.java

@@ -21,6 +21,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -32,6 +33,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/PromotionOrder")
 public class FsStoreOrderPromotionScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderScrmBridgeController.java

@@ -67,6 +67,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import org.springframework.context.annotation.Profile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
@@ -81,6 +82,7 @@ import java.util.stream.Collectors;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrder")
 public class FsStoreOrderScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreOrderStatusScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreOrderStatusScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeOrderStatus")
 public class FsStoreOrderStatusScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductAttrScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreProductAttrScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductAttr")
 public class FsStoreProductAttrScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductAttrValueScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreProductAttrValueScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductAttrValue")
 public class FsStoreProductAttrValueScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductCategoryScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreProductCategoryScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-16
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductCategory")
 public class FsStoreProductCategoryScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductDetailsScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreProductDetailsScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductDetails")
 public class FsStoreProductDetailsScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductGroupScrmBridgeController.java

@@ -18,6 +18,7 @@ import com.fs.hisStore.service.IFsStoreProductScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -28,6 +29,7 @@ import java.util.List;
  * @author fs
  * @date 2022-11-23
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductGroup")
 public class FsStoreProductGroupScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductRelationScrmBridgeController.java

@@ -15,6 +15,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -25,6 +26,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductRelation")
 public class FsStoreProductRelationScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductReplyScrmBridgeController.java

@@ -13,6 +13,7 @@ import com.fs.hisStore.vo.FsStoreProductReplyVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -23,6 +24,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductReply")
 public class FsStoreProductReplyScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductRuleScrmBridgeController.java

@@ -14,6 +14,7 @@ import com.fs.hisStore.service.IFsStoreProductRuleScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -24,6 +25,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductRule")
 public class FsStoreProductRuleScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreProductTemplateScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreProductTemplateScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeProductTemplate")
 public class FsStoreProductTemplateScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreRecommendScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreRecommendScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2023-06-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/recommend")
 public class FsStoreRecommendScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreShopStaffScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreShopStaffScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeShopStaff")
 public class FsStoreShopStaffScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsStoreVisitScrmBridgeController.java

@@ -11,6 +11,7 @@ import com.fs.hisStore.service.IFsStoreVisitScrmService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2022-03-15
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/storeVisit")
 public class FsStoreVisitScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/FsUserPromoterApplyScrmBridgeController.java

@@ -13,6 +13,7 @@ import com.fs.hisStore.vo.FsUserPromoterApplyVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -23,6 +24,7 @@ import java.util.List;
  * @author fs
  * @date 2023-02-28
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/store/userPromoterApply")
 public class FsUserPromoterApplyScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/admin/controller/store/SysOperlogScrmBridgeController.java

@@ -13,6 +13,7 @@ import com.fs.hisStore.service.ISysOperLogScrmService;
 import com.fs.hisStore.vo.StoreOperMainVO;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -22,6 +23,7 @@ import java.util.List;
  *
  * @author fs
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/store/operlogScrm")
 public class SysOperlogScrmBridgeController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/aiSoundReplication/VoiceCloneController.java

@@ -17,6 +17,7 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -24,6 +25,7 @@ import java.io.File;
 import java.util.List;
 import java.util.UUID;
 
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/api/voice-clone")
 @Api(tags = "声音复刻API")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/api/controller/IndexStatisticsController.java

@@ -20,6 +20,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -33,6 +34,7 @@ import static com.fs.statis.StatisticsRedisConstant.*;
 /**
  * 首页-统计
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/index/statistics")
 public class IndexStatisticsController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/api/controller/StatisticManageController.java

@@ -7,6 +7,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 
@@ -15,6 +16,7 @@ import javax.annotation.Resource;
  * @author: Guos
  * @time: 2025/10/30 上午9:16
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/statistic/manage")
 public class StatisticManageController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/billing/controller/BillingStatementController.java

@@ -6,9 +6,11 @@ import com.fs.common.core.domain.R;
 import com.fs.common.utils.SecurityUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 
+@Profile({"admin", "company"})
 @RestController
 @RequestMapping("/api/fee")
 public class BillingStatementController {

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/billing/controller/FeePlanController.java

@@ -5,10 +5,12 @@ import com.fs.billing.service.BillingServices;
 import com.fs.common.core.domain.R;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+@Profile({"admin", "company"})
 @RestController
 @Validated
 @RequestMapping("/api/fee/plan")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/billing/controller/TenantBillingController.java

@@ -5,10 +5,12 @@ import com.fs.billing.service.BillingServices;
 import com.fs.common.core.domain.R;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+@Profile({"admin", "company"})
 @RestController
 @Validated
 @RequestMapping("/api/fee/tenant")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/billing/controller/UsageEventController.java

@@ -5,10 +5,12 @@ import com.fs.billing.service.BillingServices;
 import com.fs.common.core.domain.R;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+@Profile({"admin", "company"})
 @RestController
 @Validated
 @RequestMapping("/api/fee/usage")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/billing/controller/WalletController.java

@@ -7,10 +7,12 @@ import com.fs.common.utils.SecurityUtils;
 import com.fs.framework.security.LoginUser;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+@Profile({"admin", "company"})
 @RestController
 @Validated
 @RequestMapping("/api/fee/wallet")

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/chat/controller/FastGptRoleController.java

@@ -12,6 +12,7 @@ import com.fs.fastGpt.service.IFastGptRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2024-09-30
  */
+@Profile("admin")
 @RestController
 @RequestMapping("/fastGpt/fastGptRole")
 public class FastGptRoleController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallBizGroupController.java

@@ -11,6 +11,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -20,6 +21,7 @@ import java.util.List;
  * @author fs
  * @date 2026-03-06
  */
+@Profile("company")
 @RestController
 @RequestMapping("/company/aiSipCall/bizGroup")
 public class AiSipCallBizGroupController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallGatewayController.java

@@ -11,6 +11,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.Date;
 import java.util.List;
@@ -21,6 +22,7 @@ import java.util.List;
  * @author fs
  * @date 2026-03-06
  */
+@Profile("company")
 @RestController
 @RequestMapping("/company/aiSipCall/gateway")
 public class AiSipCallGatewayController extends BaseController

+ 2 - 0
fs-admin-saas/src/main/java/com/fs/company/controller/aiSipCall/AiSipCallLlmAgentAccountController.java

@@ -11,6 +11,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
@@ -20,6 +21,7 @@ import java.util.List;
  * @author fs
  * @date 2026-03-06
  */
+@Profile("company")
 @RestController
 @RequestMapping("/company/aiSipCall/llmAgentAccount")
 public class AiSipCallLlmAgentAccountController extends BaseController

Некоторые файлы не были показаны из-за большого количества измененных файлов