package controllers import ( "rtzh_elec_temperature/rtelec_app_public_lib/service" "strings" "github.com/spf13/cast" ) //业务场景模块相关服务 type SceneController struct { BaseController } // 2022-11-03增加业务类别对应南向模块id // 添加业务对应modelid关系 // @router /addrelation [post] func (c *SceneController) Addscenemodelid() { scenename := c.GetString("scenename") scenceObj := new(service.SceneService) scenceObj.UserInfo = c.GetCurrentUserInfo_rt() err := scenceObj.DeleteScene(scenename) if err != nil { c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错:有重复数据") c.ServeJSON() return } mids := c.GetString("mids") modelidList := strings.Split(mids, ",") for _, v := range modelidList { err = scenceObj.InsertScene(scenename, cast.ToInt(v)) if err != nil { c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错!") c.ServeJSON() return } } c.Data["json"] = c.ApiOK("新增成功!") c.ServeJSON() } // 业务类别对应模型删除,删除场景名称下的所有模型id // @router /delrelation [post] func (c *SceneController) Delscenemodelid() { scenename := c.GetString("scenename") sceneinfo := new(service.SceneService) sceneinfo.UserInfo = c.GetCurrentUserInfo_rt() err := sceneinfo.DeleteScene(scenename) if err != nil { c.Data["json"] = c.ApiError("删除纪录时出错!") c.ServeJSON() return } c.Data["json"] = c.ApiOK("删除成功!") c.ServeJSON() } //获取某一个场景下的所有modelid // @router /getListBySceneName [post] func (c *SceneController) GetListBySceneName() { sceneName := c.GetString("scenename") if sceneName == "" { c.Data["json"] = c.ApiError("场景名称不能为空!") c.ServeJSON() return } sceneinfo := new(service.SceneService) sceneinfo.UserInfo = c.GetCurrentUserInfo_rt() var params = map[string]string{} params["scenename"] = sceneName list, err := sceneinfo.QueryScene(params) if err != nil { c.Data["json"] = c.ApiError(err.Error()) c.ServeJSON() return } c.Data["json"] = c.ApiOK(list) c.ServeJSON() } //获取所有场景 // @router /getScencList [post] func (c *SceneController) GetSceneList() { sceneinfo := new(service.SceneService) sceneinfo.UserInfo = c.GetCurrentUserInfo_rt() list, err := sceneinfo.GetSceneList() if err != nil { c.Data["json"] = c.ApiError(err.Error()) c.ServeJSON() return } c.Data["json"] = c.ApiOK(list) c.ServeJSON() } //修改某一个场景对应的modelid // @router /updateScene [post] func (c *SceneController) UpdateScene() { scenename := c.GetString("scenename") mids := c.GetString("mids") modelidList := strings.Split(mids, ",") sceneinfo := new(service.SceneService) sceneinfo.UserInfo = c.GetCurrentUserInfo_rt() err := sceneinfo.DeleteScene(scenename) if err == nil { for _, v := range modelidList { err := sceneinfo.InsertScene(scenename, cast.ToInt(v)) if err != nil { c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错!") c.ServeJSON() return } } } c.Data["json"] = c.ApiOK("") c.ServeJSON() }