diff --git a/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java index 8f90ecf09f56e29ac7a317a711484eab3ca9c67f..1cbf9bf1477fa3e3a9862145b8756b5346ed7c97 100644 --- a/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java +++ b/src/main/java/com/pms/ocp/controller/ApiBasicManagementController.java @@ -5,8 +5,12 @@ 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.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.entity.OcpApiBase; +import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.vo.OcpApiBaseVo; import com.pms.ocp.model.vo.ResponseVO; @@ -193,4 +197,23 @@ public class ApiBasicManagementController { } + @ApiOperation("服务列表") + @GetMapping("/apiListQuery") + public QueryResponseResult apiListQuery(HttpServletRequest request, ApiBaseDto ApiBaseReq) { + QueryResponseResult apiBaseList= apiBasicManagementService.getBaseByGroupCode(ApiBaseReq); + return apiBaseList; + } + @ApiOperation("服务树一级") + @GetMapping("/apiBaseTree") + public ResponseVO> apiBaseTree(String apiGroupCompanyCode) { + List apiTreeGroupDtos = apiBasicManagementService.apiBaseTree(apiGroupCompanyCode); + return ResponseVO.ok(apiTreeGroupDtos); + } + @ApiOperation("服务树次级") + @GetMapping("/apiBaseTreeOther") + public ResponseVO> apiBaseTreeOther(String apiGroupCompanyCode,String apiGroupPcode) { + List apiTreeGroupDtos = apiBasicManagementService.apiBaseTreeOther(apiGroupCompanyCode,apiGroupPcode); + return ResponseVO.ok(apiTreeGroupDtos); + } + } diff --git a/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java b/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..217f961194b683326559ebbbe59d7f1679319456 --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/OcpApiGroupMapper.java @@ -0,0 +1,19 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.OcpApiBase; +import com.pms.ocp.model.entity.OcpApiGroup; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface OcpApiGroupMapper extends BaseMapper { + + List selectTreeList(String apiGroupCompanyCode); + + List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode); + + List selectByPcode(String code); + +} diff --git a/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java b/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java index 0334243d68cf6499cbf0645b0141c23565d7aa80..dac5fa5b3f1284cb7e11b6851c17d2e877d2ba11 100644 --- a/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java +++ b/src/main/java/com/pms/ocp/model/dto/ApiBaseDto.java @@ -1,6 +1,8 @@ package com.pms.ocp.model.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -12,29 +14,121 @@ import java.sql.Timestamp; @Data @AllArgsConstructor @NoArgsConstructor +@ApiModel("应用列表查询参数") public class ApiBaseDto implements Serializable { - /** - * 服务编码 - */ - private String ApiCode; - /** - * 建设单位 - */ - private String apiUnit; - /** - * 注册时段-开始 - */ + + @ApiModelProperty("服务编码") + private String apiCode; + + @ApiModelProperty("服务分类编码") + private String apiGroupCode; + + @ApiModelProperty("服务分类公司(建设单位)") + private String apiGroupCompanyCode; + + + @ApiModelProperty("注册时段-开始") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Timestamp startTime; - /** - * 注册时段-结束 - */ + + @ApiModelProperty("注册时段-结束") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Timestamp endTime; - /** - * 关键字 - */ + + @ApiModelProperty("注册开始") + private String startCTime; + + @ApiModelProperty("注册结束") + private String endCTime; + + @ApiModelProperty("关键字") private String keyword; + + @ApiModelProperty("当前页") + private Integer pageNum; + + @ApiModelProperty("每页条数") + private Integer pageSize; + + public String getApiCode() { + return apiCode; + } + + public void setApiCode(String apiCode) { + this.apiCode = apiCode; + } + + public String getApiGroupCode() { + return apiGroupCode; + } + + public void setApiGroupCode(String apiGroupCode) { + this.apiGroupCode = apiGroupCode; + } + + public Timestamp getStartTime() { + return startTime; + } + + public void setStartTime(Timestamp startTime) { + this.startTime = startTime; + } + + public Timestamp getEndTime() { + return endTime; + } + + public void setEndTime(Timestamp endTime) { + this.endTime = endTime; + } + + public String getStartCTime() { + return startCTime; + } + + public void setStartCTime(String startCTime) { + this.startCTime = startCTime; + } + + public String getEndCTime() { + return endCTime; + } + + public void setEndCTime(String endCTime) { + this.endCTime = endCTime; + } + + public String getKeyword() { + return keyword; + } + + public void setKeyword(String keyword) { + this.keyword = keyword; + } + + public Integer getPageNum() { + return pageNum; + } + + public void setPageNum(Integer pageNum) { + this.pageNum = pageNum; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public String getApiGroupCompanyCode() { + return apiGroupCompanyCode; + } + + public void setApiGroupCompanyCode(String apiGroupCompanyCode) { + this.apiGroupCompanyCode = apiGroupCompanyCode; + } } diff --git a/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java index 8ab8ff3f9cf28fa5f7139ee0b419f44d131556cd..0932bd1b50423e68455a50d9ea6fdab9a686b700 100644 --- a/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java +++ b/src/main/java/com/pms/ocp/service/ApiBasicManagementService.java @@ -1,10 +1,13 @@ package com.pms.ocp.service; import com.baomidou.mybatisplus.extension.service.IService; +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.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.vo.OcpApiBaseVo; import java.sql.Timestamp; @@ -36,7 +39,6 @@ public interface ApiBasicManagementService extends IService { * 条件查询 * @param apiCode * @param keyword - * @param apiUnit * @param startTime * @param endTime * @return @@ -55,5 +57,25 @@ public interface ApiBasicManagementService extends IService { */ void apiIssue(String apiCodes); + /** + * 获取顶级服务树 + * @param apiGroupCompanyCode + * @return + */ + List apiBaseTree(String apiGroupCompanyCode); + + /** + * 获取次级服务树 + * @param apiGroupCompanyCode + * @param apiGroupPcode + * @return + */ + List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode); + /** + * 根据分组code获取列表 + * @param ApiBaseReq + * @return + */ + QueryResponseResult getBaseByGroupCode(ApiBaseDto ApiBaseReq); } 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 af54d34a1b4e0ad709413f92f09842adc06cd4e3..5c665afffde3628f91462419120f8edec883190e 100644 --- a/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ApiBasicManagementServiceImpl.java @@ -1,31 +1,38 @@ package com.pms.ocp.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.IService; +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.impl.ServiceImpl; import com.pms.ocp.common.exception.BeagleException; import com.pms.ocp.mapper.ApiBasicManagementMapper; import com.pms.ocp.mapper.OcpApiExtentMapper; +import com.pms.ocp.mapper.OcpApiGroupMapper; +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.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiExtent; +import com.pms.ocp.model.entity.OcpApiGroup; import com.pms.ocp.model.entity.OcpApiSubs; import com.pms.ocp.model.vo.OcpApiBaseVo; -import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.service.ApiBasicManagementService; import com.pms.ocp.service.OcpApiExtentService; import com.pms.ocp.service.OcpApiSubsService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.Timestamp; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Service public class ApiBasicManagementServiceImpl extends ServiceImpl @@ -38,7 +45,10 @@ public class ApiBasicManagementServiceImpl extends ServiceImpl apiGroupCode = new ArrayList<>(); /** * 导出查询 * @@ -160,4 +170,79 @@ public class ApiBasicManagementServiceImpl extends ServiceImpl apiBaseTree(String apiGroupCompanyCode) { + List ocpApiGroups = ocpApiGroupMapper.selectTreeList(apiGroupCompanyCode); + return ocpApiGroups; + } + + @Override + public List apiBaseTreeOther(String apiGroupCompanyCode, String apiGroupPcode) { + List ocpApiGroups = ocpApiGroupMapper.apiBaseTreeOther(apiGroupCompanyCode,apiGroupPcode); + return ocpApiGroups; + } + + @Override + public QueryResponseResult getBaseByGroupCode(ApiBaseDto apiBaseReq) { + QueryResponseResult queryResponseResult = new QueryResponseResult(CommonCode.SUCCESS, null); + if (apiBaseReq.getPageNum() == null || apiBaseReq.getPageSize() == null) { + queryResponseResult.setMessage("分页参数不能为空"); + return queryResponseResult; + } + apiGroupCode.add(apiBaseReq.getApiGroupCode()); + setGroupIdValue(apiBaseReq.getApiGroupCompanyCode() ,apiBaseReq.getApiGroupCode()); + QueryWrapper qw = new QueryWrapper(); + if (!StringUtils.isEmpty(apiBaseReq.getKeyword())) { + qw.like("api_name", apiBaseReq.getKeyword()); + } + if (!StringUtils.isEmpty(apiBaseReq.getApiGroupCode())) { + qw.in("api_group_code", apiGroupCode.stream().collect(Collectors.toList())); + } + if (!StringUtils.isEmpty(apiBaseReq.getApiGroupCompanyCode())) { + qw.eq("api_unit", apiBaseReq.getApiGroupCompanyCode()); + } + if (!StringUtils.isEmpty(apiBaseReq.getStartCTime())) { + qw.ge("api_ctime", apiBaseReq.getApiGroupCompanyCode()); + } + if (!StringUtils.isEmpty(apiBaseReq.getStartCTime())) { + qw.le("api_ctime", apiBaseReq.getApiGroupCompanyCode()); + } + IPage iPage = new Page(apiBaseReq.getPageNum(), apiBaseReq.getPageSize()); + apiBasicManagementMapper.selectPage(iPage,qw); + apiGroupCode.clear(); + if (iPage.getTotal() == 0) { + queryResponseResult.setData(iPage); + return queryResponseResult; + } + queryResponseResult.setData(iPage); + return queryResponseResult; + } + + /** + * 分组权限分组使用in查询 + * + * @param + * @param + */ + private void setGroupIdValue(String apiGroupCompanyCode ,String code) { + List codes = getIdsByPIdPub(apiGroupCompanyCode,code); + if(codes.size()>0){ + for (String cod : codes ){ + setGroupIdValue(apiGroupCompanyCode,cod); + apiGroupCode.add(cod); + }; + } + } + + /** + * pcode服务分组 + * @param apiGroupCompanyCode + * @param code + * @return + */ + public List getIdsByPIdPub(String apiGroupCompanyCode,String code) { + List ocpApiGroups = ocpApiGroupMapper.apiBaseTreeOther(apiGroupCompanyCode, code); + return ocpApiGroups.stream().map(OcpApiGroup::getApiGroupCode).collect(Collectors.toList()); + } + } diff --git a/src/main/resources/mapper/OcpApiGroupMapper.xml b/src/main/resources/mapper/OcpApiGroupMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ed38ed47e4f4b6062c6be16cfe702551eca6911 --- /dev/null +++ b/src/main/resources/mapper/OcpApiGroupMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file