Pārlūkot izejas kodu

师傅组队使用userId

FengChaoYu 10 mēneši atpakaļ
vecāks
revīzija
d4d13aa407

+ 13 - 13
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/worker/WorkerTeamLogic.java

@@ -49,9 +49,9 @@ public class WorkerTeamLogic {
         CurrentCompanyWechat current = commonLogic.getCurrentCompanyWechat();
         final Page<WorkerTeamApply> page = workerTeamApplyService.lambdaQuery()
                 .eq(WorkerTeamApply::getCompanyWechatId, current.getUser().getCompanyWechatId())
-                .and(v -> v.eq(WorkerTeamApply::getMasterWorkerId, current.getUser().getWorkerNumber())
+                .and(v -> v.eq(WorkerTeamApply::getMasterWorkerId, current.getUser().getUserId())
                         .or()
-                        .eq(WorkerTeamApply::getAssistantWorkerId, current.getUser().getWorkerNumber())
+                        .eq(WorkerTeamApply::getAssistantWorkerId, current.getUser().getUserId())
                 )
                 .eq(WorkerTeamApply::getStatus, ExamineStatusEnum.WAIT.getKey())
                 .page(new Page<>(pageNum, pageSize));
@@ -82,9 +82,9 @@ public class WorkerTeamLogic {
         CurrentCompanyWechat current = commonLogic.getCurrentCompanyWechat();
         final Page<WorkerTeam> page = workerTeamService.lambdaQuery()
                 .eq(WorkerTeam::getCompanyWechatId, current.getUser().getCompanyWechatId())
-                .and(v -> v.eq(WorkerTeam::getMasterWorkerId, current.getUser().getWorkerNumber())
+                .and(v -> v.eq(WorkerTeam::getMasterWorkerId, current.getUser().getUserId())
                         .or()
-                        .eq(WorkerTeam::getAssistantWorkerId, current.getUser().getWorkerNumber())
+                        .eq(WorkerTeam::getAssistantWorkerId, current.getUser().getUserId())
                 )
                 .page(new Page<>(pageNum, pageSize));
 
@@ -119,7 +119,7 @@ public class WorkerTeamLogic {
             throw new RemoteServiceException("网点编号不能为空");
         }
         if (StringUtils.isBlank(workerTeam.getMasterWorkerId()) || StringUtils.isBlank(workerTeam.getMasterWorkerName())) {
-            workerTeam.setMasterWorkerId(current.getUser().getWorkerNumber())
+            workerTeam.setMasterWorkerId(current.getUser().getUserId())
                     .setMasterWorkerName(current.getUser().getNickName());
         }
         if (StringUtils.isBlank(workerTeam.getAssistantWorkerId()) || StringUtils.isBlank(workerTeam.getAssistantWorkerName())) {
@@ -199,14 +199,14 @@ public class WorkerTeamLogic {
                 .eq(User::getCompanyWechatId, current.getUser().getCompanyWechatId())
                 .in(User::getUserId, websitUsers.stream().map(WebsitUser::getUserId).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));
 
         Map<String, WebsitWorkerBean> workerMap = new HashMap<>();
         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()));
                 workerMap.put(bean.getWorkerId(), bean);
             }
         }
@@ -219,17 +219,17 @@ public class WorkerTeamLogic {
         final Integer count1 = workerTeamApplyService.lambdaQuery()
                 .eq(WorkerTeamApply::getCompanyWechatId, current.getUser().getCompanyWechatId())
                 .eq(WorkerTeamApply::getStatus, ExamineStatusEnum.WAIT.getKey())
-                .and(v -> v.eq(WorkerTeamApply::getMasterWorkerId, current.getUser().getWorkerNumber())
+                .and(v -> v.eq(WorkerTeamApply::getMasterWorkerId, current.getUser().getUserId())
                         .or()
-                        .eq(WorkerTeamApply::getAssistantWorkerId, current.getUser().getWorkerNumber())
+                        .eq(WorkerTeamApply::getAssistantWorkerId, current.getUser().getUserId())
                 )
                 .count();
 
         final Integer count2 = workerTeamService.lambdaQuery()
                 .eq(WorkerTeam::getCompanyWechatId, current.getUser().getCompanyWechatId())
-                .and(v -> v.eq(WorkerTeam::getMasterWorkerId, current.getUser().getWorkerNumber())
+                .and(v -> v.eq(WorkerTeam::getMasterWorkerId, current.getUser().getUserId())
                         .or()
-                        .eq(WorkerTeam::getAssistantWorkerId, current.getUser().getWorkerNumber())
+                        .eq(WorkerTeam::getAssistantWorkerId, current.getUser().getUserId())
                 )
                 .count();
 

+ 56 - 20
mall-server-api/src/main/java/com/gree/mall/manager/logic/worker/WorkerTeamLogic.java

@@ -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() + "未入驻成功");
+        }
+    }
 }