From 7cee6151b42670dbcd8c08fb4716c8d9414a951b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 02 十二月 2022 19:00:34 +0800
Subject: [PATCH] 优化代码

---
 service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java
index f30b8fb..aa5d466 100644
--- a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java
@@ -15,6 +15,7 @@
  */
 package com.java110.store.cmd.scheduleClasses;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
@@ -22,7 +23,9 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
 import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
+import com.java110.po.inspection.InspectionPlanStaffPo;
 import com.java110.po.scheduleClassesStaff.ScheduleClassesStaffPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -55,8 +58,29 @@
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "scheduleId", "璇锋眰鎶ユ枃涓湭鍖呭惈scheduleId");
-        Assert.hasKeyAndValue(reqJson, "staffId", "璇锋眰鎶ユ枃涓湭鍖呭惈staffId");
-        Assert.hasKeyAndValue(reqJson, "staffName", "璇锋眰鎶ユ枃涓湭鍖呭惈staffName");
+
+        if(!reqJson.containsKey("staffs")){
+            throw new CmdException("鏈寘鍚憳宸�");
+        }
+
+        JSONArray staffs = reqJson.getJSONArray("staffs");
+        if(staffs.size() < 1){
+            throw new CmdException("鏈寘鍚憳宸�");
+        }
+        long count = 0;
+        ScheduleClassesStaffDto scheduleClassesStaffDto = null;
+        for(int staffIndex = 0; staffIndex < staffs.size() ; staffIndex++) {
+            scheduleClassesStaffDto = new ScheduleClassesStaffDto();
+            //scheduleClassesStaffDto.setScheduleId(reqJson.getString("scheduleId"));
+            scheduleClassesStaffDto.setStaffId(staffs.getJSONObject(staffIndex).getString("userId"));
+            count = scheduleClassesStaffV1InnerServiceSMOImpl.queryScheduleClassesStaffsCount(scheduleClassesStaffDto);
+
+            if(count > 0){
+                throw new CmdException(staffs.getJSONObject(staffIndex).getString("name")+"鍛樺伐宸茬粡瀛樺湪鎺掔彮");
+            }
+
+
+        }
 
     }
 
@@ -65,14 +89,23 @@
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
         String storeId = cmdDataFlowContext.getReqHeaders().get("store-id");
+        JSONArray staffs = reqJson.getJSONArray("staffs");
+        ScheduleClassesStaffPo scheduleClassesStaffPo = null;
 
-        ScheduleClassesStaffPo scheduleClassesStaffPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesStaffPo.class);
-        scheduleClassesStaffPo.setScsId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-        scheduleClassesStaffPo.setStoreId(storeId);
-        int flag = scheduleClassesStaffV1InnerServiceSMOImpl.saveScheduleClassesStaff(scheduleClassesStaffPo);
+        int flag = 0;
+        for(int staffIndex = 0; staffIndex < staffs.size() ; staffIndex++) {
+            scheduleClassesStaffPo = new ScheduleClassesStaffPo();
+            scheduleClassesStaffPo.setStoreId(storeId);
+            scheduleClassesStaffPo.setScheduleId(reqJson.getString("scheduleId"));
+            scheduleClassesStaffPo.setScsId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            scheduleClassesStaffPo.setStaffId(staffs.getJSONObject(staffIndex).getString("userId"));
+            scheduleClassesStaffPo.setStaffName(staffs.getJSONObject(staffIndex).getString("name"));
+            scheduleClassesStaffPo.setStoreId(storeId);
+            flag = scheduleClassesStaffV1InnerServiceSMOImpl.saveScheduleClassesStaff(scheduleClassesStaffPo);
+            if (flag < 1) {
+                throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+            }
 
-        if (flag < 1) {
-            throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
 
         cmdDataFlowContext.setResponseEntity(ResultVo.success());

--
Gitblit v1.8.0