1、继续新增新能力统计页面部分后台代码--新增了贡献组件被多少应用调用

This commit is contained in:
yitonglei 2022-06-25 14:50:43 +08:00
parent a18d98e0b3
commit 9a6358bd5d
5 changed files with 114 additions and 18 deletions

View File

@ -4,22 +4,24 @@ import io.renren.common.annotation.LogOperation;
import io.renren.common.constant.Constant; import io.renren.common.constant.Constant;
import io.renren.common.utils.Result; import io.renren.common.utils.Result;
import io.renren.modules.resource.service.ResourceService; import io.renren.modules.resource.service.ResourceService;
import io.renren.modules.security.user.SecurityUser;
import io.renren.modules.sys.dto.SysDeptDTO;
import io.renren.modules.sys.service.SysDeptService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
@ -36,6 +38,8 @@ public class CensusControllerV3 {
private ResourceService resourceService; private ResourceService resourceService;
@Autowired @Autowired
private JdbcTemplate jdbcTemplate; private JdbcTemplate jdbcTemplate;
@Autowired
private SysDeptService sysDeptService;
/** /**
@ -188,12 +192,6 @@ public class CensusControllerV3 {
return null; return null;
} }
@GetMapping("/assemblerUsedDistriInfo")
@ApiOperation("应用领域分布情况")
@LogOperation("应用领域分布情况")
public Result<List<Map<String, Object>>> assemblerUsedDistriInfo(Long id){
return null;
}
//以下是组件使用情况点击详情 //以下是组件使用情况点击详情
@ -218,12 +216,6 @@ public class CensusControllerV3 {
} }
@GetMapping("/assemblerUseDistriInfo")
@ApiOperation("用组件应用领域分布情况")
@LogOperation("用组件应用领域分布情况")
public Result<List<Map<String, Object>>> assemblerUseDistriInfo(Long id){
return null;
}
@GetMapping("/assemblerUseScoreTopInfo") @GetMapping("/assemblerUseScoreTopInfo")
@ApiOperation("使用组件评分top5") @ApiOperation("使用组件评分top5")
@ -248,18 +240,30 @@ public class CensusControllerV3 {
return new Result<List<Map<String,Object>>>().ok(result); return new Result<List<Map<String,Object>>>().ok(result);
} }
@GetMapping("applicationAreaCapabilitySet") @GetMapping("applicationAreaCapabilityList")
@ApiOperation("应用领域分布情况") @ApiOperation("应用领域分布情况")
@LogOperation("应用领域分布情况") @LogOperation("应用领域分布情况")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "部门id", paramType = "query", required = true, dataType = "long"), @ApiImplicitParam(name = "id", value = "部门id", paramType = "query", required = true, dataType = "long"),
@ApiImplicitParam(name = "resourceType",value = "资源类型(组件服务、应用资源、基础设施、数据资源、知识库)", paramType = "query", dataType = "String") @ApiImplicitParam(name = "resourceType",value = "资源类型(组件服务、应用资源、基础设施、数据资源、知识库)", paramType = "query", dataType = "String")
}) })
public Result<List<Map<String,Object>>> applicationAreaCapabilitySet(@ApiIgnore @RequestParam Map<String, Object> params) { public Result<List<Map<String,Object>>> applicationAreaCapabilityList(@ApiIgnore @RequestParam Map<String, Object> params) {
return new Result<List<Map<String,Object>>>().ok(resourceService.applicationAreaCapabilityList(params)); return new Result<List<Map<String,Object>>>().ok(resourceService.applicationAreaCapabilityList(params));
} }
@GetMapping("applicationUsedAreaCapabilityList")
@ApiOperation("使用组件的应用领域分布情况")
@LogOperation("使用组件的应用领域分布情况")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "部门id", paramType = "query", required = true, dataType = "long"),
@ApiImplicitParam(name = "resourceType",value = "资源类型(组件服务、应用资源、基础设施、数据资源、知识库)", paramType = "query", dataType = "String")
})
public Result<List<Map<String,Object>>> applicationUsedAreaCapabilityList(@ApiIgnore @RequestParam Map<String, Object> params) {
return null;
}
//以下是应用资源点击详情显示 //以下是应用资源点击详情显示
@GetMapping("/applicationStateCapabilitySet") @GetMapping("/applicationStateCapabilitySet")
@ -295,6 +299,28 @@ public class CensusControllerV3 {
return new Result<List<Map<String,Object>>>().ok(result); return new Result<List<Map<String,Object>>>().ok(result);
} }
@GetMapping("/applicationUsedCapabilityNum")
@ApiOperation("贡献组件被多少应用使用")
@LogOperation("贡献组件被多少应用使用")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "部门id", paramType = "query", required = true, dataType = "long"),
@ApiImplicitParam(name = "resourceType",value = "资源类型(组件服务、应用资源、基础设施、数据资源、知识库)", paramType = "query", dataType = "String")
})
public Result<List<Map<String,Object>>> applicationUsedCapabilityNum(@ApiIgnore @RequestParam Map<String, Object> params){
List<Map<String,Object>> result = new ArrayList<>();
Object[] ps = {params.get("resourceType"),params.get("id")};
result = jdbcTemplate.queryForList("SELECT a.name,b.attr_value FROM tb_data_resource a INNER JOIN tb_data_attr b \n" +
"ON a.id = b.data_resource_id\n" +
"WHERE a.type = ? and a.dept_id = ?\n" +
"and b.attr_type = '应用领域'",ps);
result.forEach(r->{
String[] strArr = r.get("attr_value").toString().split(",");
r.put("usedNum",strArr.length);
});
return new Result<List<Map<String,Object>>>().ok(result);
}
//以下是基础设施和数据资源使用情况点击详情申请明细 //以下是基础设施和数据资源使用情况点击详情申请明细
@GetMapping("/assemblerCarDetail") @GetMapping("/assemblerCarDetail")
@ApiOperation("基础设施或数据资源使用情况之申请明细") @ApiOperation("基础设施或数据资源使用情况之申请明细")
@ -332,4 +358,60 @@ public class CensusControllerV3 {
return new Result<List<Map<String,Object>>>().ok(result); return new Result<List<Map<String,Object>>>().ok(result);
} }
/**
* 测试获取部门树
* @param keywords
* @param deptId
* @return
*/
@GetMapping("treeList")
@ApiOperation("根据当前用户所在部门查询下属部门tree可以根据部门名称模糊查询")
public Result<List<SysDeptDTO>> treeList(@RequestParam(required = false,value = "模糊查询,部门名称") String keywords,Long deptId){
List<SysDeptDTO> result = new ArrayList<>();
SysDeptDTO sysDeptDTO = sysDeptService.get(deptId);
//市大数据局展示全部部门区大数据局展示本区所有部门委办局展示自己部门及下级部门
if(StringUtils.contains(sysDeptDTO.getName(),"青岛市大数据发展管理局")){//市大数据局
List<Map<String,Object>> deptMaps = jdbcTemplate.queryForList("SELECT id FROM sys_dept where pid = 0");
deptMaps.forEach(dept->{
List<SysDeptDTO> depts = sysDeptService.getDeptListByPid(Long.valueOf(dept.get("id").toString()));
result.addAll(depts);
});
}else if(StringUtils.contains(sysDeptDTO.getName(),"大数据") && sysDeptDTO.getType() == 3){//各区大数据局
List<SysDeptDTO> depts = sysDeptService.getDeptListByPid(sysDeptDTO.getPid());
result.addAll(depts);
}else{
List<SysDeptDTO> deptListByPid = sysDeptService.getDeptListByPid(deptId);
result.addAll(deptListByPid);
}
if(keywords != null){
treeMatch(result,keywords);
}
System.out.println("部门树--》"+result.size());
return new Result<List<SysDeptDTO>>().ok(result);
}
private void treeMatch(List<SysDeptDTO> anyLevelCategoryList, String keyword) {
Iterator<SysDeptDTO> iter = anyLevelCategoryList.iterator();
while (iter.hasNext()) {
// 获取当前遍历到的目录
SysDeptDTO category = iter.next();
// 如果当前目录名称包含关键字则什么也不做不移除否则就看下一级
if (!category.getName().contains(keyword)) {
// 取出下一级目录集合
List<SysDeptDTO> childrenCategoryList = category.getChildren();
// 递归
if (!CollectionUtils.isEmpty(childrenCategoryList)) {
treeMatch(childrenCategoryList, keyword);
}
// 下一级目录看完了如果下一级目录全部被移除则移除当前目录
if (CollectionUtils.isEmpty(category.getChildren())) {
iter.remove();
}
}
}
}
} }

