|
|
@@ -598,4 +598,47 @@ public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
|
|
|
}));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FlfFulfillerOnOrderVo> listAllOnOrder() {
|
|
|
+
|
|
|
+ List<FlfFulfiller> flfFulfillers = baseMapper.selectList();
|
|
|
+
|
|
|
+ List<Long> fulfillerIds = new ArrayList<>();
|
|
|
+ List<Long> avatarIds = new ArrayList<>();
|
|
|
+ flfFulfillers.forEach(e -> {
|
|
|
+ fulfillerIds.add(e.getId());
|
|
|
+ if ((StringUtils.isNotBlank(e.getAvatar()))) {
|
|
|
+ avatarIds.add(Long.parseLong(e.getAvatar()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Map<Long, List<Long>> tagMap = new HashMap<>();
|
|
|
+ Map<Long, RemoteFile> avatarMap = new HashMap<>();
|
|
|
+ tagRelMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(SysTagRel.class)
|
|
|
+ .eq(SysTagRel::getTargetType, "fulfiller")
|
|
|
+ .in(SysTagRel::getTargetId, WrapperUtils.convertIds(fulfillerIds))
|
|
|
+ ).forEach(e -> tagMap.computeIfAbsent(e.getTargetId(), k -> new ArrayList<>()).add(e.getTagId()));
|
|
|
+
|
|
|
+ remoteFileService.selectByIds(avatarIds).forEach(e -> avatarMap.put(e.getOssId(), e));
|
|
|
+
|
|
|
+ List<FlfFulfillerOnOrderVo> vos = new ArrayList<>();
|
|
|
+
|
|
|
+ flfFulfillers.forEach(e -> {
|
|
|
+ FlfFulfillerOnOrderVo vo = new FlfFulfillerOnOrderVo();
|
|
|
+ vo.setId(e.getId());
|
|
|
+ vo.setName(e.getName());
|
|
|
+ vo.setAvatar(
|
|
|
+ Optional.ofNullable(e.getAvatar())
|
|
|
+ .map(id -> avatarMap.get(Long.parseLong(id)).getUrl())
|
|
|
+ .orElse(null)
|
|
|
+ );
|
|
|
+ vo.setPhone(e.getPhone());
|
|
|
+ vo.setTags(tagMap.get(e.getId()));
|
|
|
+ vo.setStatus(e.getStatus());
|
|
|
+ vos.add(vo);
|
|
|
+ });
|
|
|
+
|
|
|
+ return vos;
|
|
|
+ }
|
|
|
+
|
|
|
}
|