|
@@ -12,6 +12,7 @@ import com.citu.module.menduner.system.controller.base.api.MdeApiAccessLogRespVO
|
|
|
import com.citu.module.menduner.system.dal.dataobject.api.MdeApiAccessLogInfoDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
|
|
|
import com.citu.module.menduner.system.dal.mysql.api.MdeApiAccessLogInfoMapper;
|
|
|
+import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
|
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
|
import com.citu.module.system.api.dict.DictDataApi;
|
|
|
import com.citu.module.system.api.dict.dto.DictDataRespDTO;
|
|
@@ -51,6 +52,9 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
DictDataApi dictDataApi;
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
+ EnterpriseService enterpriseService;
|
|
|
+
|
|
|
@Resource
|
|
|
EnterpriseUserBindService enterpriseUserBindService;
|
|
|
|
|
@@ -70,7 +74,7 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
ApiAccessLogPageReqDTO reqDTO =new ApiAccessLogPageReqDTO();
|
|
|
BeanUtils.copyProperties(pageReqVO, reqDTO);
|
|
|
PageResult<ApiAccessLogRespDTO> apiAccessLogPage = apiAccessLogApi.getApiAccessLogPage(reqDTO);
|
|
|
- List<String> requestIds = apiAccessLogPage.getList().stream().filter(item -> StringUtils.isBlank(item.getRequestId())).map(ApiAccessLogRespDTO::getRequestId).collect(Collectors.toList());
|
|
|
+ List<String> requestIds = apiAccessLogPage.getList().stream().filter(item -> StringUtils.isNotBlank(item.getRequestId())).map(ApiAccessLogRespDTO::getRequestId).collect(Collectors.toList());
|
|
|
List<MdeApiAccessLogInfoDO> mdeApiAccessLogInfoDOS = mdeApiAccessLogInfoMapper.selectRequestIds(requestIds);
|
|
|
Map<String, MdeApiAccessLogInfoDO> collect = mdeApiAccessLogInfoDOS.stream().collect(Collectors.toMap(item -> item.getRequestId(), item -> item));
|
|
|
List<MdeApiAccessLogRespVO> res =new ArrayList<>(apiAccessLogPage.getList().size()+1);
|
|
@@ -80,17 +84,19 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
userTypeMap.put(data.getValue(), new HashMap<>());
|
|
|
}
|
|
|
for (ApiAccessLogRespDTO apiAccessLogRespDTO : apiAccessLogPage.getList()) {
|
|
|
- userTypeMap.putIfAbsent(apiAccessLogRespDTO.getUserType().toString(),new HashMap<>());
|
|
|
MdeApiAccessLogRespVO mdeApiAccessLogRespVO = new MdeApiAccessLogRespVO();
|
|
|
mdeApiAccessLogRespVO.setRequestId(apiAccessLogRespDTO.getRequestId());
|
|
|
BeanUtils.copyProperties(apiAccessLogRespDTO,mdeApiAccessLogRespVO);
|
|
|
- if(collect.containsKey(apiAccessLogRespDTO.getRequestId())){
|
|
|
- MdeApiAccessLogInfoDO mdeApiAccessLogInfoDO = collect.get(apiAccessLogRespDTO.getRequestId());
|
|
|
+ MdeApiAccessLogInfoDO mdeApiAccessLogInfoDO = collect.get(apiAccessLogRespDTO.getRequestId());
|
|
|
+ if(null!=mdeApiAccessLogInfoDO){
|
|
|
BeanUtils.copyProperties(mdeApiAccessLogInfoDO,mdeApiAccessLogRespVO);
|
|
|
+ mdeApiAccessLogRespVO.setEnterpriseId(mdeApiAccessLogInfoDO.getEnterpriseId());
|
|
|
}
|
|
|
if(null == mdeApiAccessLogRespVO.getEnterpriseId()){
|
|
|
- userTypeMap.get(apiAccessLogRespDTO.getUserType().toString()).put(null==apiAccessLogRespDTO.getUserId()?-1L:apiAccessLogRespDTO.getUserId(),"");
|
|
|
+ userTypeMap.putIfAbsent(mdeApiAccessLogRespVO.getUserType().toString(),new HashMap<>());
|
|
|
+ userTypeMap.get(mdeApiAccessLogRespVO.getUserType().toString()).put(null==mdeApiAccessLogRespVO.getUserId()?-1L:mdeApiAccessLogRespVO.getUserId(),"");
|
|
|
}else{
|
|
|
+ userTypeMap.putIfAbsent("1-"+mdeApiAccessLogRespVO.getEnterpriseId(),new HashMap<>());
|
|
|
// 企业用户
|
|
|
userTypeMap.get("1-"+mdeApiAccessLogRespVO.getEnterpriseId()).put(null==apiAccessLogRespDTO.getUserId()?-1L:apiAccessLogRespDTO.getUserId(),"");
|
|
|
}
|
|
@@ -98,7 +104,7 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ Map<Long,String> enterpriseNameCache =new HashMap<>();
|
|
|
userTypeMap.forEach((key, value) -> {
|
|
|
value.remove(-1L);
|
|
|
value.remove(0L);
|
|
@@ -108,6 +114,11 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
// 企业用户
|
|
|
if(key.startsWith("1-") ){
|
|
|
Long enterpriseId = Long.valueOf(key.split("-")[1]);
|
|
|
+ String enterpriseName = enterpriseNameCache.get(enterpriseId);
|
|
|
+ if(null ==enterpriseName){
|
|
|
+ enterpriseNameCache.put(enterpriseId,enterpriseService.getEnterprise(enterpriseId).getAnotherName());
|
|
|
+ }
|
|
|
+
|
|
|
value.keySet().forEach(userId -> {
|
|
|
EnterpriseUserBindDO enterpriseUserBind = enterpriseUserBindService.selectByEnterpriseIdAndUserId(enterpriseId,userId);
|
|
|
value.put(userId,enterpriseUserBind.getName());
|
|
@@ -132,6 +143,7 @@ public class MdeApiAccessLogInfoServiceImpl implements MdeApiAccessLogInfoServi
|
|
|
res.forEach(item->{
|
|
|
if(null!=item.getEnterpriseId()){
|
|
|
item.setUserNickName(userTypeMap.get("1-"+item.getEnterpriseId()).get(item.getUserId()));
|
|
|
+ item.setEnterpriseName(enterpriseNameCache.get(item.getEnterpriseId()));
|
|
|
}else {
|
|
|
item.setUserNickName(userTypeMap.get(item.getUserType().toString()).get(item.getUserId()));
|
|
|
}
|