Browse Source

修复bug

lyhzzz 1 year ago
parent
commit
924d49e6d2

+ 4 - 0
src/main/java/com/fdkankan/fusion/controller/TmProjectController.java

@@ -77,6 +77,10 @@ public class TmProjectController {
         return ResultData.ok("新增成功");
 
     }
+
+    /**
+     * 编辑,删除项目
+     */
     @PostMapping(value = "/updateProject")
     public ResultData updateProject(@RequestBody TmProject tmProject){
         tmProjectService.updateProject(tmProject);

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseFilesService.java

@@ -18,4 +18,6 @@ public interface ICaseFilesService extends IService<CaseFiles> {
     List<CaseFiles> allList(Integer caseId, Integer caseFilesTypeId);
 
     List<CaseFiles> getByCaseId(Integer caseId);
+
+    void deleteByCaseId(Integer caseId);
 }

+ 23 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseFilesServiceImpl.java

@@ -2,12 +2,16 @@ package com.fdkankan.fusion.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.common.util.UploadToOssUtil;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.entity.CaseFiles;
 import com.fdkankan.fusion.mapper.ICaseFilesMapper;
 import com.fdkankan.fusion.service.ICaseFilesService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -23,6 +27,11 @@ import java.util.List;
 @Service
 public class CaseFilesServiceImpl extends ServiceImpl<ICaseFilesMapper, CaseFiles> implements ICaseFilesService {
 
+    @Autowired
+    UploadToOssUtil uploadToOssUtil;
+    @Value("${upload.query-path}")
+    private String queryPath;
+
     @Override
     public List<CaseFiles> allList(Integer caseId, Integer caseFilesTypeId) {
         if(caseId == null){
@@ -44,4 +53,18 @@ public class CaseFilesServiceImpl extends ServiceImpl<ICaseFilesMapper, CaseFile
         wrapper.eq(CaseFiles::getCaseId,caseId);
         return this.list();
     }
+
+    @Override
+    public void deleteByCaseId(Integer caseId) {
+        List<CaseFiles> byCaseId = this.getByCaseId(caseId);
+        for (CaseFiles files : byCaseId) {
+            if(StringUtils.isNotBlank(files.getFilesUrl())){
+                String ossPath = files.getFilesUrl().replace(queryPath,"");
+                if(uploadToOssUtil.existKey(ossPath)){
+                    uploadToOssUtil.delete(ossPath);
+                }
+            }
+            this.removeById(files.getFilesId());
+        }
+    }
 }

+ 3 - 1
src/main/java/com/fdkankan/fusion/service/impl/CaseServiceImpl.java

@@ -42,6 +42,8 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
     @Autowired
     ICaseNumService caseNumService;
     @Autowired
+    ICaseFilesService caseFilesService;
+    @Autowired
     IModelService modelService;
     @Autowired
     IFusionNumService fusionNumService;
@@ -202,7 +204,7 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
         }
         //删除关联的场景
         caseNumService.deleteByCaseId(caseId);
-
+        caseFilesService.deleteByCaseId(caseId);
         this.removeById(caseId);
     }
 

+ 15 - 5
src/main/java/com/fdkankan/fusion/service/impl/ModelServiceImpl.java

@@ -22,10 +22,7 @@ import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.mapper.IModelMapper;
 import com.fdkankan.fusion.request.ModelPram;
 import com.fdkankan.fusion.response.SceneVo;
-import com.fdkankan.fusion.service.ICaseNumService;
-import com.fdkankan.fusion.service.ICaseService;
-import com.fdkankan.fusion.service.IFusionNumService;
-import com.fdkankan.fusion.service.IModelService;
+import com.fdkankan.fusion.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.redis.util.RedisUtil;
 import lombok.SneakyThrows;
@@ -63,6 +60,10 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
     IFusionNumService fusionNumService;
     @Autowired
     RedisUtil redisUtil;
+    @Autowired
+    ITmDepartmentService tmDepartmentService;
+    @Autowired
+    ITmUserService tmUserService;
 
     @Value("${upload.query-path}")
     private String queryPath;
@@ -270,7 +271,16 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
     @Override
     public PageInfo pageList(ModelPram param, String userName) {
         LambdaQueryWrapper<Model> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Model::getUserName,userName);
+        List<String> deptIds = tmDepartmentService.getDeptIds();
+        if(deptIds.size() <=0){
+            return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
+        }
+        List<TmUser> userList = tmUserService.getByDeptIds(deptIds);
+        List<String> userNameList = userList.stream().map(TmUser::getUserName).collect(Collectors.toList());
+        if(userNameList.size()<=0){
+            return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
+        }
+        wrapper.in(Model::getUserName,userNameList);
         wrapper.eq(Model::getType,3);
         wrapper.notIn(Model::getCreateStatus,-2);
         if(param.getStatus()!=null){    //参数2为成功,数据库中成功为1

+ 21 - 1
src/main/java/com/fdkankan/fusion/service/impl/TmDepartmentServiceImpl.java

@@ -55,12 +55,27 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
         if(dept.getLevel() >4){
             throw new BusinessException(ResultCode.DEPT_ADD_ERROR);
         }
+        List<TmDepartment> tmDepartments = new ArrayList<>();
+        this.getParentList(dept.getParentId(),tmDepartments);
+        if(tmDepartments.size() >4){
+            throw new BusinessException(ResultCode.DEPT_ADD_ERROR);
+        }
         dept.setId(IdPreEnum.DEPARTMENT_PRE.getPre() +IdUtil.getSnowflake(1).nextId() );
         //dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
         dept.setCreatorId((String) StpUtil.getLoginId());
         this.save(dept);
     }
 
+    private void getParentList(String deptId,List<TmDepartment> tmDepartments) {
+        if(StringUtils.isNotBlank(deptId)){
+            TmDepartment tmDepartment = this.getById(deptId);
+            if(tmDepartment != null){
+                tmDepartments.add(tmDepartment);
+                getParentList(tmDepartment.getParentId(),tmDepartments);
+            }
+        }
+    }
+
     @Override
     public void updateDept(TmDepartment dept) {
         if(!checkDeptNameUnique(dept.getName(),dept.getId())){
@@ -125,7 +140,12 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
             TmUserRole tmUserRole = tmUserRoles.get(0);
             TmRole tmRole = tmRoleService.getById(tmUserRole.getRoleId());
             if(tmRole != null && tmRole.getRoleKey().equals("admin-ordinary")){
-                return Arrays.asList(this.getById(tmUser.getDeptId()));
+                TmDepartment tmDepartment = this.getById(tmUser.getDeptId());
+                TmDepartment parentDept = this.getById(tmDepartment.getParentId());
+                if(parentDept !=null){
+                    tmDepartment.setParentName(parentDept.getName());
+                }
+                return Arrays.asList(tmDepartment);
             }
         }
         return getDeptList(tmUser.getDeptId());

+ 1 - 0
src/main/java/com/fdkankan/fusion/service/impl/TmProjectServiceImpl.java

@@ -281,6 +281,7 @@ public class TmProjectServiceImpl extends ServiceImpl<ITmProjectMapper, TmProjec
             if(tmRole.getRoleKey().equals(RoleKeyEnum.ADMIN_DEPT.getKey())){
                 List<TmDepartment> sonByDeptId = tmDepartmentService.getSonByDeptId(loginUser.getDeptId());
                 List<String> deptIds = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList());
+                deptIds.add(loginUser.getDeptId());
                 for (String projectDeptId : projectDeptIds) {
                     if(!deptIds.contains(projectDeptId)){
                         throw new BusinessException(ResultCode.NOT_PER);