From 20e4681bf506385441482548bdbfe9d3abb5fb58 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 27 十二月 2024 14:26:15 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 5d9c136..92e1944 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Indexed;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -38,6 +39,7 @@
 import java.lang.reflect.Array;
 import java.net.URI;
 import java.net.URLEncoder;
+import java.nio.charset.Charset;
 import java.util.*;
 
 /**
@@ -52,6 +54,8 @@
     private boolean debugModel;
     @Autowired
     private CompanyMapper companyMapper;
+    @Autowired
+    private CompanyDepartmentMapper companyDepartmentMapper;
     @Autowired
     private SystemUserMapper systemUserMapper;
     @Autowired
@@ -92,14 +96,37 @@
         companyMapper.insert(company);
         company.setEditDate(company.getCreateDate());
         company.setEditor(user.getId());
+        //鏂板缓榛樿缁勭粐
+        CompanyDepartment department = createDefaultDepart(company);
         //澶勭悊鐧婚檰璐﹀彿淇℃伅
-        dealSystemUserData(company);
+        SystemUser sysuser = dealSystemUserData(company,department.getId());
         //澶勭悊闄勪欢淇℃伅
         dealFileData(company);
         //澶勭悊鍏宠仈鏂规
         dealSolutionsData(company);
         return company;
     }
+
+    private CompanyDepartment createDefaultDepart(Company company) {
+        CompanyDepartment depart = new CompanyDepartment();
+        depart.setCompanyId(company.getId());
+        depart.setCreator(company.getCreator());
+        depart.setCreateDate(company.getCreateDate());
+        depart.setType(Constants.equalsInteger(company.getType(),Constants.ZERO)?Constants.ONE:Constants.TWO);
+        depart.setName(company.getName());
+        depart.setIsdeleted(Constants.ZERO);
+        depart.setNamePath(company.getName());
+        depart.setStatus(Constants.ZERO);
+        depart.setRemark("榛樿鏍圭粍缁�");
+        companyDepartmentMapper.insert(depart);
+
+        depart.setIdPath(company.getId()+"/");
+        companyDepartmentMapper.updateById(depart);//鏇存柊璺緞
+
+        return depart;
+
+    }
+
     @Override
     @Transactional
     public Company createShop(Company company) {
@@ -121,14 +148,17 @@
         company.setSignStatus(Constants.ZERO);
         company.setSignIdStatus(Constants.ZERO);
         companyMapper.insert(company);
+
         company.setEditDate(company.getCreateDate());
         company.setEditor(user.getId());
         //澶勭悊鐧婚檰璐﹀彿淇℃伅
-        dealSystemUserData(company);
+        dealSystemUserData(company,createDefaultDepart(company).getId());
         //澶勭悊闄勪欢淇℃伅
         dealFileData(company);
         return company;
     }
+
+
     @Override
     @Transactional
     public void  updateSolutions(Company company) {
@@ -176,8 +206,9 @@
             if(fileList == null || fileList.size() == 0){
                 throw  new BusinessException(ResponseStatus.DATA_EMPTY);
             }
-            String fileName =  model.getName() +"_浼佷笟璇佷欢_"+System.currentTimeMillis()+".zip" ;
-            String encodeFileName = URLEncoder.encode(fileName);
+
+            String fileName =  model.getName() +"-浼佷笟璇佷欢-"+System.currentTimeMillis() ;
+            String encodeFileName =URLEncoder.encode(fileName, Charset.forName("UTF-8").toString())+".zip";
             response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName);
             response.setContentType("application/octet-stream");
             response.setHeader("eva-opera-type", "download");
@@ -188,7 +219,7 @@
         }
     }
 
-    private void dealSystemUserData(Company company) {
+    private SystemUser dealSystemUserData(Company company, Integer departId) {
         if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda()
                 .eq(SystemUser::getDeleted,Boolean.TRUE)
                 .eq(SystemUser::getUsername,company.getUsername()))>0){
@@ -214,9 +245,11 @@
         user.setRealname(company.getLegalName());
         user.setMobile(company.getPhone());
         user.setCreateUser(company.getCreator());
+        user.setDepartmentId(departId);
         user.setCreateTime(company.getCreateDate());
         user.setStatus(Constants.ZERO);
         systemUserMapper.insert(user);
+        return user;
     }
     private void dealSystemUserDataForUpdate (Company company,String oldUserName) {
         if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda()

--
Gitblit v1.9.3