From 7affe8533d23df9ea512d291f2947eaea7e04a28 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 31 五月 2023 14:46:20 +0800
Subject: [PATCH] optimize dining

---
 service-store/src/main/java/com/java110/store/cmd/scheduleClasses/UpdateScheduleClassesCmd.java |   85 ++++++++++++++++++++++--------------------
 1 files changed, 44 insertions(+), 41 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/UpdateScheduleClassesCmd.java b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/UpdateScheduleClassesCmd.java
index 623a9ec..b663069 100644
--- a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/UpdateScheduleClassesCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/UpdateScheduleClassesCmd.java
@@ -23,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.scheduleClassesDay.ScheduleClassesDayDto;
+import com.java110.dto.scheduleClasses.ScheduleClassesDto;
+import com.java110.dto.scheduleClasses.ScheduleClassesDayDto;
+import com.java110.dto.scheduleClasses.ScheduleClassesTimeDto;
 import com.java110.intf.store.IScheduleClassesDayV1InnerServiceSMO;
 import com.java110.intf.store.IScheduleClassesTimeV1InnerServiceSMO;
 import com.java110.intf.store.IScheduleClassesV1InnerServiceSMO;
@@ -39,6 +41,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細鏇存柊
@@ -53,12 +56,10 @@
 @Java110Cmd(serviceCode = "scheduleClasses.updateScheduleClasses")
 public class UpdateScheduleClassesCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(UpdateScheduleClassesCmd.class);
-
+    private static Logger logger = LoggerFactory.getLogger(UpdateScheduleClassesCmd.class);
 
     @Autowired
     private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl;
-
 
     @Autowired
     private IScheduleClassesDayV1InnerServiceSMO scheduleClassesDayV1InnerServiceSMOImpl;
@@ -69,87 +70,90 @@
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "scheduleId", "scheduleId涓嶈兘涓虹┖");
-
         Assert.hasKeyAndValue(reqJson, "name", "璇锋眰鎶ユ枃涓湭鍖呭惈name");
         Assert.hasKeyAndValue(reqJson, "scheduleType", "璇锋眰鎶ユ枃涓湭鍖呭惈scheduleType");
         Assert.hasKeyAndValue(reqJson, "scheduleCycle", "璇锋眰鎶ユ枃涓湭鍖呭惈scheduleCycle");
