From 4da3b0321291a1ad8a1341f8f843a41d4b516903 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 24 四月 2024 18:09:11 +0800
Subject: [PATCH] 合同规则分三层、合同积分新增

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 670853e..e29849f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -21,6 +21,7 @@
 import com.ycl.utils.SecurityUtils;
 import com.ycl.utils.redis.RedisCache;
 import enumeration.general.NotifyTypeEnum;
+import enumeration.general.WorkOrderDistributeWayEnum;
 import enumeration.general.WorkOrderStatusEnum;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.ArrayUtils;
@@ -309,48 +310,51 @@
             return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�");
         }
         if (!getDistributeLock()) {
-            return Result.error("宸ュ崟涓嬪彂涓紝璇风◢鍚庨噸璇�");
+            return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�");
         }
         try {
             new LambdaUpdateChainWrapper<>(baseMapper)
                     .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED)
                     .in(WorkOrder::getId, ids)
                     .update();
-            addDistributeRecord(ids);
+            addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE);
             return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�");
         } catch (Exception e) {
-            return Result.ok("鎿嶄綔澶辫触");
+            return Result.error("鎿嶄綔澶辫触");
         } finally {
             distributeUnLock();
         }
     }
 
     @Override
-    public Result selectedIdsDistribute(List<Integer> ids, Integer unitId) {
+    public Result selectedIdsDistribute(DistributeWorkOrderQuery query) {
+        WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE;
         if (!getDistributeLock()) {
-            return Result.error("宸ュ崟涓嬪彂涓紝璇风◢鍚庨噸璇�");
+            return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�");
         }
         try {
-            if (ids.isEmpty()) {
-                ids = new LambdaQueryChainWrapper<>(baseMapper)
+            if (query.getIds().isEmpty()) {
+                query.setIds(new LambdaQueryChainWrapper<>(baseMapper)
                         .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
-                        .eq(Objects.nonNull(unitId), WorkOrder::getUnitId, unitId)
+                        .eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId())
                         .select(WorkOrder::getId)
                         .list()
                         .stream()
                         .map(WorkOrder::getId)
-                        .collect(Collectors.toList());
+                        .collect(Collectors.toList()));
+                distributeWayEnum = WorkOrderDistributeWayEnum.ALL_DISTRIBUTE;
+            }
+            if (query.getIds().isEmpty()) {
+                return Result.error("娌℃湁宸ュ崟寰呬笅鍙�");
             }
             new LambdaUpdateChainWrapper<>(baseMapper)
                     .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED)
-                    .in(WorkOrder::getId, ids)
-                    .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
-                    .eq(Objects.nonNull(unitId), WorkOrder::getUnitId, unitId)
+                    .in(WorkOrder::getId, query.getIds())
                     .update();
-            addDistributeRecord(ids);
-            return Result.ok("鎿嶄綔鎴愬姛");
+            addDistributeRecord(query.getIds(), distributeWayEnum);
+            return Result.ok("鎴愬姛涓嬪彂" + query.getIds().size() + "鏉″伐鍗�");
         } catch (Exception e) {
-            return Result.ok("鎿嶄綔澶辫触");
+            return Result.error("鎿嶄綔澶辫触");
         } finally {
             distributeUnLock();
         }
@@ -380,11 +384,11 @@
      * 娣诲姞宸ュ崟涓嬪彂璁板綍
      * @param ids 宸ュ崟id
      */
-    private void addDistributeRecord(List<Integer> ids) {
+    private void addDistributeRecord(List<Integer> ids, WorkOrderDistributeWayEnum distributeWay) {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         workOrderDistributeRecordMapper.insertBatch(
                 ids.stream()
-                        .map(id -> new WorkOrderDistributeRecord(id, loginUser.getUserId()))
+                        .map(id -> new WorkOrderDistributeRecord(id, loginUser.getUserId(), distributeWay))
                         .toList()
         );
     }

--
Gitblit v1.8.0