@ -81,8 +81,8 @@ import java.util.stream.Collectors;
* /
@Service
public class ResourceServiceImpl extends CrudServiceImpl < ResourceDao , ResourceEntity , ResourceDTO > implements ResourceService {
private static final Integer cpuNUm = Runtime . getRuntime ( ) . availableProcessors ( ) ;
private static final ExecutorService executor = Executors . newWorkStealingPool ( cpuNUm * 3 ) ;
private static final Integer CPU_NUM = Runtime . getRuntime ( ) . availableProcessors ( ) ;
private static final ExecutorService executor = Executors . newWorkStealingPool ( CPU_NUM * 3 ) ;
/ * *
* 公共http客户端
@ -90,14 +90,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
private static final OkHttpClient client = new OkHttpClient ( ) . newBuilder ( )
. connectTimeout ( 1 , TimeUnit . MINUTES )
. readTimeout ( 1 , TimeUnit . MINUTES )
. connectionPool ( new ConnectionPool ( cpuNUm * 2 , 2 , TimeUnit . MINUTES ) )
. connectionPool ( new ConnectionPool ( CPU_NUM * 2 , 2 , TimeUnit . MINUTES ) )
. retryOnConnectionFailure ( false )
. build ( ) ;
private static final Logger logger = LoggerFactory . getLogger ( ResourceServiceImpl . class ) ;
private static final String selectDeptListKey = " selectDeptList " ;
private static final String selectDTOPageSpecilTotalKey = " selectDTOPageSpecilTotal " ;
private static final String SELECT_DEPT_LIST_KEY = " selectDeptList " ;
private static final String SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY = " selectDTOPageSpecilTotal " ;
@Value ( " ${system.startDay} " )
private String systemDay ;
@ -201,6 +201,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
case " creator " :
wrapper . eq ( StringUtils . isNotBlank ( params . get ( " creator " ) . toString ( ) ) , " creator " , params . get ( " creator " ) . toString ( ) ) ;
break ;
default :
break ;
}
} ) ;
if ( params . containsKey ( " selectType " ) & & " 1 " . equals ( params . get ( " selectType " ) . toString ( ) ) ) { / / 创建者查询时
@ -218,7 +220,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
@Transactional
@CacheEvict ( cacheNames = { selectDeptListKey, selectDTOPageSpecilTotalKey } , allEntries = true )
@CacheEvict ( cacheNames = { SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY } , allEntries = true )
public void insertWithAttrs ( ResourceDTO dto ) {
ResourceEntity resourceEntity = new ResourceEntity ( ) ;
BeanUtils . copyProperties ( dto , resourceEntity ) ;
@ -282,7 +284,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
@Transactional
@CacheEvict ( cacheNames = { selectDeptListKey, selectDTOPageSpecilTotalKey } , allEntries = true )
@CacheEvict ( cacheNames = { SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY } , allEntries = true )
public void createMixAbility ( ResourceDTO dto ) {
ResourceEntity resourceEntity = new ResourceEntity ( ) ;
BeanUtils . copyProperties ( dto , resourceEntity ) ;
@ -326,7 +328,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
@Transactional
@CacheEvict ( cacheNames = { selectDeptListKey, selectDTOPageSpecilTotalKey } , allEntries = true )
@CacheEvict ( cacheNames = { SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY } , allEntries = true )
public void deleteWithAttrs ( JSONObject jsonObject ) {
JSONArray jsonArray = jsonObject . getJSONArray ( " ids " ) ;
List < Long > idList = jsonArray . toJavaList ( Long . class ) ;
@ -340,7 +342,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
@Transactional
@CacheEvict ( cacheNames = { selectDeptListKey, selectDTOPageSpecilTotalKey } , allEntries = true )
@CacheEvict ( cacheNames = { SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY } , allEntries = true )
public void updateWithAttrs ( ResourceDTO dto ) {
ResourceEntity resourceEntity = new ResourceEntity ( ) ;
BeanUtils . copyProperties ( dto , resourceEntity ) ;
@ -451,9 +453,6 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
/ * *
* 从本库内查询
*
* @param resultPage
* @return
* /
private Page < ResourceDTO > common ( Page < ResourceDTO > resultPage , List < Map > selectDTOPageSpecilTotal , ResourceDTO resourceDTO , String orderField , String orderType , Integer pageNum , Integer pageSize ) {
if ( resourceDTO . getInfoList ( ) . isEmpty ( ) ) {
@ -533,15 +532,10 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
public Object selectTotal ( ) {
HashMap < String , Object > resultMap = new HashMap < > ( ) ;
List < Map > re = resourceDao . selectTypeCount ( null ) ;
/ * / / 2022 - 07 - 05 , ytl修改 start
re . removeIf ( r - > {
return org . apache . commons . lang3 . StringUtils . equals ( r . get ( " type " ) . toString ( ) , " 基础设施 " ) ;
} ) ;
/ / 2022 - 07 - 05 , ytl修改 end * /
switch ( Constant . ProjectPlace . getByFlag ( projectPlace ) ) {
case TSINGTAO_XHA : { / / 青岛西海岸
CompletableFuture allAmount = CompletableFuture . supplyAsync ( ( ) - > { / / 获取平台总基础设施数目
List < Long > result _ = new CopyOnWriteArrayList < > ( ) ;
List < Long > result = new CopyOnWriteArrayList < > ( ) ;
CompletableFuture cloud =
CompletableFuture . runAsync ( ( ) - > { / / 云脑专网
String url = tsingtao_xhaProperties . getCloudcam ( ) ;
@ -551,7 +545,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
if ( response . isSuccessful ( ) ) {
JSONObject jsonObject = JSON . parseObject ( response . body ( ) . string ( ) ) ;
if ( jsonObject . containsKey ( " errorNo " ) & & jsonObject . getLongValue ( " errorNo " ) = = 200 ) {
result _ . add ( jsonObject . getLongValue ( " body " ) ) ;
result . add ( jsonObject . getLongValue ( " body " ) ) ;
}
} else {
logger . error ( " 青岛西海岸获取失败 " ) ;
@ -568,11 +562,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
try ( Response response = client . newCall ( request ) . execute ( ) ) {
if ( response . isSuccessful ( ) ) {
JSONObject jsonObject = JSON . parseObject ( response . body ( ) . string ( ) ) ;
/ / if ( jsonObject . containsKey ( " data " ) ) {
/ / result_ . add ( jsonObject . getJSONObject ( " data " ) . getLongValue ( " total " ) ) ;
/ / }
if ( jsonObject . containsKey ( " errorNo " ) & & jsonObject . getLongValue ( " errorNo " ) = = 200 ) {
result _ . add ( jsonObject . getLongValue ( " body " ) ) ;
result . add ( jsonObject . getLongValue ( " body " ) ) ;
}
} else {
logger . error ( " 青岛西海岸获取失败 " ) ;
@ -583,16 +574,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
} , executor ) ;
CompletableFuture all = CompletableFuture . allOf ( cloud , local ) ;
all . join ( ) ;
return result_ . stream ( ) . filter ( Objects : : nonNull ) . findAny ( ) . orElse ( 0l ) ;
} ) . thenAccept ( sum - > {
re . add ( new HashMap < String , Object > ( ) {
return result . stream ( ) . filter ( Objects : : nonNull ) . findAny ( ) . orElse ( 0L ) ;
} ) . thenAccept ( sum - > re . add ( new HashMap < String , Object > ( ) {
{
put ( " count " , sum + " " ) ;
put ( " type " , " 基础设施 " ) ;
}
} ) ;
} ) ;
Long total = 0L ;
} ) ) ;
Long total ;
Request request = new Request . Builder ( ) . url ( tsingtao_xhaProperties . getResourcecount ( ) ) . build ( ) ;
try ( Response response = client . newCall ( request ) . execute ( ) ) {
if ( response . isSuccessful ( ) ) {
@ -642,6 +631,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
break ;
default :
break ;
}
List < String > temp = new ArrayList < > ( ) ;
re . forEach ( map - > temp . add ( map . get ( " type " ) . toString ( ) ) ) ;
@ -763,7 +754,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
@Override
@Cacheable ( value = selectDeptListKey , key = " #p1 " )
@Cacheable ( value = SELECT_DEPT_LIST_KEY , key = " #p1 " )
public Object selectDeptList ( JSONObject jsonObject , String type ) {
List < Map > resultList = new CopyOnWriteArrayList < > ( ) ;
HashMap < String , Object > resourceMap = new HashMap < > ( ) ;
@ -1054,7 +1045,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
@Override
@Cacheable ( value = selectDTOPageSpecilTotalKey , key = " #p0 " )
@Cacheable ( value = SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY , key = " #p0 " )
public List < Map > selectDTOPageSpecilTotal ( ResourceDTO resourceDTO ) {
return resourceDao . selectDTOPageSpecilTotal ( resourceDTO ) ;
}
@ -1126,12 +1117,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
* 同步知识库
* /
@Override
@CacheEvict ( cacheNames = { selectDeptListKey, selectDTOPageSpecilTotalKey } , allEntries = true )
@CacheEvict ( cacheNames = { SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY } , allEntries = true )
public void KnowledgeBase ( ) {
final List < String > knowledgeUUID = jdbcTemplate . queryForList ( " SELECT note1 FROM tb_data_resource WHERE type ='知识库' AND note1 IS NOT NULL FOR UPDATE; " , String . class ) . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
final int pageSize = cpuNUm * 10 ;
final int pageSize = CPU_NUM * 10 ;
Arrays . stream ( catalogIds ) . map ( index - > {
logger . info ( " 处理: " + index ) ;
logger . info ( " 处理: {}" , index ) ;
CopyOnWriteArrayList < CompletableFuture > task = new CopyOnWriteArrayList < > ( ) ;
AtomicBoolean end = new AtomicBoolean ( true ) ;
AtomicInteger pageIndex = new AtomicInteger ( 1 ) ;
@ -1139,33 +1130,39 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
do {
final long timestamp = LocalDateTime . now ( ) . toInstant ( ZoneOffset . ofHours ( 8 ) ) . toEpochMilli ( ) ;
int page = pageIndex . getAndIncrement ( ) ;
logger . info ( " 处理: " + index + " 分页{} " , page ) ;
logger . info ( " 处理: {}分页{}" , index , page ) ;
task . add ( CompletableFuture . supplyAsync ( ( ) - > {
try {
logger . info ( " 分页任务处理: " + index + " 分页{} 时间 --> " + timestamp , page ) ;
logger . info ( " 分页任务处理: {}分页{} 时间--> {}" , index , page , timestamp ) ;
JSONObject bizContentParam = new JSONObject ( ) ;
bizContentParam . put ( " appkey " , appKey ) ;
bizContentParam . put ( " catalogId " , index ) ;
bizContentParam . put ( " pageIndex " , page ) ;
bizContentParam . put ( " pageSize " , pageSize ) ;
String bizContent _ = bizContentParam . toJSONString ( ) ;
logger . info ( " biz_content参数: {} " , bizContent _ ) ;
String bizContent = bizContentParam . toJSONString ( ) ;
logger . info ( " biz_content参数: {} " , bizContent ) ;
/ / 通过FormBody对象构建Builder来添加表单参数
FormBody . Builder signFormBody = new FormBody . Builder ( ) . add ( " app_id " , appId ) . add ( " interface_id " , methodId ) . add ( " version " , version ) . add ( " timestamp " , String . valueOf ( timestamp ) ) . add ( " origin " , origin ) . add ( " charset " , charset ) . add ( " biz_content " , bizContent_ ) ;
logger . info ( index + " 分页{}对接知识库数据请求参数: " + signFormBody . build ( ) . contentType ( ) . toString ( ) , page ) ;
FormBody . Builder signFormBody = new FormBody . Builder ( ) . add ( " app_id " , appId )
. add ( " interface_id " , methodId ) .
add ( " version " , version ) .
add ( " timestamp " , String . valueOf ( timestamp ) ) .
add ( " origin " , origin ) .
add ( " charset " , charset ) .
add ( " biz_content " , bizContent ) ;
logger . info ( " {}分页{}对接知识库数据请求参数:{} " , index , page , signFormBody . build ( ) . contentType ( ) . toString ( ) ) ;
Request signRequest = new Request . Builder ( ) . url ( sign ) . post ( signFormBody . build ( ) ) . build ( ) ;
Response signResponse = client . newCall ( signRequest ) . execute ( ) ;
String signResult = signResponse . body ( ) . string ( ) ;
logger . info ( " {}分页signResult数据: " + signResult , page ) ;
logger . info ( " {}分页signResult数据: {}" , page , signResult ) ;
JSONObject signJsonObject = JSON . parseObject ( signResult ) ;
if ( ! signJsonObject . containsKey ( " data " ) ) {
logger . info ( " 获取sign异常: " + signResult ) ;
logger . info ( " 获取sign异常: {}" , signResult ) ;
end . set ( false ) ;
throw new RuntimeException ( " 获取sign异常 " ) ;
}
if ( signJsonObject . get ( " data " ) = = null ) {
logger . info ( " 获取sign异常: " + signResult ) ;
logger . info ( " 获取sign异常: {}" , signResult ) ;
end . set ( false ) ;
throw new RuntimeException ( " 获取sign异常 " ) ;
}
@ -1247,7 +1244,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
infoList . add ( attrEntity ) ;
dto . setInfoList ( infoList ) ;
this . insertWithAttrs ( dto ) ;
logger . info ( " 插入: " + dto . getName ( ) ) ;
logger . info ( " 插入: {}" , dto . getName ( ) ) ;
} ) ;
} , executor ) ) ;
try {
@ -1431,12 +1428,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
public PageData < Map < String , Object > > resourceInfrastructureDetails ( Map < String , Object > params ) {
List < Map < String , Object > > result = new CopyOnWriteArrayList < > ( ) ;
List < Map < String , Object > > result ;
Integer page = Integer . parseInt ( params . get ( " page " ) . toString ( ) ) - 1 ;
Integer pageSize = Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) ;
Object [ ] pas = { params . get ( " id " ) , params . get ( " id " ) } ;
List < Map < String , Object > > result2 = new ArrayList < > ( ) ;
List < Map < String , Object > > result2 ;
if ( Long . parseLong ( params . get ( " id " ) . toString ( ) ) = = 0 ) {
result2 = jdbcTemplate . queryForList ( " SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName \ n " +
" FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id \ n " +
@ -1452,11 +1449,11 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
" ORDER BY a.dept_id,b.name \ n " , pas ) ;
}
if ( result2 . size ( ) > 0 ) {
if ( ! result2 . isEmpty ( ) ) {
List < List < Map < String , Object > > > partition = Lists . partition ( result2 , pageSize ) ;
result . addAll ( partition . get ( page ) ) ;
result = new CopyOnWriteArrayList < > ( partition . get ( page ) ) ;
} else {
return new PageData < > ( result2 , result2. size ( ) ) ;
return new PageData < > ( result2 , 0 ) ;
}
CompletableFuture < Void > resourceCollectionNum01 = CompletableFuture . runAsync ( ( ) - > { / / 被申请数量 resourceCarNum
@ -1483,8 +1480,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
CompletableFuture < Void > all = CompletableFuture . allOf ( resourceCollectionNum01 , resourceCollectionNum02 , resourceCollectionNum03 ) ;
all . join ( ) ;
PageData < Map < String , Object > > pageData = new PageData < > ( result , result2 . size ( ) ) ;
return pageData ;
return new PageData < > ( result , result2 . size ( ) ) ;
}
@Override
@ -1494,7 +1490,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
Integer pageSize = Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) ;
Object [ ] pas = { params . get ( " id " ) , params . get ( " id " ) } ;
List < Map < String , Object > > result2 = new ArrayList < > ( ) ;
List < Map < String , Object > > result2 ;
if ( Long . parseLong ( params . get ( " id " ) . toString ( ) ) = = 0 ) {
result2 = jdbcTemplate . queryForList ( " SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName \ n " +
" FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id \ n " +
@ -1511,7 +1507,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
if ( result2 . size ( ) > 0 ) {
if ( ! result2 . isEmpty ( ) ) {
List < List < Map < String , Object > > > partition = Lists . partition ( result2 , pageSize ) ;
result . addAll ( partition . get ( page ) ) ;
} else {
@ -1542,13 +1538,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
CompletableFuture < Void > all = CompletableFuture . allOf ( resourceCarNum , resourceBrowseNum , resourceCollectionNum ) ;
all . join ( ) ;
PageData < Map < String , Object > > pageData = new PageData < > ( result , result2 . size ( ) ) ;
return pageData ;
return new PageData < > ( result , result2 . size ( ) ) ;
}
@Override
public PageData < Map < String , Object > > resourceKnowledgeDetails ( Map < String , Object > params ) {
List < Map < String , Object > > result = new ArrayList < > ( ) ;
List < Map < String , Object > > result ;
Integer page = Integer . parseInt ( params . get ( " page " ) . toString ( ) ) - 1 ;
Integer pageSize = Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) ;
Object [ ] pas = { params . get ( " id " ) , params . get ( " id " ) } ;
@ -1571,55 +1566,38 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
List < List < Map < String , Object > > > partition = Lists . partition ( result , pageSize ) ;
if ( result . size ( ) > 0 ) {
PageData < Map < String , Object > > pageData = new PageData < > ( partition . get ( page ) , result . size ( ) ) ;
return pageData ;
if ( ! result . isEmpty ( ) ) {
return new PageData < > ( partition . get ( page ) , result . size ( ) ) ;
} else {
return new PageData < > ( result , result. size ( ) ) ;
return new PageData < > ( result , 0 ) ;
}
}
@Override
public PageData < Map < String , Object > > resourceBusinessUseDetails ( Map < String , Object > params ) {
List < Map < String , Object > > maps = new CopyOnWriteArrayList < > ( ) ;
List < Map < String , Object > > maps ;
Integer page = Integer . parseInt ( params . get ( " page " ) . toString ( ) ) - 1 ;
Integer pageSize = Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) ;
Object [ ] ps = { params . get ( " id " ) , params . get ( " id " ) } ;
/ / 获取部门列表
List < Map < String , Object > > list = new ArrayList < > ( ) ;
List < Map < String , Object > > list ;
if ( Long . parseLong ( params . get ( " id " ) . toString ( ) ) = = 0 ) {
list = jdbcTemplate . queryForList ( " SELECT id as deptId,name AS deptName FROM sys_dept" ) ;
list = jdbcTemplate . queryForList ( " SELECT id AS deptId,name AS deptName FROM sys_dept" ) ;
} else {
list = jdbcTemplate . queryForList ( " SELECT id as deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?)" , ps ) ;
list = jdbcTemplate . queryForList ( " SELECT id AS deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?)" , ps ) ;
}
if ( list . size ( ) > 0 ) {
if ( ! list . isEmpty ( ) ) {
List < List < Map < String , Object > > > partition = Lists . partition ( list , pageSize ) ;
maps . addAll ( partition . get ( page ) ) ;
maps = new CopyOnWriteArrayList < > ( partition . get ( page ) ) ;
} else {
return new PageData < > ( list , list. size ( ) ) ;
return new PageData < > ( list , 0 ) ;
}
Map < String , Object > paraMap = new ConcurrentHashMap < > ( ) ;
paraMap . put ( " resourceType " , params . get ( " resourceType " ) ) ;
/ / 分别根据部门获取组件使用总数和调用数
/ / 申请数
/ / CompletableFuture < Void > voidCompletableFuture01 = CompletableFuture . runAsync ( ( ) - > {
/ / maps . forEach ( m - > {
/ / paraMap . put ( " id " , m . get ( " deptId " ) ) ;
/ / Map < String , Object > maps1 = new HashMap < > ( ) ;
/ / maps1 = baseDao . assemblyCarByDept ( paraMap ) ;
/ / if ( maps1 = = null ) {
/ / m . put ( " resourceCarNum " , 0 ) ;
/ / } else {
/ / m . put ( " resourceCarNum " , maps1 . get ( " carNum " ) = = null ? 0 : maps1 . get ( " carNum " ) ) ;
/ / }
/ / } ) ;
/ / } ) ;
/ / 本部门的应用关联的组件数量
CompletableFuture < Void > voidCompletableFuture02 = CompletableFuture . runAsync ( ( ) - > {
maps . forEach ( m - > {
CompletableFuture < Void > voidCompletableFuture02 = CompletableFuture . runAsync ( ( ) - > maps . forEach ( m - > {
paraMap . put ( " id " , m . get ( " deptId " ) ) ;
Map < String , Object > maps2 = new HashMap < > ( ) ;
maps2 = baseDao . assemblyUseByDept ( paraMap ) ;
@ -1628,43 +1606,37 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
} else {
m . put ( " resourceUseNum " , maps2 . get ( " useNum " ) = = null ? 0 : maps2 . get ( " useNum " ) ) ;
}
} ) ;
} , executor ) ;
} ) , executor ) ;
/ / 还缺少组件调用数 , 这先用假数据代替
CompletableFuture < Void > voidCompletableFuture01 = CompletableFuture . runAsync ( ( ) - > {
maps . forEach ( m - > {
m . put ( " resourceCallNum " , 0 ) ;
} ) ;
} , executor ) ;
CompletableFuture < Void > voidCompletableFuture01 = CompletableFuture . runAsync ( ( ) - > maps . forEach ( m - > m . put ( " resourceCallNum " , 0 ) ) , executor ) ;
CompletableFuture < Void > all = CompletableFuture . allOf ( voidCompletableFuture01 , voidCompletableFuture02 ) ;
all . join ( ) ;
PageData < Map < String , Object > > pageData = new PageData < > ( maps , list . size ( ) ) ;
return pageData ;
return new PageData < > ( maps , list . size ( ) ) ;
}
@Override
public PageData < Map < String , Object > > resourceDatasUseDetails ( Map < String , Object > params ) {
List < Map < String , Object > > result = new ArrayList < > ( ) ;
List < Map < String , Object > > result ;
Integer page = Integer . parseInt ( params . get ( " page " ) . toString ( ) ) - 1 ;
Integer pageSize = Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) ;
/ / 查询部门列表
Object [ ] ps = { params . get ( " id " ) , params . get ( " id " ) } ;
List < Map < String , Object > > list = new ArrayList < > ( ) ;
List < Map < String , Object > > list ;
if ( Long . parseLong ( params . get ( " id " ) . toString ( ) ) = = 0 ) {
list = jdbcTemplate . queryForList ( " SELECT id AS deptId,name AS deptName FROM sys_dept " ) ;
} else {
list = jdbcTemplate . queryForList ( " SELECT id AS deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?) " , ps ) ;
}
if ( list . size ( ) > 0 ) {
if ( ! list . isEmpty ( ) ) {
List < List < Map < String , Object > > > partition = Lists . partition ( list , pageSize ) ;
result . addAll ( partition . get ( page ) ) ;
result = new ArrayList < > ( partition . get ( page ) ) ;
} else {
return new PageData < > ( list , list. size ( ) ) ;
return new PageData < > ( list , 0 ) ;
}
ConcurrentHashMap map = new ConcurrentHashMap ( ) ;
map . put ( " resourceType " , params . get ( " resourceType " ) ) ;
@ -1679,13 +1651,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
} ) ;
PageData < Map < String , Object > > pageData = new PageData < > ( result , list . size ( ) ) ;
return pageData ;
return new PageData < > ( result , list . size ( ) ) ;
}
@Override
public List < Map < String , Object > > assemblerCarDetail ( Map < String , Object > params ) {
List < Map < String , Object > > result = new ArrayList < > ( ) ;
List < Map < String , Object > > result ;
Object [ ] ps = { params . get ( " resourceType " ) , params . get ( " id " ) , ( Integer . parseInt ( params . get ( " page " ) . toString ( ) ) - 1 ) * Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) , Integer . parseInt ( params . get ( " limit " ) . toString ( ) ) } ;
result = jdbcTemplate . queryForList ( " SELECT a.* FROM tb_resource_car a INNER JOIN sys_user b ON a.creator = b.id " +
" INNER JOIN tb_data_resource d ON a.resource_id = d.id WHERE a.del_flag = 0 AND d.type = ? AND " +
@ -1724,7 +1695,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
@Override
public Object selectTotalByDept ( ) {
public HashMap< String , Object> selectTotalByDept ( ) {
HashMap < String , Object > resultMap = new HashMap < > ( ) ;
Long deptId = SecurityUser . getUser ( ) . getDeptId ( ) ;
List < Long > deptList = null ;
@ -1855,17 +1826,17 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
public Object selectInfrastructureList ( ) {
return new HashMap < String , Object > ( ) { {
HashMap < String , Object > resultMap = new HashMap < > ( ) ;
Map map = ( Map ) selectTotal ( ) ;
List < Map < String , Object > > list = ( List < Map < String , Object > > ) map . get ( " total " ) ;
list . forEach ( index - > {
if ( " 基础设施 " . equals ( index . get ( " type " ) . toString ( ) ) ) {
put( " 视频资源 " , Integer . parseInt ( index . get ( " count " ) . toString ( ) ) ) ;
resultMap. put( " 视频资源 " , Integer . parseInt ( index . get ( " count " ) . toString ( ) ) ) ;
}
} ) ;
put( " 感知资源 " , 0 ) ;
put( " 云资源 " , 0 ) ;
} } ;
resultMap. put( " 感知资源 " , 0 ) ;
resultMap. put( " 云资源 " , 0 ) ;
return resultMap ;
}
private List < Long > getSourceIdsByProcess ( List < HistoricProcessInstance > list ) {
@ -1906,34 +1877,29 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
List < Map > result = new ArrayList < > ( ) ;
List < Map < String , Object > > dtoMaps = baseDao . selectDevelopDocResource ( ) ;
Map < String , List < Map < String , Object > > > resourceTypeMap = dtoMaps . stream ( ) . collect ( Collectors . groupingBy ( m - > m . get ( " type " ) . toString ( ) ) ) ;
resourceTypeMap . entrySet( ) . stream ( ) . forEach ( temp - > {
if ( ! " 组件服务 " . equals ( temp. getKey ( ) ) ) {
Map map = new HashMap ( ) ;
map . put ( " title " , temp. getKey ( ) ) ;
map . put ( " children " , temp. getValue ( ) ) ;
resourceTypeMap . forEach( ( key , value ) - > {
if ( ! " 组件服务 " . equals ( key ) ) {
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( " title " , key ) ;
map . put ( " children " , value ) ;
result . add ( map ) ;
}
} ) ;
if ( resourceTypeMap . get ( " 组件服务 " ) ! = null ) {
Map componentMap = new HashMap ( ) ;
Map < String , Object > componentMap = new HashMap < > ( ) ;
componentMap . put ( " title " , " 组件服务 " ) ;
Map < String , List > map = new ConcurrentHashMap < > ( ) ;
List < CompletableFuture > tasks = resourceTypeMap . get ( " 组件服务 " ) . stream ( ) . map ( it - > {
CompletableFuture task = CompletableFuture . runAsync ( ( ) - > {
selectAttrsByResourceId ( Long . parseLong ( it . get ( " id " ) . toString ( ) ) ) . stream ( ) . filter ( temp - > " 组件类型 " . equals ( temp . getAttrType ( ) ) ) . forEach ( attr - > {
CompletableFuture . allOf ( resourceTypeMap . get ( " 组件服务 " ) . stream ( ) . map ( it - > CompletableFuture . runAsync ( ( ) - > selectAttrsByResourceId ( Long . parseLong ( it . get ( " id " ) . toString ( ) ) ) . stream ( )
. filter ( temp - > " 组件类型 " . equals ( temp . getAttrType ( ) ) ) . forEach ( attr - > {
if ( map . get ( attr . getAttrValue ( ) ) ! = null ) {
map . get ( attr . getAttrValue ( ) ) . add ( it ) ;
} else {
map . put ( attr . getAttrValue ( ) , ( List ) Collections . synchronizedList ( new ArrayList ( ) { {
map . put ( attr . getAttrValue ( ) , Collections . synchronizedList ( new ArrayList ( ) { {
add ( it ) ;
} } ) ) ;
}
} ) ;
} , executor ) ;
return task ;
} ) . collect ( Collectors . toList ( ) ) ;
CompletableFuture . allOf ( tasks . toArray ( new CompletableFuture [ tasks . size ( ) ] ) ) . join ( ) ;
componentMap . put ( " children " , map . entrySet ( ) . stream ( ) . map ( it - > new HashMap ( ) { {
} ) , executor ) ) . toArray ( CompletableFuture [ ] : : new ) ) . join ( ) ;
componentMap . put ( " children " , map . entrySet ( ) . stream ( ) . map ( it - > new HashMap < String , Object > ( ) { {
put ( " title " , it . getKey ( ) ) ;
put ( " children " , it . getValue ( ) ) ;
} } ) . collect ( Collectors . toList ( ) ) ) ;