From 5589528feb385d7881f8dbf9314b3abf5d4f4e9e Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期五, 27 一月 2023 19:21:11 +0800
Subject: [PATCH] 优化 房屋页面查询功能
---
service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesCmd.java | 93 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 4 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesCmd.java b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesCmd.java
index da48abe..bd27288 100644
--- a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/SaveScheduleClassesCmd.java
+++ b/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,19 @@
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.dto.scheduleClassesDay.ScheduleClassesDayDto;
+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,12 +61,46 @@
@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");
-Assert.hasKeyAndValue(reqJson, "computeTime", "璇锋眰鎶ユ枃涓湭鍖呭惈computeTime");
+ 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(ScheduleClassesDayDto.WORKDAY_NO.equals(day.getString("workday"))){
+ continue;
+ }
+ if(!day.containsKey("times")){
+ throw new CmdException("鏈寘鏃堕棿");
+ }
+ times = day.getJSONArray("times");
+ if(times.size() <1){
+ throw new CmdException("鏈寘鏃堕棿");
+ }
+
+ }
}
@@ -65,14 +108,56 @@
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
- ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class);
+ 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());
}
}
--
Gitblit v1.8.0