-
-        if(!reqJson.containsKey("days")){
+        if (!reqJson.containsKey("days")) {
             throw new CmdException("鏈寘鍚ぉ");
         }
-
         JSONArray days = reqJson.getJSONArray("days");
-        if(days.size() <1){
+        if (days.size() < 1) {
             throw new CmdException("鏈寘鍚ぉ");
         }
-
         JSONObject day = null;
         JSONArray times = null;
-        for(int dayIndex = 0 ; dayIndex < days.size(); dayIndex++){
+        for (int dayIndex = 0; dayIndex < days.size(); dayIndex++) {
             day = days.getJSONObject(dayIndex);
-
-            if(ScheduleClassesDayDto.WORKDAY_NO.equals(day.getString("workday"))){
+            if (ScheduleClassesDayDto.WORKDAY_NO.equals(day.getString("workday"))) {
                 continue;
             }
-            if(!day.containsKey("times")){
+            if (!day.containsKey("times")) {
                 throw new CmdException("鏈寘鏃堕棿");
             }
             times = day.getJSONArray("times");
-            if(times.size() <1){
+            if (times.size() < 1) {
                 throw new CmdException("鏈寘鏃堕棿");
             }
-
         }
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
-       ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class);
+        ScheduleClassesDto scheduleClassesDto = new ScheduleClassesDto();
+        scheduleClassesDto.setScheduleId(reqJson.getString("scheduleId"));
+        List<ScheduleClassesDto> scheduleClassesDtos = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassess(scheduleClassesDto);
+        Assert.listOnlyOne(scheduleClassesDtos, "鏌ヨ鎺掔彮淇℃伅閿欒锛�");
+        ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class);
         int flag = scheduleClassesV1InnerServiceSMOImpl.updateScheduleClasses(scheduleClassesPo);
-
         if (flag < 1) {
             throw new CmdException("鏇存柊鏁版嵁澶辫触");
         }
-
-        ScheduleClassesDayPo scheduleClassesDayPo = new ScheduleClassesDayPo();
-        scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId());
-        flag = scheduleClassesDayV1InnerServiceSMOImpl.deleteScheduleClassesDay(scheduleClassesDayPo);
-
-        if (flag < 1) {
-            throw new CmdException("鏇存柊鏁版嵁澶辫触");
+        ScheduleClassesDayDto scheduleClassesDayDto = new ScheduleClassesDayDto();
+        scheduleClassesDayDto.setScheduleId(scheduleClassesDtos.get(0).getScheduleId());
+        List<ScheduleClassesDayDto> scheduleClassesDayDtos = scheduleClassesDayV1InnerServiceSMOImpl.queryScheduleClassesDays(scheduleClassesDayDto);
+        if (scheduleClassesDayDtos != null && scheduleClassesDayDtos.size() > 0) {
+            ScheduleClassesDayPo scheduleClassesDayPo = new ScheduleClassesDayPo();
+            scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId());
+            flag = scheduleClassesDayV1InnerServiceSMOImpl.deleteScheduleClassesDay(scheduleClassesDayPo);
+            if (flag < 1) {
+                throw new CmdException("鏇存柊鏁版嵁澶辫触");
+            }
         }
-
-        ScheduleClassesTimePo scheduleClassesTimePo = new ScheduleClassesTimePo();
-        scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId());
-        flag = scheduleClassesTimeV1InnerServiceSMOImpl.deleteScheduleClassesTime(scheduleClassesTimePo);
-
-        if (flag < 1) {
-            throw new CmdException("鏇存柊鏁版嵁澶辫触");
+        ScheduleClassesTimeDto scheduleClassesTimeDto = new ScheduleClassesTimeDto();
+        scheduleClassesTimeDto.setScheduleId(scheduleClassesDtos.get(0).getScheduleId());
+        //scheduleClassesTimeDto.setDayId(scheduleClassesDayDtos.get(0).getDayId());
+        List<ScheduleClassesTimeDto> scheduleClassesTimeDtos = scheduleClassesTimeV1InnerServiceSMOImpl.queryScheduleClassesTimes(scheduleClassesTimeDto);
+        if (scheduleClassesTimeDtos != null && scheduleClassesTimeDtos.size() >0) {
+            ScheduleClassesTimePo scheduleClassesTimePo = new ScheduleClassesTimePo();
+            scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId());
+            flag = scheduleClassesTimeV1InnerServiceSMOImpl.deleteScheduleClassesTime(scheduleClassesTimePo);
+            if (flag < 1) {
+                throw new CmdException("鏇存柊鏁版嵁澶辫触");
+            }
         }
-
         JSONArray days = reqJson.getJSONArray("days");
-
         JSONObject day = null;
         JSONObject time = null;
         JSONArray times = null;
-        for(int dayIndex = 0 ; dayIndex < days.size(); dayIndex++){
+        for (int dayIndex = 0; dayIndex < days.size(); dayIndex++) {
             day = days.getJSONObject(dayIndex);
-            scheduleClassesDayPo = new ScheduleClassesDayPo();
+            ScheduleClassesDayPo scheduleClassesDayPo = new ScheduleClassesDayPo();
+            scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId());
             scheduleClassesDayPo.setDayId(GenerateCodeFactory.getGeneratorId("11"));
             scheduleClassesDayPo.setDay(day.getString("day"));
             scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId());
-            scheduleClassesDayPo.setWeekFlag(StringUtil.isEmpty(day.getString("weekFlag"))?"1":day.getString("weekFlag"));
+            scheduleClassesDayPo.setWeekFlag(StringUtil.isEmpty(day.getString("weekFlag")) ? "1" : day.getString("weekFlag"));
             scheduleClassesDayPo.setWorkday(day.getString("workday"));
             flag = scheduleClassesDayV1InnerServiceSMOImpl.saveScheduleClassesDay(scheduleClassesDayPo);
             if (flag < 1) {
                 throw new CmdException("淇濆瓨鏁版嵁澶辫触");
             }
             times = day.getJSONArray("times");
-            for(int timeIndex = 0 ;timeIndex < times.size();timeIndex++){
+            for (int timeIndex = 0; timeIndex < times.size(); timeIndex++) {
                 time = times.getJSONObject(timeIndex);
-                scheduleClassesTimePo = new ScheduleClassesTimePo();
+                ScheduleClassesTimePo scheduleClassesTimePo = new ScheduleClassesTimePo();
+                scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId());
                 scheduleClassesTimePo.setDayId(scheduleClassesDayPo.getDayId());
                 scheduleClassesTimePo.setEndTime(time.getString("endTime"));
                 scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId());
@@ -161,7 +165,6 @@
                 }
             }
         }
-
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0