From dd9759eaa3dabd3d55943fc0c741fd5018d2d76e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 31 五月 2023 16:43:29 +0800
Subject: [PATCH] optimize dining

---
 service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesStaffCmd.java |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 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..0a9019c 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,11 +23,11 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.scheduleClasses.ScheduleClassesStaffDto;
 import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
 import com.java110.po.scheduleClassesStaff.ScheduleClassesStaffPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
@@ -55,8 +56,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 +87,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