Explorar o código

refactor(company): 重构公司服务中的评级更新逻辑

- 将updateCompany方法拆分为独立的updateFsCompany方法
- 添加旧等级值检查以避免不必要的SOP更新操作
- 在Controller中切换到使用新的updateFsCompany方法
- 优化评级变更时的qwSopMapper同步逻辑
- 添加必要的对象判空保护避免潜在的空指针异常
xw hai 3 días
pai
achega
5526c52824

+ 1 - 1
fs-admin/src/main/java/com/fs/his/controller/FsCompanyController.java

@@ -168,7 +168,7 @@ public class FsCompanyController extends BaseController {
     {
     {
         company.setMoney(null);
         company.setMoney(null);
         company.setUpdateMiniApp(true);
         company.setUpdateMiniApp(true);
-        return toAjax(companyService.updateCompany(company));
+        return toAjax(companyService.updateFsCompany(company));
     }
     }
 
 
     /**
     /**

+ 5 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyService.java

@@ -66,6 +66,11 @@ public interface ICompanyService
      */
      */
     public int updateCompany(Company company);
     public int updateCompany(Company company);
 
 
+    /**
+     * 修改销售公司(强制评级变更时同步SOP)
+     */
+    int updateFsCompany(Company company);
+
     /**
     /**
      * 批量删除企业
      * 批量删除企业
      *
      *

+ 14 - 2
fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -602,8 +602,20 @@ public class CompanyServiceImpl implements ICompanyService
         if(company.isUpdateMiniApp()){
         if(company.isUpdateMiniApp()){
             bindMiniApp(company);
             bindMiniApp(company);
         }
         }
-        int rows = companyMapper.updateCompany(company);
-        if (rows > 0 && company.getLevel() != null && company.getCompanyId() != null) {
+        return companyMapper.updateCompany(company);
+    }
+
+    @Override
+    public int updateFsCompany(Company company)
+    {
+        Integer oldLevel = null;
+        if (company.getCompanyId() != null && company.getLevel() != null) {
+            Company oldCompany = companyMapper.selectCompanyById(company.getCompanyId());
+            oldLevel = oldCompany != null ? oldCompany.getLevel() : null;
+        }
+        int rows = updateCompany(company);
+        if (rows > 0 && company.getLevel() != null && company.getCompanyId() != null
+                && !Objects.equals(oldLevel, company.getLevel())) {
             qwSopMapper.updateIsRatingByCompanyId(company.getCompanyId(), company.getLevel());
             qwSopMapper.updateIsRatingByCompanyId(company.getCompanyId(), company.getLevel());
         }
         }
         return rows;
         return rows;