Browse Source

代码优化

dev_shibei_match
sunyuchao 4 years ago
parent
commit
6627e28486
  1. 45
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

45
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

@ -1,13 +1,17 @@
package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.StaffPatrolMQMsg;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
@ -42,9 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -73,6 +75,8 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private RedisUtils redisUtils;
/**
@ -469,19 +473,32 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
return resultDTO;
}
//2.查询网格信息
OrgInfoFormDTO org = new OrgInfoFormDTO();
List<String> orgIds = result.getList().stream().map(PcworkRecordListResultDTO.StaffPatrol::getGridId).collect(Collectors.toList());
orgIds = orgIds.stream().distinct().collect(Collectors.toList());
org.setOrgIds(orgIds);
org.setOrgType("grid");
Result<List<OrgInfoResultDTO>> orgResult = govOrgOpenFeignClient.selectOrgInfo(org);
if (!orgResult.success()) {
throw new RenException("获取网格基础信息失败......");
//2.查询网格信息并赋值
Map<String, CustomerGridDTO> map = new HashMap<>();
for (PcworkRecordListResultDTO.StaffPatrol r : result.getList()) {
if (map.containsKey(r.getGridId())) {
r.setGridName(map.get(r.getGridId()).getGridName());
continue;
}
String redisKey = RedisKeys.getGridInfoKey(r.getGridId());
Map<String, Object> gridCache = redisUtils.hGetAll(redisKey);
if (gridCache != null && gridCache.size() > 0) {
// 直接取缓存中的
CustomerGridDTO dto = BeanUtil.mapToBean(gridCache, CustomerGridDTO.class, true);
r.setGridName(dto.getGridName());
map.put(r.getGridId(), dto);
} else {
CustomerGridFormDTO form = new CustomerGridFormDTO();
form.setGridId(r.getGridId());
Result<CustomerGridDTO> resultGrid = govOrgOpenFeignClient.getGridBaseInfoByGridId(form);
if (!resultGrid.success()) {
throw new RenException("调用org服务获取网格基础信息失败......");
}
r.setGridName(resultGrid.getData().getGridName());
map.put(r.getGridId(), resultGrid.getData());
}
}
//3.封装数据并返回
result.getList().forEach(r -> orgResult.getData().stream().filter(u -> r.getGridId().equals(u.getOrgId())).forEach(u -> r.setGridName(u.getOrgName())));
resultDTO.setTotal((int)result.getTotal());
resultDTO.setList(result.getList());
return resultDTO;

Loading…
Cancel
Save