|
|
@@ -28,27 +28,12 @@ func (s *lightStrategyService) Get(id int) (*model.LightStrategyDetail, *util.Er
|
|
|
LightStrategy: *strategy,
|
|
|
}
|
|
|
|
|
|
- lightStrategy.LightConditionList = LightConditionService.BatchGet([]int{id})
|
|
|
- lightStrategy.TimeConditionList = TimeConditionService.BatchGet([]int{id})
|
|
|
+ lightStrategy.TimeConditionList = TimeConditionService.GetByLightId(id)
|
|
|
|
|
|
if len(lightStrategy.TimeConditionList) > 0 {
|
|
|
lightStrategy.LightType = "时间"
|
|
|
}
|
|
|
lightStrategy.LightType = lightStrategy.LightType + "策略"
|
|
|
-
|
|
|
- lightingList := IntelligentLightingService.BatchGet([]int{id})
|
|
|
- for _, lighting := range lightingList {
|
|
|
- // 关联类型1=灯杆,2=灯杆分组
|
|
|
- if lighting.RelationType == 2 {
|
|
|
- lampPole, _ := LampPoleService.Get(lighting.Rid)
|
|
|
- lightStrategy.LampPoleDetailList = append(lightStrategy.LampPoleDetailList,
|
|
|
- model.LampPoleDetail{LampPole: *lampPole})
|
|
|
- } else {
|
|
|
- lampPoleGroup, _ := LampPoleGroupService.Get(lighting.Rid)
|
|
|
- lightStrategy.LampPoleGroupDetailList = append(lightStrategy.LampPoleGroupDetailList,
|
|
|
- model.LampPoleGroupDetail{LampPoleGroup: *lampPoleGroup})
|
|
|
- }
|
|
|
- }
|
|
|
return lightStrategy, nil
|
|
|
|
|
|
}
|
|
|
@@ -194,11 +179,11 @@ func (s *lightStrategyService) CreateOrUpdate(req *model.LightStrategyDetail) *u
|
|
|
//todo operation record
|
|
|
return util.SuccessResponse(util.Succeeded, nil)
|
|
|
}
|
|
|
-func (s *lightStrategyService) List(searchValue string, current, size int) ([]dao.LightStrategy, *util.Errors) {
|
|
|
+
|
|
|
+func (s *lightStrategyService) List(searchValue string, current, size int) ([]model.LightStrategyDetail, *util.Errors) {
|
|
|
strategy := dao.LightStrategy{}
|
|
|
if searchValue != "" {
|
|
|
strategy.LightSn = searchValue
|
|
|
- strategy.LightName = searchValue
|
|
|
}
|
|
|
|
|
|
offset := (current - 1) * size
|
|
|
@@ -207,8 +192,35 @@ func (s *lightStrategyService) List(searchValue string, current, size int) ([]da
|
|
|
if err != nil {
|
|
|
return nil, util.FailResponse(err.Error(), nil)
|
|
|
}
|
|
|
- return strategies, nil
|
|
|
+
|
|
|
+ timeConditions, _ := TimeConditionService.GetAll()
|
|
|
+ timeConditionsMap := make(map[int]dao.TimeCondition)
|
|
|
+ for _, timeCondition := range timeConditions {
|
|
|
+ timeConditionsMap[timeCondition.LightId] = timeCondition
|
|
|
+ }
|
|
|
+
|
|
|
+ year := time.Now().Year()
|
|
|
+ var details []model.LightStrategyDetail
|
|
|
+ for _, strategy := range strategies {
|
|
|
+ if strategy.IsAllYear == model.IsYear {
|
|
|
+ strategy.StartTime = fmt.Sprintf("%d-01-01", year)
|
|
|
+ strategy.StartTime = fmt.Sprintf("%d-12-31", year)
|
|
|
+ }
|
|
|
+ detail := model.LightStrategyDetail{LightStrategy: strategy}
|
|
|
+ if timeCondition, isExist := timeConditionsMap[strategy.ID]; isExist {
|
|
|
+ //开启日出日落
|
|
|
+ if timeCondition.Sunshine == 2 {
|
|
|
+ timeCondition.StartTime = "日落"
|
|
|
+ timeCondition.EndTime = "日出"
|
|
|
+ }
|
|
|
+ detail.CombinationStr = fmt.Sprintf("开灯时段:%s ~ %s , 灯光亮度:%d%%", timeCondition.StartTime,
|
|
|
+ timeCondition.EndTime, timeCondition.Luminance)
|
|
|
+ }
|
|
|
+ details = append(details, detail)
|
|
|
+ }
|
|
|
+ return details, nil
|
|
|
}
|
|
|
+
|
|
|
func (s *lightStrategyService) Remove(id int) *util.Errors {
|
|
|
// 创建查询实例
|
|
|
strategy := &dao.LightStrategy{
|