SceneController.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package controllers
  2. import (
  3. "rtzh_elec_temperature/rtelec_app_public_lib/service"
  4. "strings"
  5. "github.com/spf13/cast"
  6. )
  7. //业务场景模块相关服务
  8. type SceneController struct {
  9. BaseController
  10. }
  11. // 2022-11-03增加业务类别对应南向模块id
  12. // 添加业务对应modelid关系
  13. // @router /addrelation [post]
  14. func (c *SceneController) Addscenemodelid() {
  15. scenename := c.GetString("scenename")
  16. scenceObj := new(service.SceneService)
  17. scenceObj.UserInfo = c.GetCurrentUserInfo_rt()
  18. err := scenceObj.DeleteScene(scenename)
  19. if err != nil {
  20. c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错:有重复数据")
  21. c.ServeJSON()
  22. return
  23. }
  24. mids := c.GetString("mids")
  25. modelidList := strings.Split(mids, ",")
  26. for _, v := range modelidList {
  27. err = scenceObj.InsertScene(scenename, cast.ToInt(v))
  28. if err != nil {
  29. c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错!")
  30. c.ServeJSON()
  31. return
  32. }
  33. }
  34. c.Data["json"] = c.ApiOK("新增成功!")
  35. c.ServeJSON()
  36. }
  37. // 业务类别对应模型删除,删除场景名称下的所有模型id
  38. // @router /delrelation [post]
  39. func (c *SceneController) Delscenemodelid() {
  40. scenename := c.GetString("scenename")
  41. sceneinfo := new(service.SceneService)
  42. sceneinfo.UserInfo = c.GetCurrentUserInfo_rt()
  43. err := sceneinfo.DeleteScene(scenename)
  44. if err != nil {
  45. c.Data["json"] = c.ApiError("删除纪录时出错!")
  46. c.ServeJSON()
  47. return
  48. }
  49. c.Data["json"] = c.ApiOK("删除成功!")
  50. c.ServeJSON()
  51. }
  52. //获取某一个场景下的所有modelid
  53. // @router /getListBySceneName [post]
  54. func (c *SceneController) GetListBySceneName() {
  55. sceneName := c.GetString("scenename")
  56. if sceneName == "" {
  57. c.Data["json"] = c.ApiError("场景名称不能为空!")
  58. c.ServeJSON()
  59. return
  60. }
  61. sceneinfo := new(service.SceneService)
  62. sceneinfo.UserInfo = c.GetCurrentUserInfo_rt()
  63. var params = map[string]string{}
  64. params["scenename"] = sceneName
  65. list, err := sceneinfo.QueryScene(params)
  66. if err != nil {
  67. c.Data["json"] = c.ApiError(err.Error())
  68. c.ServeJSON()
  69. return
  70. }
  71. c.Data["json"] = c.ApiOK(list)
  72. c.ServeJSON()
  73. }
  74. //获取所有场景
  75. // @router /getScencList [post]
  76. func (c *SceneController) GetSceneList() {
  77. sceneinfo := new(service.SceneService)
  78. sceneinfo.UserInfo = c.GetCurrentUserInfo_rt()
  79. list, err := sceneinfo.GetSceneList()
  80. if err != nil {
  81. c.Data["json"] = c.ApiError(err.Error())
  82. c.ServeJSON()
  83. return
  84. }
  85. c.Data["json"] = c.ApiOK(list)
  86. c.ServeJSON()
  87. }
  88. //修改某一个场景对应的modelid
  89. // @router /updateScene [post]
  90. func (c *SceneController) UpdateScene() {
  91. scenename := c.GetString("scenename")
  92. mids := c.GetString("mids")
  93. modelidList := strings.Split(mids, ",")
  94. sceneinfo := new(service.SceneService)
  95. sceneinfo.UserInfo = c.GetCurrentUserInfo_rt()
  96. err := sceneinfo.DeleteScene(scenename)
  97. if err == nil {
  98. for _, v := range modelidList {
  99. err := sceneinfo.InsertScene(scenename, cast.ToInt(v))
  100. if err != nil {
  101. c.Data["json"] = c.ApiError("新增业务类型和模型id对应关系出错!")
  102. c.ServeJSON()
  103. return
  104. }
  105. }
  106. }
  107. c.Data["json"] = c.ApiOK("")
  108. c.ServeJSON()
  109. }