Jelajahi Sumber

门墩儿日志新增企业名称返回

DESKTOP-VAEGFGM\zqc 3 bulan lalu
induk
melakukan
d2398aa65f

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/api/MdeApiAccessLogInfoMapper.java

@@ -12,7 +12,7 @@ import java.util.List;
 public interface MdeApiAccessLogInfoMapper  extends BaseMapperX<MdeApiAccessLogInfoDO> {
    default   List<MdeApiAccessLogInfoDO> selectRequestIds(List<String> requestIds){
 
-       if(requestIds==null){
+       if(requestIds==null || requestIds.isEmpty()){
            return  new ArrayList<>();
        }
        LambdaQueryWrapper<MdeApiAccessLogInfoDO> queryWrapper = new LambdaQueryWrapper<>();

+ 18 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/api/MdeApiAccessLogInfoServiceImpl.java

@@ -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()));
             }