|
@@ -25,7 +25,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
+import java.rmi.RemoteException;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@@ -141,7 +143,7 @@ public class WorkerTeamLogic {
|
|
|
final List<WebsitUser> websitUsers = websitUserService.lambdaQuery()
|
|
|
.eq(WebsitUser::getCompanyWechatId, adminUser.getCompanyWechatId())
|
|
|
.eq(WebsitUser::getWebsitId, websitId)
|
|
|
- .ne(StringUtils.isNotBlank(workerId), WebsitUser::getWorkerNumber, workerId)
|
|
|
+ .ne(StringUtils.isNotBlank(workerId), WebsitUser::getUserId, workerId)
|
|
|
.eq(WebsitUser::getExamineStatus, ExamineStatusEnum.OK.getKey())
|
|
|
.list();
|
|
|
if (CollectionUtil.isEmpty(websitUsers)) {
|
|
@@ -152,18 +154,13 @@ public class WorkerTeamLogic {
|
|
|
.in(User::getUserId, websitUsers.stream().map(WebsitUser::getUserId).collect(Collectors.toList()))
|
|
|
.list();
|
|
|
|
|
|
-// final List<UserWait> waitList = userWaitService.lambdaQuery()
|
|
|
-// .eq(UserWait::getCompanyWechatId, adminUser.getCompanyWechatId())
|
|
|
-// .in(UserWait::getWorkerNumber, websitUsers.stream().map(WebsitUser::getWorkerNumber).collect(Collectors.toList()))
|
|
|
-// .list();
|
|
|
-
|
|
|
- final Map<String, String> userMap = userList.stream().collect(Collectors.toMap(User::getWorkerNumber, User::getNickName));
|
|
|
+ final Map<String, String> userMap = userList.stream().collect(Collectors.toMap(User::getUserId, User::getNickName));
|
|
|
List<WebsitWorkerBean> beanList = new ArrayList<>();
|
|
|
for (WebsitUser websitUser : websitUsers) {
|
|
|
- if (userMap.containsKey(websitUser.getWorkerNumber())) {
|
|
|
+ if (userMap.containsKey(websitUser.getUserId())) {
|
|
|
WebsitWorkerBean bean = new WebsitWorkerBean();
|
|
|
- bean.setWorkerId(websitUser.getWorkerNumber());
|
|
|
- bean.setWorkerName(userMap.get(websitUser.getWorkerNumber()));
|
|
|
+ bean.setWorkerId(websitUser.getUserId());
|
|
|
+ bean.setWorkerName(userMap.get(websitUser.getUserId()));
|
|
|
beanList.add(bean);
|
|
|
}
|
|
|
}
|
|
@@ -192,10 +189,10 @@ public class WorkerTeamLogic {
|
|
|
throw new RemoteServiceException("第" + rowIndex + "行, 网点编号不能为空");
|
|
|
}
|
|
|
if (Objects.isNull(row.get(1)) || org.apache.commons.lang3.StringUtils.isBlank(row.get(1).toString())) {
|
|
|
- throw new RemoteServiceException("第" + rowIndex + "行, 大工师傅编号不能为空");
|
|
|
+ throw new RemoteServiceException("第" + rowIndex + "行, 大工师傅手机号不能为空");
|
|
|
}
|
|
|
if (Objects.isNull(row.get(2)) || org.apache.commons.lang3.StringUtils.isBlank(row.get(2).toString())) {
|
|
|
- throw new RemoteServiceException("第" + rowIndex + "行, 小工师傅编号不能为空");
|
|
|
+ throw new RemoteServiceException("第" + rowIndex + "行, 小工师傅手机号不能为空");
|
|
|
}
|
|
|
WorkerTeam workerTeam = new WorkerTeam();
|
|
|
workerTeam.setCompanyWechatId(companyWechatId)
|
|
@@ -204,38 +201,77 @@ public class WorkerTeamLogic {
|
|
|
.setMasterWorkerId(row.get(1).toString().trim())
|
|
|
.setAssistantWorkerId(row.get(2).toString().trim())
|
|
|
.setStatus(StateEnum.ON.getKey());
|
|
|
+ this.checkImportWorkerWebsit(workerTeam);
|
|
|
+
|
|
|
workerTeamList.add(workerTeam);
|
|
|
}
|
|
|
|
|
|
List<User> userList = userService.lambdaQuery()
|
|
|
.eq(User::getCompanyWechatId, companyWechatId)
|
|
|
- .in(User::getWorkerNumber, workerTeamList.stream()
|
|
|
+ .in(User::getMobile, workerTeamList.stream()
|
|
|
.map(WorkerTeam::getMasterWorkerId)
|
|
|
.collect(Collectors.toList()))
|
|
|
.list();
|
|
|
|
|
|
List<User> userList2 = userService.lambdaQuery()
|
|
|
.eq(User::getCompanyWechatId, companyWechatId)
|
|
|
- .in(User::getWorkerNumber, workerTeamList.stream()
|
|
|
+ .in(User::getMobile, workerTeamList.stream()
|
|
|
.map(WorkerTeam::getAssistantWorkerId)
|
|
|
.collect(Collectors.toList()))
|
|
|
.list();
|
|
|
|
|
|
userList.addAll(userList2);
|
|
|
|
|
|
- Map<String, String> userMap = new HashMap<>();
|
|
|
+ Map<String, User> userMap = new HashMap<>();
|
|
|
if (CollectionUtil.isNotEmpty(userList)) {
|
|
|
userMap = userList.stream()
|
|
|
- .collect(Collectors.toMap(User::getWorkerNumber, User::getNickName, (key1, key2) -> key2));
|
|
|
+ .collect(Collectors.toMap(User::getMobile, Function.identity(), (key1, key2) -> key2));
|
|
|
}
|
|
|
|
|
|
for (WorkerTeam workerTeam : workerTeamList) {
|
|
|
- String masterWorkerName = userMap.get(workerTeam.getMasterWorkerId());
|
|
|
- String assistantWorkerName = userMap.get(workerTeam.getAssistantWorkerId());
|
|
|
- workerTeam.setMasterWorkerName(masterWorkerName)
|
|
|
- .setAssistantWorkerName(assistantWorkerName);
|
|
|
+ User masterWorker = userMap.get(workerTeam.getMasterWorkerId());
|
|
|
+ User assistantWorker = userMap.get(workerTeam.getAssistantWorkerId());
|
|
|
+ workerTeam.setMasterWorkerId(masterWorker.getUserId())
|
|
|
+ .setMasterWorkerName(masterWorker.getNickName())
|
|
|
+ .setAssistantWorkerId(assistantWorker.getUserId())
|
|
|
+ .setAssistantWorkerName(assistantWorker.getNickName());
|
|
|
this.checkUniqueTeam(workerTeam);
|
|
|
workerTeam.insert();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void checkImportWorkerWebsit(WorkerTeam workerTeam) throws RemoteException {
|
|
|
+ final User user = userService.lambdaQuery()
|
|
|
+ .eq(User::getCompanyWechatId, workerTeam.getCompanyWechatId())
|
|
|
+ .eq(User::getMobile, workerTeam.getMasterWorkerId())
|
|
|
+ .one();
|
|
|
+ if (Objects.isNull(user)) {
|
|
|
+ throw new RemoteException("师傅" + workerTeam.getMasterWorkerId() + "不存在");
|
|
|
+ }
|
|
|
+ final Integer count = websitUserService.lambdaQuery()
|
|
|
+ .eq(WebsitUser::getCompanyWechatId, workerTeam.getCompanyWechatId())
|
|
|
+ .eq(WebsitUser::getUserId, user.getUserId())
|
|
|
+ .eq(WebsitUser::getWebsitId, workerTeam.getWebsitId())
|
|
|
+ .eq(WebsitUser::getExamineStatus, ExamineStatusEnum.OK.getKey())
|
|
|
+ .count();
|
|
|
+ if (count == 0) {
|
|
|
+ throw new RemoteException("师傅" + workerTeam.getMasterWorkerId() + "未入驻成功");
|
|
|
+ }
|
|
|
+ final User user2 = userService.lambdaQuery()
|
|
|
+ .eq(User::getCompanyWechatId, workerTeam.getCompanyWechatId())
|
|
|
+ .eq(User::getMobile, workerTeam.getAssistantWorkerId())
|
|
|
+ .one();
|
|
|
+ if (Objects.isNull(user2)) {
|
|
|
+ throw new RemoteException("师傅" + workerTeam.getAssistantWorkerId() + "不存在");
|
|
|
+ }
|
|
|
+ final Integer count2 = websitUserService.lambdaQuery()
|
|
|
+ .eq(WebsitUser::getCompanyWechatId, workerTeam.getCompanyWechatId())
|
|
|
+ .eq(WebsitUser::getUserId, user2.getUserId())
|
|
|
+ .eq(WebsitUser::getWebsitId, workerTeam.getWebsitId())
|
|
|
+ .eq(WebsitUser::getExamineStatus, ExamineStatusEnum.OK.getKey())
|
|
|
+ .count();
|
|
|
+ if (count == 0) {
|
|
|
+ throw new RemoteException("师傅" + workerTeam.getAssistantWorkerId() + "未入驻成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|