lixing 4 роки тому
батько
коміт
c35e2e5be8

+ 18 - 3
fm-person/src/main/java/com/persagy/fm/person/model/ConvertPersonTool.java

@@ -12,6 +12,7 @@ import com.persagy.fm.saas.account.model.dto.AddSaasAccountDTO;
 import com.persagy.fm.saas.account.model.dto.UpdateSaasAccountDTO;
 import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
 import com.persagy.fm.saas.project.model.SaasProject;
+import com.persagy.fm.saas.project.model.vo.ProjectVO;
 import com.persagy.fm.workresume.model.dto.PageQueryWorkResumeDTO;
 import org.mapstruct.*;
 import org.mapstruct.factory.Mappers;
@@ -163,14 +164,14 @@ public interface ConvertPersonTool {
     UpdateSaasAccountDTO convert2UpdateSaasAccountDTO(SaasAccountListItemVO account, UpdatePersonDTO updatePersonDTO);
 
     /**
-     * 运维系统项目列表转换为展示给前端的simpleProjectVO列表
+     * 运维系统项目列表转换为展示给前端的ProjectVO列表
      *
      * @param saasProjects 运维系统项目列表
-     * @return simpleProjectVO列表
+     * @return ProjectVO列表
      * @author lixing
      * @version V1.0 2021/4/9 4:45 下午
      */
-    List<SimpleObjVO> convert2SimpleProjectVoList(List<SaasProject> saasProjects);
+    List<ProjectVO> convert2ProjectVoList(List<SaasProject> saasProjects);
 
     /**
      * 运维系统项目转换为展示给前端的simpleProjectVO
@@ -185,5 +186,19 @@ public interface ConvertPersonTool {
             @Mapping(target = "name", source = "projectName")
     })
     SimpleObjVO convert2SimpleProjectVO(SaasProject saasProject);
+
+    /**
+     * 运维系统项目转换为展示给前端的ProjectVO
+     *
+     * @param saasProject 运维系统项目
+     * @return ProjectVO
+     * @author lixing
+     * @version V1.0 2021/4/9 4:47 下午
+     */
+    @Mappings({
+            @Mapping(target = "id", source = "projectId"),
+            @Mapping(target = "name", source = "projectName")
+    })
+    ProjectVO convert2ProjectVO(SaasProject saasProject);
 }
 

+ 3 - 2
fm-person/src/main/java/com/persagy/fm/person/model/vo/ResponsePersonItemVO.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.persagy.fm.common.model.vo.SimpleObjVO;
 import com.persagy.fm.department.model.vo.DepSimpleObjVO;
