config_params.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package admin
  2. import (
  3. "gfast/app/model/admin/sys_config"
  4. "gfast/app/service/admin/dict_service"
  5. "gfast/app/service/admin/params_service"
  6. "gfast/app/service/admin/user_service"
  7. "gfast/app/service/cache_service"
  8. "gfast/library/response"
  9. "github.com/gogf/gf/frame/g"
  10. "github.com/gogf/gf/net/ghttp"
  11. "github.com/gogf/gf/util/gvalid"
  12. )
  13. type Params struct{}
  14. // @Summary 参数列表
  15. // @Description 参数列表
  16. // @Tags 参数管理
  17. // @Param data body sys_config.SelectPageReq true "data"
  18. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  19. // @Router /system/config/params/list [get]
  20. // @Security
  21. func (c *Params) List(r *ghttp.Request) {
  22. var req *sys_config.SelectPageReq
  23. //获取参数
  24. if err := r.Parse(&req); err != nil {
  25. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  26. }
  27. total, page, list, err := params_service.SelectListByPage(req)
  28. if err != nil {
  29. response.FailJson(true, r, err.Error())
  30. }
  31. //系统内置选项
  32. sysOptions, err := dict_service.GetDictWithDataByType("sys_yes_no", "", "")
  33. if err != nil {
  34. response.FailJson(true, r, err.Error())
  35. }
  36. result := g.Map{
  37. "currentPage": page,
  38. "total": total,
  39. "list": list,
  40. "searchTypes": sysOptions,
  41. }
  42. response.SusJson(true, r, "字典列表", result)
  43. }
  44. // @Summary 添加参数
  45. // @Description 添加参数
  46. // @Tags 参数管理
  47. // @Param data body sys_config.AddReq true "data"
  48. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  49. // @Router /system/config/params/add [post]
  50. // @Security
  51. func (c *Params) Add(r *ghttp.Request) {
  52. if r.Method == "POST" {
  53. var req *sys_config.AddReq
  54. //获取参数
  55. if err := r.Parse(&req); err != nil {
  56. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  57. }
  58. err := params_service.CheckConfigKeyUniqueAll(req.ConfigKey)
  59. if err != nil {
  60. response.FailJson(true, r, err.Error())
  61. }
  62. userId := user_service.GetLoginID(r) //获取登陆用户id
  63. _, err = params_service.AddSave(req, userId)
  64. if err != nil {
  65. response.FailJson(true, r, err.Error())
  66. }
  67. cache_service.New().Remove(req.ConfigKey)
  68. response.SusJson(true, r, "添加参数成功")
  69. }
  70. }
  71. // @Summary 修改参数
  72. // @Description 修改参数
  73. // @Tags 参数管理
  74. // @Param data body sys_config.EditReq true "data"
  75. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  76. // @Router /system/config/params/edit [post]
  77. // @Security
  78. func (c *Params) Edit(r *ghttp.Request) {
  79. if r.Method == "POST" {
  80. var req *sys_config.EditReq
  81. //获取参数
  82. if err := r.Parse(&req); err != nil {
  83. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  84. }
  85. err := params_service.CheckConfigKeyUnique(req.ConfigKey, req.ConfigId)
  86. if err != nil {
  87. response.FailJson(true, r, err.Error())
  88. }
  89. userId := user_service.GetLoginID(r) //获取登陆用户id
  90. _, err = params_service.EditSave(req, userId)
  91. if err != nil {
  92. response.FailJson(true, r, err.Error())
  93. }
  94. cache_service.New().Remove(req.ConfigKey)
  95. response.SusJson(true, r, "修改参数成功")
  96. }
  97. id := r.GetInt("id")
  98. params, err := params_service.GetParamsById(id)
  99. if err != nil {
  100. response.FailJson(true, r, err.Error())
  101. }
  102. response.SusJson(true, r, "ok", params)
  103. }
  104. // @Summary 删除参数
  105. // @Description 删除参数
  106. // @Tags 参数管理
  107. // @Param ids body integer true "ids[1,2,3...]"
  108. // @Success 0 {object} response.Response "{"code": 200, "data": [...]}"
  109. // @Router /system/config/params/delete [delete]
  110. // @Security
  111. func (c *Params) Delete(r *ghttp.Request) {
  112. ids := r.GetInts("ids")
  113. if len(ids) == 0 {
  114. response.FailJson(true, r, "删除失败")
  115. }
  116. err := params_service.DeleteByIds(ids)
  117. if err != nil {
  118. response.FailJson(true, r, "删除失败")
  119. }
  120. cache_service.New().RemoveByTag(cache_service.AdminSysConfigTag)
  121. response.SusJson(true, r, "删除成功")
  122. }