package controllers import ( "basic.com/valib/bhomeclient.git" "vamicro/report-service/models" "vamicro/report-service/tasks" ) type ReportServiceController struct { bk bhomeclient.Broker } func (ac ReportServiceController) GetDevInfo(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var module models.Device config, _ := module.FindAll() return &bhomeclient.Reply{Success: true, Data: config} } func (ac ReportServiceController) SetDevInfo(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var params models.Device if err := c.BindJSON(¶ms); err != nil { return &bhomeclient.Reply{Success: false, Msg: "参数格式错误,非法的json格式"} } if err := params.Update(); err != nil { return &bhomeclient.Reply{Success: false, Msg: "更新失败"} } // 更新全局 models.IntervalConfig.Read() // 重置上报任务 tasks.ResetDeviceInfoReport() return &bhomeclient.Reply{Success: true, Data: params} } func (ac ReportServiceController) GetIntervalConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var module models.Interval config, _ := module.FindAll() return &bhomeclient.Reply{Success: true, Data: config} } func (ac ReportServiceController) SetIntervalConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var params models.Interval // 记录之前配置的值 oldDevInfoInterval := models.IntervalConfig.DevInfo oldDevStateInterval := models.IntervalConfig.DevState if err := c.BindJSON(¶ms); err != nil { return &bhomeclient.Reply{Success: false, Msg: "参数格式错误,非法的json格式"} } if err := params.Update(); err != nil { return &bhomeclient.Reply{Success: false, Msg: "更新失败"} } // 更新全局 models.IntervalConfig.Read() // 判断是否修改 if oldDevInfoInterval != models.IntervalConfig.DevInfo { tasks.ResetDeviceInfoReport() } // 判断是否修改 if oldDevStateInterval != models.IntervalConfig.DevState { tasks.ResetDeviceStateReport() } return &bhomeclient.Reply{Success: true, Data: params} }