Browse Source

优化代码

wuxw 3 years ago
parent
commit
add9388e91

+ 3 - 0
java110-bean/src/main/java/com/java110/dto/scheduleClasses/ScheduleClassesDto.java

@@ -15,6 +15,9 @@ import java.util.Date;
  **/
 public class ScheduleClassesDto extends PageDto implements Serializable {
 
+    public static final String STATE_START = "1001";
+    public static final String STATE_STOP = "2002";
+
     private String scheduleType;
     private String scheduleTypeName;
     private String scheduleCycle;

+ 45 - 27
java110-bean/src/main/java/com/java110/po/scheduleClasses/ScheduleClassesPo.java

@@ -17,6 +17,7 @@ package com.java110.po.scheduleClasses;
 
 import java.io.Serializable;
 import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2022-10-29 15:29:19 mail: 928255095@qq.com
@@ -28,69 +29,86 @@ import java.util.Date;
 public class ScheduleClassesPo implements Serializable {
 
     private String scheduleType;
-private String scheduleCycle;
-private String computeTime;
-private String name;
-private String remark;
-private String statusCd = "0";
-private String state;
-private String storeId;
-private String scheduleId;
-public String getScheduleType() {
+    private String scheduleCycle;
+    private String computeTime;
+    private String name;
+    private String remark;
+    private String statusCd = "0";
+    private String state;
+    private String storeId;
+    private String scheduleId;
+
+    public String getScheduleType() {
         return scheduleType;
     }
-public void setScheduleType(String scheduleType) {
+
+    public void setScheduleType(String scheduleType) {
         this.scheduleType = scheduleType;
     }
-public String getScheduleCycle() {
+
+    public String getScheduleCycle() {
         return scheduleCycle;
     }
-public void setScheduleCycle(String scheduleCycle) {
+
+    public void setScheduleCycle(String scheduleCycle) {
         this.scheduleCycle = scheduleCycle;
     }
-public String getComputeTime() {
+
+    public String getComputeTime() {
         return computeTime;
     }
-public void setComputeTime(String computeTime) {
+
+    public void setComputeTime(String computeTime) {
         this.computeTime = computeTime;
     }
-public String getName() {
+
+    public String getName() {
         return name;
     }
-public void setName(String name) {
+
+    public void setName(String name) {
         this.name = name;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getScheduleId() {
+
+    public String getScheduleId() {
         return scheduleId;
     }
-public void setScheduleId(String scheduleId) {
+
+    public void setScheduleId(String scheduleId) {
         this.scheduleId = scheduleId;
     }
 
 
-
 }

+ 80 - 0
service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesCmd.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,18 @@ import com.java110.core.context.ICmdDataFlowContext;
 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.ScheduleClassesDto;
+import com.java110.intf.store.IScheduleClassesDayV1InnerServiceSMO;
+import com.java110.intf.store.IScheduleClassesTimeV1InnerServiceSMO;
 import com.java110.intf.store.IScheduleClassesV1InnerServiceSMO;
 import com.java110.po.scheduleClasses.ScheduleClassesPo;
+import com.java110.po.scheduleClassesDay.ScheduleClassesDayPo;
+import com.java110.po.scheduleClassesTime.ScheduleClassesTimePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
@@ -52,26 +60,98 @@ public class SaveScheduleClassesCmd extends Cmd {
     @Autowired
     private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IScheduleClassesDayV1InnerServiceSMO scheduleClassesDayV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IScheduleClassesTimeV1InnerServiceSMO scheduleClassesTimeV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
         Assert.hasKeyAndValue(reqJson, "scheduleType", "请求报文中未包含scheduleType");
         Assert.hasKeyAndValue(reqJson, "scheduleCycle", "请求报文中未包含scheduleCycle");
 
+        if(!reqJson.containsKey("days")){
+            throw new CmdException("未包含天");
+        }
+
+        JSONArray days = reqJson.getJSONArray("days");
+
+        if(days.size() <1){
+            throw new CmdException("未包含天");
+        }
+
+        JSONObject day = null;
+        JSONArray times = null;
+        for(int dayIndex = 0 ; dayIndex < days.size(); dayIndex++){
+            day = days.getJSONObject(dayIndex);
+            if(!day.containsKey("times")){
+                throw new CmdException("未包时间");
+            }
+            times = day.getJSONArray("times");
+            if(times.size() <1){
+                throw new CmdException("未包时间");
+            }
+
+        }
+
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
+        String storeId = cmdDataFlowContext.getReqHeaders().get("store-id");
+
         ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class);
         scheduleClassesPo.setScheduleId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        scheduleClassesPo.setStoreId(storeId);
+        scheduleClassesPo.setState(ScheduleClassesDto.STATE_START);
+        scheduleClassesPo.setComputeTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
         int flag = scheduleClassesV1InnerServiceSMOImpl.saveScheduleClasses(scheduleClassesPo);
 
         if (flag < 1) {
             throw new CmdException("保存数据失败");
         }
 
+        JSONArray days = reqJson.getJSONArray("days");
+
+        JSONObject day = null;
+        ScheduleClassesDayPo scheduleClassesDayPo = null;
+        JSONObject time = null;
+        ScheduleClassesTimePo scheduleClassesTimePo = null;
+        JSONArray times = null;
+        for(int dayIndex = 0 ; dayIndex < days.size(); dayIndex++){
+            day = days.getJSONObject(dayIndex);
+            scheduleClassesDayPo = new ScheduleClassesDayPo();
+            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.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++){
+                time = times.getJSONObject(timeIndex);
+                scheduleClassesTimePo = new ScheduleClassesTimePo();
+                scheduleClassesTimePo.setDayId(scheduleClassesDayPo.getDayId());
+                scheduleClassesTimePo.setEndTime(time.getString("endTime"));
+                scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId());
+                scheduleClassesTimePo.setStartTime(time.getString("startTime"));
+                scheduleClassesTimePo.setTimeId(GenerateCodeFactory.getGeneratorId("11"));
+                flag = scheduleClassesTimeV1InnerServiceSMOImpl.saveScheduleClassesTime(scheduleClassesTimePo);
+                if (flag < 1) {
+                    throw new CmdException("保存数据失败");
+                }
+            }
+        }
+
+
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }