From 0c107339c444d6446da41d3fef813322ef5eadaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=87=A1=E5=87=A1?= Date: Thu, 24 Mar 2022 19:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=88=97=E8=A1=A8=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=88=97=E8=A1=A8=20=E5=B7=A6=E4=BE=A7?= =?UTF-8?q?=E6=A0=91=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApiBasicManagementController.java | 5 +- .../TenantBasicManagementController.java | 18 ++++- .../com/pms/ocp/mapper/OcpApiGroupMapper.java | 5 ++ .../pms/ocp/mapper/OcpTenantGroupMapper.java | 5 +- .../java/com/pms/ocp/model/dto/GroupDto.java | 4 ++ .../pms/ocp/model/dto/OcpGroupBaseDto.java | 27 ++++++++ .../service/ApiBasicManagementService.java | 7 +- .../service/TenantBasicManagementService.java | 15 +++-- .../impl/ApiBasicManagementServiceImpl.java | 65 +++++++++++-------- .../TenantBasicManagementServiceImpl.java | 32 ++++++++- .../resources/mapper/OcpApiGroupMapper.xml | 57 +++++++++++++--- src/main/resources/mapper/OcpGroup.xml | 15 ++++- 12 files changed, 200 insertions(+), 55 deletions(-) create mode 100644 src/main/java/com/pms/ocp/model/dto/OcpGroupBaseDto.java diff --git a/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java index 6158f5b..544b759 100644 --- a/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java +++ b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java @@ -5,6 +5,7 @@ import com.pms.ocp.common.utils.ExcelUtils; import com.pms.ocp.common.utils.FileExport; import com.pms.ocp.common.utils.FileUtil; import com.pms.ocp.model.dto.ApiBaseDto; +import com.pms.ocp.model.dto.OcpGroupBaseDto; import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.vo.OcpApiBaseVo; @@ -209,8 +210,8 @@ public class ApiBasicManagementController { @ApiOperation("服务分类层级") @GetMapping("/apiBaseTreeOther") - public ResponseVO> apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupCode, Integer apiGroupPromotionType) { - List apiTreeGroupDtos = apiBasicManagementService.apiBaseTreeOther(apiGroupCompanyCode, apiGroupCode, apiGroupPromotionType); + public ResponseVO> apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupCode, Integer apiGroupPromotionType,String apiCode,String apiPromotion) { + List apiTreeGroupDtos = apiBasicManagementService.apiBaseTreeOther(apiGroupCompanyCode, apiGroupCode, apiGroupPromotionType,apiCode,apiPromotion); return ResponseVO.ok(apiTreeGroupDtos); } diff --git a/src/main/java/com/pms/ocp/controller/TenantBasicManagementController.java b/src/main/java/com/pms/ocp/controller/TenantBasicManagementController.java index f7e5dad..07d403f 100644 --- a/src/main/java/com/pms/ocp/controller/TenantBasicManagementController.java +++ b/src/main/java/com/pms/ocp/controller/TenantBasicManagementController.java @@ -1,6 +1,5 @@ package com.pms.ocp.controller; - import com.github.pagehelper.PageInfo; import com.pms.ocp.model.dto.*; @@ -21,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.sql.Timestamp; import java.util.List; + /** * @author guofanfan */ @@ -86,12 +86,24 @@ public class TenantBasicManagementController { @ApiOperation("应用树层级") @GetMapping("/tenantBaseTreeOther") - public ResponseVO> tenantBaseTreeOther(@RequestParam(required = false) String tenantGroupCode, @RequestParam(required = false) String tenantGroupCompanyCode + public ResponseVO> tenantBaseTreeOther(@RequestParam(required = false) String tenantGroupCode, @RequestParam(required = false) String tenantGroupCompanyCode, + @RequestParam(required = false) String tenantCode ) { - List ocpApiGroups = tenantBasicManagementService.tenantBaseTreeOther(tenantGroupCode, tenantGroupCompanyCode); + List ocpApiGroups = tenantBasicManagementService.tenantBaseTreeOther(tenantGroupCode, tenantGroupCompanyCode,tenantCode); +// if (ocpApiGroups.size() != 0) { +// return ResponseVO.ok(ocpApiGroups); +// } else { +// List ocpBaseGroupDto = tenantBasicManagementService.selectBase(tenantGroupCode, tenantGroupCompanyCode); +// +// } return ResponseVO.ok(ocpApiGroups); } + /** + * @param tenantGroupCode + * @param tenantGroupCompanyCode + * @return + */ @ApiOperation("应用树底层") @GetMapping("/tenantBaseTree") public ResponseVO> tenantBaseTree(@RequestParam(required = false) String tenantGroupCode, diff --git a/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java b/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java index 7b68d58..ef9b7ff 100644 --- a/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java +++ b/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java @@ -2,6 +2,7 @@ package com.pms.ocp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.pms.ocp.model.dto.ApiBaseDto; +import com.pms.ocp.model.dto.OcpGroupBaseDto; import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.vo.OcpApiBaseVo; @@ -21,5 +22,9 @@ public interface OcpApiGroupMapper extends BaseMapper { List selectPageLists(ApiBaseDto apiBaseReq); + List apiTree(String apiGroupCompanyCode, String apiGroupPcode, Integer apiGroupPromotionType,String apiPromotion); + + List selectBase(String apiGroupCompanyCode, String apiGroupPcode,String apiPromotion); + // List queryApiTreeData1(); } diff --git a/src/main/java/com/pms/ocp/mapper/OcpTenantGroupMapper.java b/src/main/java/com/pms/ocp/mapper/OcpTenantGroupMapper.java index 70e6d44..d5169f7 100644 --- a/src/main/java/com/pms/ocp/mapper/OcpTenantGroupMapper.java +++ b/src/main/java/com/pms/ocp/mapper/OcpTenantGroupMapper.java @@ -3,10 +3,11 @@ package com.pms.ocp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.pms.ocp.model.dto.GroupDto; + import com.pms.ocp.model.dto.OcpTenantBaseDto; import com.pms.ocp.model.dto.TenantDto; import com.pms.ocp.model.entity.OcpTenantGroup; -import com.pms.ocp.model.vo.ResponseVO; + import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,4 +20,6 @@ public interface OcpTenantGroupMapper extends BaseMapper { List selectPageLists(TenantDto tenantDto); OcpTenantGroup selectRegister(@Param("tenantGroupCode") String tenantGroupCode, @Param("tenantGroupCompanyCode") String tenantGroupCompanyCode); + + List selectBase(@Param("tenantGroupCode") String tenantGroupCode, String tenantGroupCompanyCode); } diff --git a/src/main/java/com/pms/ocp/model/dto/GroupDto.java b/src/main/java/com/pms/ocp/model/dto/GroupDto.java index 827dc28..8a02bbb 100644 --- a/src/main/java/com/pms/ocp/model/dto/GroupDto.java +++ b/src/main/java/com/pms/ocp/model/dto/GroupDto.java @@ -23,6 +23,10 @@ public class GroupDto extends OcpTenantGroup implements Serializable { @ApiModelProperty("应用代码") private String tenantCode; + @ApiModelProperty("flag") + private Integer flag; + + /** * 应用分类代码 */ diff --git a/src/main/java/com/pms/ocp/model/dto/OcpGroupBaseDto.java b/src/main/java/com/pms/ocp/model/dto/OcpGroupBaseDto.java new file mode 100644 index 0000000..dd28cd3 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/OcpGroupBaseDto.java @@ -0,0 +1,27 @@ +package com.pms.ocp.model.dto; + +import com.pms.ocp.model.entity.OcpApiGroup; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author guofanfan + * 服务组dto + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class OcpGroupBaseDto extends OcpApiGroup implements Serializable { + @ApiModelProperty("服务代码") + private String apiCode; + + @ApiModelProperty("服务接口中文名称") + private String apiName; + + @ApiModelProperty("服务分类代码") + private String apiGroupCode; +} diff --git a/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java index 634d166..3576226 100644 --- a/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java +++ b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java @@ -3,10 +3,7 @@ package com.pms.ocp.service; import com.baomidou.mybatisplus.extension.service.IService; import com.github.pagehelper.PageInfo; import com.pms.ocp.model.QueryResponseResult; -import com.pms.ocp.model.dto.ApiBaseDto; -import com.pms.ocp.model.dto.ApiTreeGroupDto; -import com.pms.ocp.model.dto.OcpApiBaseDto; -import com.pms.ocp.model.dto.WholeLinkParamDto; +import com.pms.ocp.model.dto.*; import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiExtent; import com.pms.ocp.model.entity.OcpApiGroup; @@ -75,7 +72,7 @@ public interface ApiBasicManagementService extends IService { * @param apiGroupPcode * @return */ - List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode,Integer apiGroupPromotionType); + List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode, Integer apiGroupPromotionType, String apiCode,String apiPromotion); /** * 根据分组code获取列表 diff --git a/src/main/java/com/pms/ocp/service/TenantBasicManagementService.java b/src/main/java/com/pms/ocp/service/TenantBasicManagementService.java index 3a35a3a..e78eecd 100644 --- a/src/main/java/com/pms/ocp/service/TenantBasicManagementService.java +++ b/src/main/java/com/pms/ocp/service/TenantBasicManagementService.java @@ -2,10 +2,7 @@ package com.pms.ocp.service; import com.baomidou.mybatisplus.extension.service.IService; import com.github.pagehelper.PageInfo; -import com.pms.ocp.model.dto.GroupDto; -import com.pms.ocp.model.dto.OcpTenantBaseDto; -import com.pms.ocp.model.dto.TenantDto; -import com.pms.ocp.model.dto.WholeLinkParamDto; +import com.pms.ocp.model.dto.*; import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.entity.OcpTenantBase; import com.pms.ocp.model.entity.OcpTenantGroup; @@ -64,7 +61,7 @@ public interface TenantBasicManagementService extends IService { * @param tenantGroupCompanyCode * @return */ - List tenantBaseTreeOther(String tenantGroupCode, String tenantGroupCompanyCode); + List tenantBaseTreeOther(String tenantGroupCode, String tenantGroupCompanyCode,String tenantCode); /** * 应用列表 @@ -91,6 +88,14 @@ public interface TenantBasicManagementService extends IService { */ OcpTenantGroup selectRegister(String tenantGroupCode, String tenantGroupCompanyCode); + /** + * 查询基础表 + * @param tenantGroupCode + * @param tenantGroupCompanyCode + * @return + */ + List selectBase(String tenantGroupCode, String tenantGroupCompanyCode); + /** * 应用树 * @param tenantGroupCode diff --git a/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java index e00a23b..fc1c185 100644 --- a/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java @@ -2,24 +2,21 @@ package com.pms.ocp.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.pms.ocp.common.constants.StringUtils; -import com.pms.ocp.common.exception.BeagleException; -import com.pms.ocp.common.utils.MenuTree; + import com.pms.ocp.mapper.ApiBasicManagementMapper; import com.pms.ocp.mapper.OcpApiExtentMapper; import com.pms.ocp.mapper.OcpApiGroupMapper; import com.pms.ocp.mapper.OcpApiSubsMapper; -import com.pms.ocp.model.CommonCode; -import com.pms.ocp.model.QueryResponseResult; + import com.pms.ocp.model.dto.ApiBaseDto; -import com.pms.ocp.model.dto.OcpApiBaseDto; -import com.pms.ocp.model.dto.WholeLinkParamDto; + +import com.pms.ocp.model.dto.OcpGroupBaseDto; + import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiExtent; import com.pms.ocp.model.entity.OcpApiGroup; @@ -29,7 +26,6 @@ import com.pms.ocp.model.vo.*; import com.pms.ocp.service.ApiBasicManagementService; import com.pms.ocp.service.OcpApiExtentService; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,6 +35,7 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -57,6 +54,7 @@ public class ApiBasicManagementServiceImpl extends ServiceImpl apiGroupCode = new ArrayList<>(); + /** * 导出查询 * @@ -98,6 +96,7 @@ public class ApiBasicManagementServiceImpl extends ServiceImpl apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode,Integer apiGroupPromotionType) { - List ocpApiGroups = ocpApiGroupMapper.apiBaseTreeOther(apiGroupCompanyCode,apiGroupPcode,apiGroupPromotionType); - return ocpApiGroups; + public List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode, Integer apiGroupPromotionType, String apiCode, String apiPromotion) { + List ocpApiGroups = ocpApiGroupMapper.apiTree(apiGroupCompanyCode, apiGroupPcode, apiGroupPromotionType, apiPromotion); + if (ocpApiGroups.size() != 0) { + return ocpApiGroups; + } else { + if (org.apache.commons.lang3.StringUtils.isNotEmpty(apiCode)) { + return Collections.EMPTY_LIST; + } else { + List ocpGroupBaseDto = ocpApiGroupMapper.selectBase(apiGroupCompanyCode, apiGroupPcode, apiPromotion); + if (ocpGroupBaseDto.size() != 0) { + return ocpGroupBaseDto; + } + return Collections.EMPTY_LIST; + } + } + } @Override public ResponseVO> getBaseByGroupCode(ApiBaseDto apiBaseReq) { if (apiBaseReq.getPageNum() == null || apiBaseReq.getPageSize() == null) { - return ResponseVO.error("分页参数不能为空"); + return ResponseVO.error("分页参数不能为空"); } apiGroupCode.add(apiBaseReq.getApiGroupCode()); - setGroupIdValue(apiBaseReq.getApiGroupCompanyCode() ,apiBaseReq.getApiGroupCode(),apiBaseReq.getApiPromotion()); - PageHelper.startPage(apiBaseReq.getPageNum(),apiBaseReq.getPageSize()); + setGroupIdValue(apiBaseReq.getApiGroupCompanyCode(), apiBaseReq.getApiGroupCode(), apiBaseReq.getApiPromotion()); + PageHelper.startPage(apiBaseReq.getPageNum(), apiBaseReq.getPageSize()); apiBaseReq.setApiGroupCodeList(apiGroupCode); List ocpApiBaseVos = ocpApiGroupMapper.selectPageLists(apiBaseReq); apiGroupCode.clear(); @@ -207,7 +218,7 @@ public class ApiBasicManagementServiceImpl extends ServiceImpl codes = getIdsByPIdPub(apiGroupCompanyCode,code,apiGroupPromotionType); - if(codes.size()>0){ - for (String cod : codes ){ - setGroupIdValue(apiGroupCompanyCode,cod,apiGroupPromotionType); + private void setGroupIdValue(String apiGroupCompanyCode, String code, Integer apiGroupPromotionType) { + List codes = getIdsByPIdPub(apiGroupCompanyCode, code, apiGroupPromotionType); + if (codes.size() > 0) { + for (String cod : codes) { + setGroupIdValue(apiGroupCompanyCode, cod, apiGroupPromotionType); apiGroupCode.add(cod); - }; + } + ; } } /** * pcode服务分组 + * * @param apiGroupCompanyCode * @param code * @return */ - public List getIdsByPIdPub(String apiGroupCompanyCode,String code,Integer apiGroupPromotionType) { - List ocpApiGroups = ocpApiGroupMapper.apiBaseTreeOther(apiGroupCompanyCode, code,apiGroupPromotionType); + public List getIdsByPIdPub(String apiGroupCompanyCode, String code, Integer apiGroupPromotionType) { + List ocpApiGroups = ocpApiGroupMapper.apiBaseTreeOther(apiGroupCompanyCode, code, apiGroupPromotionType); return ocpApiGroups.stream().map(OcpApiGroup::getApiGroupCode).collect(Collectors.toList()); } diff --git a/src/main/java/com/pms/ocp/service/impl/TenantBasicManagementServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/TenantBasicManagementServiceImpl.java index 8286499..0553c3c 100644 --- a/src/main/java/com/pms/ocp/service/impl/TenantBasicManagementServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/TenantBasicManagementServiceImpl.java @@ -10,6 +10,7 @@ import com.pms.ocp.mapper.OcpTenantExtentMapper; import com.pms.ocp.mapper.OcpTenantGroupMapper; import com.pms.ocp.mapper.TenantBasicManagementMapper; import com.pms.ocp.model.dto.GroupDto; + import com.pms.ocp.model.dto.OcpTenantBaseDto; import com.pms.ocp.model.dto.TenantDto; import com.pms.ocp.model.entity.*; @@ -20,10 +21,13 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -250,10 +254,22 @@ public class TenantBasicManagementServiceImpl extends ServiceImpl tenantBaseTreeOther(String tenantGroupCode, String tenantGroupCompanyCode) { + public List tenantBaseTreeOther(String tenantGroupCode, String tenantGroupCompanyCode, String tenantCode) { List ocpTenantGroups = ocpTenantGroupMapper.tenantBaseTreeOther(tenantGroupCode, tenantGroupCompanyCode); + if (ocpTenantGroups.size() != 0) { + return ocpTenantGroups; + } else { + if (StringUtils.isNotEmpty(tenantCode)) { + return Collections.EMPTY_LIST; + } else { + List groupDtos = ocpTenantGroupMapper.selectBase(tenantGroupCode, tenantGroupCompanyCode); + if (groupDtos.size() != 0) { + return groupDtos; + } + return Collections.EMPTY_LIST; + } - return ocpTenantGroups; + } } @@ -310,6 +326,18 @@ public class TenantBasicManagementServiceImpl extends ServiceImpl selectBase(String tenantGroupCode, String tenantGroupCompanyCode) { + List groupDto = ocpTenantGroupMapper.selectBase(tenantGroupCode, tenantGroupCompanyCode); + return groupDto; + } + /** * 应用树2 * diff --git a/src/main/resources/mapper/OcpApiGroupMapper.xml b/src/main/resources/mapper/OcpApiGroupMapper.xml index fca2619..65ac7b1 100644 --- a/src/main/resources/mapper/OcpApiGroupMapper.xml +++ b/src/main/resources/mapper/OcpApiGroupMapper.xml @@ -22,7 +22,7 @@ select api_group_code,api_group_name,api_group_pcode,api_group_level from ocp_api_group where is_delete = 0 - and api_group_pcode is null + and api_group_pcode is null and api_group_pcode = #{apiGroupPcode} @@ -36,7 +36,7 @@ select api_group_code,api_group_name,api_group_pcode,api_group_level from ocp_api_group where is_delete = 0 - and api_group_pcode is null + and api_group_pcode is null and api_group_pcode = #{apiGroupPcode} @@ -48,6 +48,29 @@ and api_group_promotion_type =#{apiGroupPromotionType} + + + + + + select obj_id,api_code,api_name,api_group_code from ocp_api_base + + + and api_group_code = #{apiGroupPcode} + + + and owner_company_code =#{apiGroupCompanyCode} + + + and api_promotion=#{apiPromotion} + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/OcpGroup.xml b/src/main/resources/mapper/OcpGroup.xml index 0f6d413..ca9fef4 100644 --- a/src/main/resources/mapper/OcpGroup.xml +++ b/src/main/resources/mapper/OcpGroup.xml @@ -9,7 +9,7 @@ - + @@ -19,8 +19,6 @@ + -- 2.26.0