From 766089ad50ae807ab88ba83b2dbc4a53bda8e423 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 05 十二月 2023 18:27:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 3161c88..5958cf0 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -24,6 +24,7 @@
 import org.springframework.stereotype.Service;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 浼佷笟淇℃伅琛⊿ervice瀹炵幇
@@ -50,7 +51,6 @@
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
 
         checkUnique(company);
-
         Company insert = new Company();
         insert.setCreator(loginUserInfo.getId());
         insert.setCreateDate(new Date());
@@ -233,6 +233,7 @@
                     .leftJoin(SystemUser.class,SystemUser::getId,Company::getCreator);
         queryWrapper.selectAll(Company.class)
                     .selectAs(Category::getName,Company::getCategoryName)
+                    .select("count(t1.id) as countNum")
                     .selectAs(SystemUser::getRealname,Company::getCreatorName);
         IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper);
         return PageData.from(companyIPage);
@@ -255,9 +256,16 @@
                 .eq(Company::getType,Constants.ZERO)
                 .eq(Company::getName,company.getName());
         List<Company> companies = companyMapper.selectList(wrapper);
-
-        if (CollectionUtils.isNotEmpty(companies)){
-            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"浼佷笟淇℃伅宸插瓨鍦�");
+        if (CollectionUtils.isEmpty(companies)){
+            return;
+        }
+        //鏂板鐨勬儏鍐靛瓨鍦ㄨ褰�
+        if (Objects.isNull(company.getId())){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍏徃鍚嶇О宸插瓨鍦�");
+        }
+        //淇敼鐨勬儏鍐靛瓨鍦ㄨ褰� 鍖归厤涓嶅埌 own
+        if (!companies.stream().map(s -> s.getId()).anyMatch(s -> s.equals(company.getId()))){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍏徃鍚嶇О宸插瓨鍦�");
         }
     }
 }

--
Gitblit v1.9.3