View File

@ -120,4 +120,5 @@ public interface ResourceDao extends BaseDao<ResourceEntity> {
// List<Map<String,Object>> selectDeptList(Map params); // List<Map<String,Object>> selectDeptList(Map params);
List<Map<String,Object>> selectResurceCarDetails(Map params); List<Map<String,Object>> selectResurceCarDetails(Map params);
List<Map<String,Object>> applicationAreaCapabilityList(Map params); List<Map<String,Object>> applicationAreaCapabilityList(Map params);
List<Map<String,Object>> applicationUsedAreaCapabilityList(Map params);
} }

View File

@ -737,6 +737,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
public List<Map<String,Object>> applicationAreaCapabilityList(Map params){ public List<Map<String,Object>> applicationAreaCapabilityList(Map params){
return resourceDao.applicationAreaCapabilityList(params); return resourceDao.applicationAreaCapabilityList(params);
} }
@Override @Override
public Object selectResourceListByType(String type) { public Object selectResourceListByType(String type) {
return resourceDao.selectByType(type); return resourceDao.selectByType(type);

View File

@ -1,6 +1,7 @@
package io.renren.modules.sys.controller; package io.renren.modules.sys.controller;
import io.renren.common.annotation.LogOperation; import io.renren.common.annotation.LogOperation;
import io.renren.common.dao.BaseDao;
import io.renren.common.utils.Result; import io.renren.common.utils.Result;
import io.renren.common.validator.AssertUtils; import io.renren.common.validator.AssertUtils;
import io.renren.common.validator.ValidatorUtils; import io.renren.common.validator.ValidatorUtils;
@ -12,14 +13,18 @@ import io.renren.modules.sys.dto.SysDeptDTO;
import io.renren.modules.sys.service.SysDeptService; import io.renren.modules.sys.service.SysDeptService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* 部门管理 * 部门管理
@ -31,6 +36,8 @@ import java.util.List;
public class SysDeptController { public class SysDeptController {
@Autowired @Autowired
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
@Autowired
private JdbcTemplate jdbcTemplate;
/** ytl 2022-06-23 新增 start **/ /** ytl 2022-06-23 新增 start **/
@GetMapping("treeList") @GetMapping("treeList")

View File

@ -930,6 +930,9 @@
GROUP BY GROUP BY
type type
</select> </select>
<select id="applicationUsedAreaCapabilityList" parameterType="java.util.Map" resultType="java.util.Map">
</select>
<select id="selectTopFiveComponentServiceApplications" resultType="java.util.Map"> <select id="selectTopFiveComponentServiceApplications" resultType="java.util.Map">
SELECT SELECT
@ -1111,4 +1114,6 @@
c.name c.name
LIMIT ${pageNum}, ${pageSize} LIMIT ${pageNum}, ${pageSize}
</select> </select>
</mapper> </mapper>