From 94ae02e6f73b7011f0fcf6acff8636341d35351d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 一月 2025 17:24:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 6 deletions(-)
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
index 723e462..7e6f424 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MasterWorkerServiceImpl.java
@@ -1,14 +1,18 @@
package com.ruoyi.admin.service.impl;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.mapper.MasterWorkerMapper;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.vo.MasterWorkerRankVO;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.order.api.entity.WorkerOrderRankVO;
+import com.ruoyi.order.api.feignClient.OrderClient;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.List;
+import javax.annotation.Resource;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -22,19 +26,59 @@
@Service
public class MasterWorkerServiceImpl extends ServiceImpl<MasterWorkerMapper, MasterWorker> implements MasterWorkerService {
+ @Resource
+ private OrderClient orderClient;
+
@Override
public List<MasterWorkerRankVO> workerRanking(List<String> cityList) {
List<MasterWorker> masterWorkerList;
if (null == cityList || cityList.isEmpty()) {
masterWorkerList = lambdaQuery().eq(MasterWorker::getIsDelete, 0).list();
} else {
- masterWorkerList = lambdaQuery().in(MasterWorker::getCity, cityList).eq(MasterWorker::getIsDelete, 0).list();
+ masterWorkerList = lambdaQuery().in(MasterWorker::getCityCode, cityList)
+ .eq(MasterWorker::getIsDelete, 0).list();
}
if (null == masterWorkerList || masterWorkerList.isEmpty()) {
return new ArrayList<>();
}
- List<Integer> workerIdList = masterWorkerList.stream().map(MasterWorker::getId).collect(Collectors.toList());
- List<MasterWorkerRankVO> result = baseMapper.workerRanking(workerIdList);
- return null == result ? new ArrayList<>() : result;
+ // 师傅id查询
+ List<Integer> workerIds = masterWorkerList.stream().map(MasterWorker::getId).collect(Collectors.toList());
+ List<WorkerOrderRankVO> data = orderClient.workerOrderRank(workerIds).getData();
+ Map<Integer, Integer> map = data.stream().collect(Collectors.toMap(WorkerOrderRankVO::getWorkerId,
+ WorkerOrderRankVO::getOrderNumber));
+ // 结果数据封装
+ List<MasterWorkerRankVO> result = new ArrayList<>();
+ for (MasterWorker masterWorker : masterWorkerList) {
+ Integer id = masterWorker.getId();
+ Integer orderNumber = map.get(id);
+ if (null != orderNumber) {
+ // 展示数据
+ MasterWorkerRankVO masterWorkerRankVO = new MasterWorkerRankVO();
+ masterWorkerRankVO.setProfilePicture(masterWorker.getProfilePicture());
+ masterWorkerRankVO.setRealName(masterWorker.getRealName());
+ masterWorkerRankVO.setOrderNumber(orderNumber);
+ result.add(masterWorkerRankVO);
+ }
+ }
+ // 创建一个 Comparator
+ Comparator<MasterWorkerRankVO> comparator = Comparator
+ // 按照 orderNumber 字段排序
+ .comparingInt(MasterWorkerRankVO::getOrderNumber)
+ // 倒序
+ .reversed();
+ // 使用 Collections.sort 方法进行排序
+ result.sort(comparator);
+ return result;
}
+
+ @Override
+ public boolean checkOnlyPhone(String phone, Integer id) {
+ LambdaQueryChainWrapper<MasterWorker> wrapper = lambdaQuery().eq(MasterWorker::getPhone, phone).eq(BaseEntity::getIsDelete, 0);
+ if (null != id) {
+ wrapper.ne(MasterWorker::getId, id);
+ }
+ MasterWorker masterWorker = wrapper.one();
+ return masterWorker == null;
+ }
+
}
--
Gitblit v1.7.1