+import com.persagy.fm.saas.project.model.vo.ProjectVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -77,7 +78,7 @@ public class ResponsePersonItemVO {
     private List<String> projectIds;
 
     @ApiModelProperty(value = "关联的项目名称")
-    private List<SimpleObjVO> projects;
+    private List<ProjectVO> projects;
 
     @ApiModelProperty(value = "主岗")
     private SimpleObjVO mainDuty;
@@ -141,7 +142,7 @@ public class ResponsePersonItemVO {
         return deps == null ? Lists.newArrayList() : deps;
     }
 
-    public List<SimpleObjVO> getProjects() {
+    public List<ProjectVO> getProjects() {
         return projects == null ? Lists.newArrayList() : projects;
     }
 

+ 2 - 1
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceImpl.java

@@ -37,6 +37,7 @@ import com.persagy.fm.saas.accountrole.model.vo.AccountRoleVO;
 import com.persagy.fm.saas.accountrole.service.ISaasAccountRoleService;
 import com.persagy.fm.saas.project.model.SaasProject;
 import com.persagy.fm.saas.project.model.dto.UpsertSaasProjectDTO;
+import com.persagy.fm.saas.project.model.vo.ProjectVO;
 import com.persagy.fm.saas.project.service.ISaasProjectService;
 import com.persagy.fm.workresume.constant.enums.WorkResumeEnableStateEnum;
 import com.persagy.fm.workresume.constant.enums.WorkResumeHiredStateEnum;
@@ -985,7 +986,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
             List<String> projectIds = saasAccountProjects.stream().
                     map(SaasAccountProject::getProjectId).collect(Collectors.toList());
             List<SaasProject> saasProjects = saasProjectService.queryProjectList(projectIds);
-            List<SimpleObjVO> projectVoList = ConvertPersonTool.INSTANCE.convert2SimpleProjectVoList(saasProjects);
+            List<ProjectVO> projectVoList = ConvertPersonTool.INSTANCE.convert2ProjectVoList(saasProjects);
             responsePersonItemVO.setProjects(projectVoList);
         }
 

+ 37 - 25
fm-person/src/main/java/com/persagy/fm/saas/role/controller/SaasRoleController.java

@@ -1,21 +1,27 @@
 package com.persagy.fm.saas.role.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.persagy.fm.common.response.CommonResult;
+import com.persagy.fm.common.response.PageList;
 import com.persagy.fm.common.utils.ResultHelper;
+import com.persagy.fm.saas.role.model.ConvertSaasRoleTool;
+import com.persagy.fm.saas.role.model.SaasRole;
+import com.persagy.fm.saas.role.model.dto.AddSaasRoleDTO;
+import com.persagy.fm.saas.role.model.dto.DeleteSaasRoleDTO;
+import com.persagy.fm.saas.role.model.dto.PageQuerySaasRoleDTO;
+import com.persagy.fm.saas.role.model.dto.UpdateSaasRoleDTO;
+import com.persagy.fm.saas.role.model.vo.SaasRoleListItemVO;
 import com.persagy.fm.saas.role.service.ISaasRoleService;
-
-import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import com.persagy.fm.saas.role.model.*;
-import com.persagy.fm.saas.role.model.vo.*;
-import com.persagy.fm.saas.role.model.dto.*;
-import com.persagy.fm.common.response.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
-import java.util.List;
 
 /**
  * @author lixing
@@ -37,14 +43,14 @@ public class SaasRoleController {
         return ResultHelper.success("创建成功");
     }
 
-//    @ApiOperation(value = "详情")
-//    @PostMapping("/get")
-//    public FmResponseItem<ResponseSaasRoleItemVO> querySaasRoleDetail(
-//            @Valid @RequestBody QuerySaasRoleDetailDTO querySaasRoleDetailDTO) {
-//        SaasRole saasRole = saasRoleService.querySaasRoleDetail(querySaasRoleDetailDTO.getId());
-//        ResponseSaasRoleItemVO responseSaasRoleItemVO = ConvertSaasRoleTool.INSTANCE.convert2ResponseItemDTO(saasRole);
-//        return ResultHelper.successItem(responseSaasRoleItemVO);
-//    }
+    //    @ApiOperation(value = "详情")
+    //    @PostMapping("/get")
+    //    public FmResponseItem<ResponseSaasRoleItemVO> querySaasRoleDetail(
+    //            @Valid @RequestBody QuerySaasRoleDetailDTO querySaasRoleDetailDTO) {
+    //        SaasRole saasRole = saasRoleService.querySaasRoleDetail(querySaasRoleDetailDTO.getId());
+    //        ResponseSaasRoleItemVO responseSaasRoleItemVO = ConvertSaasRoleTool.INSTANCE.convert2ResponseItemDTO(saasRole);
+    //        return ResultHelper.successItem(responseSaasRoleItemVO);
+    //    }
 
 
     @ApiOperation(value = "更新")
@@ -65,14 +71,14 @@ public class SaasRoleController {
     }
 
 
-//    @ApiOperation(value = "列表")
-//    @PostMapping("/query")
-//    public CommonResult<List<ResponseSaasRoleListItemVO>> querySaasRole(
-//            @Valid @RequestBody QuerySaasRoleDTO querySaasRoleDTO) {
-//        List<SaasRole> saasRoleList = saasRoleService.querySaasRoleList(querySaasRoleDTO);
-//        List<ResponseSaasRoleListItemVO> resultList = ConvertSaasRoleTool.INSTANCE.convert2List(saasRoleList);
-//        return ResultHelper.multi(resultList);
-//    }
+    //    @ApiOperation(value = "列表")
+    //    @PostMapping("/query")
+    //    public CommonResult<List<ResponseSaasRoleListItemVO>> querySaasRole(
+    //            @Valid @RequestBody QuerySaasRoleDTO querySaasRoleDTO) {
+    //        List<SaasRole> saasRoleList = saasRoleService.querySaasRoleList(querySaasRoleDTO);
+    //        List<ResponseSaasRoleListItemVO> resultList = ConvertSaasRoleTool.INSTANCE.convert2List(saasRoleList);
+    //        return ResultHelper.multi(resultList);
+    //    }
 
     @ApiOperation(value = "列表, 分页查询")
     @PostMapping("/query")
@@ -81,7 +87,13 @@ public class SaasRoleController {
         IPage<SaasRole> pagedList = saasRoleService.pageQuerySaasRole(pageQuerySaasRoleDTO);
         IPage<SaasRoleListItemVO> pagedResultList = pagedList.convert(item -> {
             try {
-               return ConvertSaasRoleTool.INSTANCE.convert2ResponseListItemDTO(item);
+                SaasRoleListItemVO saasRoleListItemVO = ConvertSaasRoleTool.INSTANCE.convert2ResponseListItemDTO(item);
+                Integer countFunction = item.getCountFunction();
+                Integer countMenu = item.getCountMenu();
+                countFunction = countFunction == null ? 0 : countFunction;
+                countMenu = countMenu == null ? 0 : countMenu;
+                saasRoleListItemVO.setRelatedFunCount(countFunction + countMenu);
+                return saasRoleListItemVO;
             } catch (Exception e) {
                 throw new IllegalArgumentException("分页查询,SaasRole实体类转换为列表对象发生异常", e);
             }

+ 3 - 0
fm-person/src/main/java/com/persagy/fm/saas/role/model/dto/PageQuerySaasRoleDTO.java

@@ -33,4 +33,7 @@ public class PageQuerySaasRoleDTO extends SaasBasePageDTO {
 
     @ApiModelProperty(value = "是否统计功能点数量")
     private Boolean countFunction;
+
+    @ApiModelProperty(value = "是否统计菜单数量")
+    private Boolean countMenu;
 }

+ 1 - 0
fm-person/src/main/java/com/persagy/fm/saas/role/service/impl/SaasRoleServiceImpl.java

@@ -167,6 +167,7 @@ public class SaasRoleServiceImpl implements ISaasRoleService {
         // 调用运维平台分页查询接口
         pageQuerySaasRoleDTO.setDefaultValue();
         pageQuerySaasRoleDTO.setCountFunction(true);
+        pageQuerySaasRoleDTO.setCountMenu(true);
         FmResponseContent<List<SaasRole>> saasResponse = saasRoleClient.queryRolePageList(pageQuerySaasRoleDTO);
         Integer count = saasResponse.getCount();
         List<SaasRole> content = saasResponse.getContent();