|
|
@@ -41,11 +41,13 @@ func (s *lightStrategyService) Get(id int) (*model.LightStrategyDetail, *util.Er
|
|
|
func (s *lightStrategyService) CreateOrUpdate(req *model.LightStrategyDetail) *util.Errors {
|
|
|
// 创建查询实例
|
|
|
strategy := req
|
|
|
+ fmt.Printf("CreateOrUpdate strategy = %+v \n", strategy)
|
|
|
if strategy.TenantID == "" {
|
|
|
strategy.TenantID = "000000" // todo: 使用登录态
|
|
|
}
|
|
|
strategy.UpdateUser = "TODO" // todo: 使用登录态
|
|
|
strategy.UpdateTime = time.Now()
|
|
|
+
|
|
|
if len(strategy.LightConditionList) == 0 {
|
|
|
for i := 0; i < len(strategy.LightConditionDetailList); i++ {
|
|
|
var detail = strategy.LightConditionDetailList[i]
|
|
|
@@ -83,18 +85,6 @@ func (s *lightStrategyService) CreateOrUpdate(req *model.LightStrategyDetail) *u
|
|
|
fmt.Printf("Create GetstrategyID err \n")
|
|
|
return util.ParamsInvalidResponse("编码不能重复,请重新填写!", nil)
|
|
|
}
|
|
|
- //todo 不能先存
|
|
|
- if err := strategy.Create(); err != nil {
|
|
|
- fmt.Printf("Create err = %s \n", err.Error())
|
|
|
- return util.FailResponse(err.Error(), nil)
|
|
|
- }
|
|
|
- return util.SuccessResponse(util.Succeeded, nil)
|
|
|
- }
|
|
|
-
|
|
|
- //todo 不能先存
|
|
|
- if err := strategy.Update(); err != nil {
|
|
|
- fmt.Printf("Update err = %s \n", err.Error())
|
|
|
- return util.FailResponse(err.Error(), nil)
|
|
|
}
|
|
|
|
|
|
//用于比较光照度重叠
|
|
|
@@ -137,21 +127,19 @@ func (s *lightStrategyService) CreateOrUpdate(req *model.LightStrategyDetail) *u
|
|
|
}
|
|
|
|
|
|
// 时间策略参数校验
|
|
|
+ var timeList []dao.TimeCondition
|
|
|
for _, timeCondition := range strategy.TimeConditionList {
|
|
|
if timeCondition.Sunshine == 0 {
|
|
|
timeCondition.Sunshine = 1
|
|
|
}
|
|
|
if timeCondition.Sunshine == 1 && (timeCondition.StartTime == "" && timeCondition.EndTime == "") {
|
|
|
- //todo 请将时间区间填写完整!
|
|
|
- return nil
|
|
|
+ return util.FailResponse(model.TimeConditionNull, nil)
|
|
|
}
|
|
|
if (timeCondition.StartTime == "" && timeCondition.EndTime != "") || (timeCondition.
|
|
|
StartTime != "" && timeCondition.EndTime == "") {
|
|
|
- //todo 请将时间区间填写完整!
|
|
|
- return nil
|
|
|
+ return util.FailResponse(model.TimeConditionNull, nil)
|
|
|
} else if timeCondition.EndTime != "" && timeCondition.StartTime >= timeCondition.EndTime {
|
|
|
- //todo 时间区间开始时间不能大于结束时间,请重新调整!
|
|
|
- return nil
|
|
|
+ return util.FailResponse(model.TimeConditionInvalid, nil)
|
|
|
}
|
|
|
if timeCondition.ID == 0 {
|
|
|
timeCondition.CreateUser = "TODO" //todo 登录态
|
|
|
@@ -161,18 +149,32 @@ func (s *lightStrategyService) CreateOrUpdate(req *model.LightStrategyDetail) *u
|
|
|
timeCondition.UpdateTime = time.Now()
|
|
|
}
|
|
|
timeCondition.LightId = req.ID
|
|
|
- }
|
|
|
-
|
|
|
- //todo create or update
|
|
|
- strategyDao := &dao.LightStrategy{}
|
|
|
- if strategy.ID == 0 {
|
|
|
- strategyDao.Create()
|
|
|
- } else {
|
|
|
- strategyDao.Update()
|
|
|
- }
|
|
|
-
|
|
|
- TimeConditionService.Save(strategy.TimeConditionList)
|
|
|
- LightConditionService.Save(strategy.LightConditionList)
|
|
|
+ if timeCondition.ID == 0 {
|
|
|
+ timeCondition.CreateUser = "TODO" //todo 登录态
|
|
|
+ timeCondition.CreateTime = time.Now()
|
|
|
+ }
|
|
|
+ timeCondition.UpdateUser = "TODO" //todo 登录态
|
|
|
+ timeCondition.UpdateTime = time.Now()
|
|
|
+
|
|
|
+ timeList = append(timeList, timeCondition)
|
|
|
+ }
|
|
|
+
|
|
|
+ //存数据库
|
|
|
+ //if strategy.ID == 0 {
|
|
|
+ // if err := strategy.Create(); err != nil {
|
|
|
+ // fmt.Printf("Create err = %s \n", err.Error())
|
|
|
+ // return util.FailResponse(err.Error(), nil)
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // if err := strategy.Update(); err != nil {
|
|
|
+ // fmt.Printf("Update err = %s \n", err.Error())
|
|
|
+ // return util.FailResponse(err.Error(), nil)
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ fmt.Printf("timeList = %+v \n", timeList)
|
|
|
+ //存策略条件
|
|
|
+ _ = TimeConditionService.Save(timeList)
|
|
|
+ //_ = LightConditionService.Save(strategy.LightConditionList)
|
|
|
|
|
|
//todo 调用设备云端的新增或修改
|
|
|
|