From 1f4e7d0f73a73e7350cf5a1df279d5f30904c5d5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 06 十二月 2023 08:41:32 +0800
Subject: [PATCH] bug

---
 server/src/main/java/doumeemes/service/business/impl/CompanyServiceImpl.java |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/server/src/main/java/doumeemes/service/business/impl/CompanyServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/CompanyServiceImpl.java
index 726b6bf..a58b286 100644
--- a/server/src/main/java/doumeemes/service/business/impl/CompanyServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/CompanyServiceImpl.java
@@ -14,6 +14,7 @@
 import doumeemes.dao.business.model.CompanyLog;
 import doumeemes.dao.business.model.Multifiles;
 import doumeemes.dao.ext.dto.DingDingConfig;
+import doumeemes.dao.ext.vo.CompanyExtListVO;
 import doumeemes.service.business.CompanyLogService;
 import doumeemes.service.business.CompanyService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -21,9 +22,12 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import doumeemes.service.business.MultifilesService;
+import doumeemes.service.ext.DepartmentExtService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -47,6 +51,10 @@
     @Autowired
     private CompanyLogService companyLogService;
 
+    @Autowired
+    @Lazy
+    private DepartmentExtService departmentExtService;
+
 
     @Override
     public Integer create(Company company) {
@@ -63,6 +71,8 @@
         company.setUpdateUser(user.getId());
         company.setDeleted(Constants.ONE);
         companyMapper.updateById(company);
+        Company company1 = companyMapper.selectById(company.getId());
+        initRedisCache(company1);
     }
 
     @Override
@@ -115,36 +125,35 @@
         update.setStatus(company.getStatus());
         update.setDingdingInfo(company.getDingdingInfo());
         companyMapper.updateById(update);
-
 //        鏇存柊璁板綍
-
+        CompanyLog companyLog = new CompanyLog();
+        companyLog.setDeleted((byte)Constants.ZERO);
+        companyLog.setUpdateUser(principal.getId());
+        companyLog.setCreateUser(principal.getId());
+        companyLog.setCreateTime(new Date());
+        companyLog.setUpdateTime(new Date());
+        companyLog.setCompanyId(company.getId());
         if(Objects.nonNull(company.getStatus())){
-            CompanyLog companyLog = new CompanyLog();
-            companyLog.setDeleted((byte)Constants.ZERO);
-            companyLog.setUpdateUser(principal.getId());
-            companyLog.setCreateUser(principal.getId());
-            companyLog.setCreateTime(new Date());
-            companyLog.setUpdateTime(new Date());
             companyLog.setRemark(company.getStatus() == 1 ? "鏁版嵁鍚敤" : "鏁版嵁绂佺敤");
-            companyLog.setCompanyId(company.getId());
             companyLog.setUpdateType(company.getStatus() == 1 ? Constants.CompanyUpdateType.UPDATE_ENABLE.getKey()
                     : Constants.CompanyUpdateType.UPDATE_DISABLE.getKey());
             companyLog.setDetail(company.getStatus() == 1 ? "鏁版嵁鍚敤" : "鏁版嵁绂佺敤");
-            companyLogService.create(companyLog);
         }else {
-            CompanyLog companyLog = new CompanyLog();
-            companyLog.setDeleted((byte)Constants.ZERO);
-            companyLog.setUpdateUser(principal.getId());
-            companyLog.setCreateUser(principal.getId());
-            companyLog.setCreateTime(new Date());
-            companyLog.setUpdateTime(new Date());
             companyLog.setRemark("鏇存柊浼佷笟鏁版嵁");
-            companyLog.setCompanyId(company.getId());
             companyLog.setUpdateType(Constants.CompanyUpdateType.UPDATE_CONTENT.getKey());
             companyLog.setDetail("鏇存柊浼佷笟鏁版嵁");
-            companyLogService.create(companyLog);
         }
+        companyLogService.create(companyLog);
+        Company company1 = companyMapper.selectById(company.getId());
+        initRedisCache(company1);
+    }
 
+
+    private void initRedisCache(Company com) {
+        CompanyExtListVO c = new CompanyExtListVO();
+        BeanUtils.copyProperties(com,c);
+        departmentExtService.loadComDepart(c);
+        departmentExtService.initCompnayCodesByCom(com);
     }
 
     private Boolean isParseObject(String dingdingInfo){
@@ -185,7 +194,7 @@
         QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
         return companyMapper.selectList(wrapper);
     }
-  
+
     @Override
     public PageData<Company> findPage(PageWrap<Company> pageWrap) {
         IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());

--
Gitblit v1.9.3