فهرست منبع

将履约者列表接口补回来

Huanyi 1 ماه پیش
والد
کامیت
2a2c104c0a

+ 43 - 0
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/service/impl/FlfFulfillerServiceImpl.java

@@ -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;
+    }
+
 }