|
@@ -15,6 +15,7 @@
|
|
|
*/
|
|
*/
|
|
|
package com.java110.store.cmd.scheduleClasses;
|
|
package com.java110.store.cmd.scheduleClasses;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.java110.core.annotation.Java110Cmd;
|
|
import com.java110.core.annotation.Java110Cmd;
|
|
|
import com.java110.core.annotation.Java110Transactional;
|
|
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.Cmd;
|
|
|
import com.java110.core.event.cmd.CmdEvent;
|
|
import com.java110.core.event.cmd.CmdEvent;
|
|
|
import com.java110.core.factory.GenerateCodeFactory;
|
|
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.intf.store.IScheduleClassesV1InnerServiceSMO;
|
|
|
import com.java110.po.scheduleClasses.ScheduleClassesPo;
|
|
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.exception.CmdException;
|
|
|
import com.java110.utils.util.Assert;
|
|
import com.java110.utils.util.Assert;
|
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
|
|
|
+import com.java110.utils.util.DateUtil;
|
|
|
|
|
+import com.java110.utils.util.StringUtil;
|
|
|
import com.java110.vo.ResultVo;
|
|
import com.java110.vo.ResultVo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -52,26 +60,98 @@ public class SaveScheduleClassesCmd extends Cmd {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl;
|
|
private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IScheduleClassesDayV1InnerServiceSMO scheduleClassesDayV1InnerServiceSMOImpl;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IScheduleClassesTimeV1InnerServiceSMO scheduleClassesTimeV1InnerServiceSMOImpl;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
|
|
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
|
|
|
Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
|
|
Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
|
|
|
Assert.hasKeyAndValue(reqJson, "scheduleType", "请求报文中未包含scheduleType");
|
|
Assert.hasKeyAndValue(reqJson, "scheduleType", "请求报文中未包含scheduleType");
|
|
|
Assert.hasKeyAndValue(reqJson, "scheduleCycle", "请求报文中未包含scheduleCycle");
|
|
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
|
|
@Override
|
|
|
@Java110Transactional
|
|
@Java110Transactional
|
|
|
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
|
|
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 scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class);
|
|
|
scheduleClassesPo.setScheduleId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
|
|
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);
|
|
int flag = scheduleClassesV1InnerServiceSMOImpl.saveScheduleClasses(scheduleClassesPo);
|
|
|
|
|
|
|
|
if (flag < 1) {
|
|
if (flag < 1) {
|
|
|
throw new CmdException("保存数据失败");
|
|
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());
|
|
cmdDataFlowContext.setResponseEntity(ResultVo.success());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|