package controllers
|
|
import (
|
"encoding/json"
|
"strconv"
|
"vamicro/scene-service/models"
|
"vamicro/scene-service/service"
|
|
"basic.com/valib/bhomeclient.git"
|
"basic.com/valib/logger.git"
|
)
|
|
type CameraTimeRuleController struct {
|
}
|
|
type CameraTimeruleVo struct {
|
Id string `json:"id"`
|
Name string `json:"name"`
|
TimeRule []models.DayCtl `json:"time_rule"`
|
}
|
|
// @Summary 时间规则保存
|
// @Description 时间规则保存
|
// @Accept json
|
// @Produce json
|
// @Tags CameraTimerule
|
// @Param cameraTaskTimerule body controllers.CameraTimeruleVo true "摄像机任务时间规则"
|
// @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"成功信息"}"
|
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"错误信息内容"}"
|
// @Router /data/api-v/cameraTimerule/save [post]
|
func (cc CameraTimeRuleController) Save(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
|
var vo CameraTimeruleVo
|
if err := c.BindJSON(&vo); err != nil {
|
logger.Error("CameraTimeRule Save err:", err)
|
return &bhomeclient.Reply{Success: false, Msg: "参数错误"}
|
}
|
logger.Debugf("CameraTimeRule Save vo=%v", vo)
|
if vo.Name == "" || vo.TimeRule == nil {
|
return &bhomeclient.Reply{Success: false, Msg: "规则名称或者时间规则不能为空"}
|
}
|
ruleBytes, err := json.Marshal(vo.TimeRule)
|
if err != nil {
|
return &bhomeclient.Reply{Success: false, Msg: "时间规则参数错误"}
|
}
|
var model = models.CameraTimerule{
|
Id: vo.Id,
|
Name: vo.Name,
|
TimeRule: string(ruleBytes),
|
}
|
logger.Debug("timeRuleModel: ", model)
|
sv := service.TimeService{Bk: h.Bk}
|
err = sv.Save(model)
|
if err != nil {
|
if err.Error() == "时间规则重复" {
|
return &bhomeclient.Reply{Success: false, Msg: "系统检测到此时间段已存在,请勿重复添加 !"}
|
}
|
return &bhomeclient.Reply{Success: false, Msg: "更新失败"}
|
}
|
return &bhomeclient.Reply{Success: true, Data: model}
|
|
}
|
|
// @Summary 查找所有时间规则
|
// @Description 查找所有时间规则
|
// @Produce json
|
// @Tags CameraTimerule
|
// @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"成功信息"}"
|
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"错误信息内容"}"
|
// @Router /data/api-v/cameraTimerule/findAll [get]
|
func (cc CameraTimeRuleController) FindAll(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
|
var model models.CameraTimerule
|
timeRules, err := model.FindAll()
|
if err != nil {
|
return &bhomeclient.Reply{Success: false, Msg: "查询失败"}
|
}
|
return &bhomeclient.Reply{Success: true, Data: timeRules}
|
}
|
|
// @Summary 删除时间规则
|
// @Description 删除时间规则
|
// @Accept json
|
// @Produce json
|
// @Tags CameraTimerule
|
// @Param id query string true "id"
|
// @Success 200 {string} json "{"code":200, success:true, msg:"请求处理成功", data:"成功信息"}"
|
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"错误信息内容"}"
|
// @Router /data/api-v/cameraTimerule/delete [get]
|
func (cc CameraTimeRuleController) Delete(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
|
// get
|
timeRuleId := c.Query("id")
|
if timeRuleId == "" {
|
// post
|
var vo CameraTimeruleVo
|
if err := c.BindJSON(&vo); err != nil {
|
logger.Errorf("cameraTimeRule delete err=%v", err)
|
return &bhomeclient.Reply{Success: false, Msg: "参数不能为空"}
|
}
|
timeRuleId = vo.Id
|
}
|
if timeRuleId == "" {
|
logger.Errorf("cameraTimeRule delete id is nil")
|
return &bhomeclient.Reply{Success: false, Msg: "id参数为空错误"}
|
}
|
bForce, _ := strconv.ParseBool(c.Query("force"))
|
sv := service.TimeService{Bk: h.Bk}
|
if b, e := sv.DeleteById(timeRuleId, bForce); !b {
|
logger.Errorf("cameraTimeRule delete timeRuleId=%v, err=%v", timeRuleId, e)
|
return &bhomeclient.Reply{Success: false, Msg: e.Error()}
|
}
|
|
logger.Debugf("cameraTimeRule delete success timeRuleId=%v, bForce=%v", timeRuleId, bForce)
|
return &bhomeclient.Reply{Success: true, Msg: "删除成功"}
|
}
|