config_params.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. //参数列表
  15. func (c *Params) List(r *ghttp.Request) {
  16. var req *sys_config.SelectPageReq
  17. //获取参数
  18. if err := r.Parse(&req); err != nil {
  19. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  20. }
  21. total, page, list, err := params_service.SelectListByPage(req)
  22. if err != nil {
  23. response.FailJson(true, r, err.Error())
  24. }
  25. //系统内置选项
  26. sysOptions, err := dict_service.GetDictWithDataByType("sys_yes_no", "", "")
  27. if err != nil {
  28. response.FailJson(true, r, err.Error())
  29. }
  30. result := g.Map{
  31. "currentPage": page,
  32. "total": total,
  33. "list": list,
  34. "searchTypes": sysOptions,
  35. }
  36. response.SusJson(true, r, "字典列表", result)
  37. }
  38. //添加参数
  39. func (c *Params) Add(r *ghttp.Request) {
  40. if r.Method == "POST" {
  41. var req *sys_config.AddReq
  42. //获取参数
  43. if err := r.Parse(&req); err != nil {
  44. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  45. }
  46. err := params_service.CheckConfigKeyUniqueAll(req.ConfigKey)
  47. if err != nil {
  48. response.FailJson(true, r, err.Error())
  49. }
  50. userId := user_service.GetLoginID(r) //获取登陆用户id
  51. _, err = params_service.AddSave(req, userId)
  52. if err != nil {
  53. response.FailJson(true, r, err.Error())
  54. }
  55. cache_service.New().Remove(req.ConfigKey)
  56. response.SusJson(true, r, "添加参数成功")
  57. }
  58. }
  59. //修改参数
  60. func (c *Params) Edit(r *ghttp.Request) {
  61. if r.Method == "POST" {
  62. var req *sys_config.EditReq
  63. //获取参数
  64. if err := r.Parse(&req); err != nil {
  65. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  66. }
  67. err := params_service.CheckConfigKeyUnique(req.ConfigKey, req.ConfigId)
  68. if err != nil {
  69. response.FailJson(true, r, err.Error())
  70. }
  71. userId := user_service.GetLoginID(r) //获取登陆用户id
  72. _, err = params_service.EditSave(req, userId)
  73. if err != nil {
  74. response.FailJson(true, r, err.Error())
  75. }
  76. cache_service.New().Remove(req.ConfigKey)
  77. response.SusJson(true, r, "修改参数成功")
  78. }
  79. id := r.GetInt("id")
  80. params, err := params_service.GetParamsById(id)
  81. if err != nil {
  82. response.FailJson(true, r, err.Error())
  83. }
  84. response.SusJson(true, r, "ok", params)
  85. }
  86. //删除参数
  87. func (c *Params) Delete(r *ghttp.Request) {
  88. ids := r.GetInts("ids")
  89. if len(ids) == 0 {
  90. response.FailJson(true, r, "删除失败")
  91. }
  92. err := params_service.DeleteByIds(ids)
  93. if err != nil {
  94. response.FailJson(true, r, "删除失败")
  95. }
  96. cache_service.New().RemoveByTag(cache_service.AdminSysConfigTag)
  97. response.SusJson(true, r, "删除成功")
  98. }