sys_dict_data.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /*
  2. * @desc:字典数据
  3. * @company:云南省奇讯科技有限公司
  4. * @Author: yixiaohu
  5. * @Date: 2021/4/3 11:52
  6. */
  7. package api
  8. import (
  9. "gfast/app/common/global"
  10. commonService "gfast/app/common/service"
  11. "gfast/app/system/model"
  12. "gfast/app/system/service"
  13. "github.com/gogf/gf/frame/g"
  14. "github.com/gogf/gf/net/ghttp"
  15. "github.com/gogf/gf/util/gvalid"
  16. )
  17. type dictData struct {
  18. SystemBase
  19. }
  20. var DictData = new(dictData)
  21. // List 字典列表
  22. func (c *dictData) List(r *ghttp.Request) {
  23. var req *model.SelectDictPageReq
  24. //获取参数
  25. if err := r.Parse(&req); err != nil {
  26. c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
  27. }
  28. req.Ctx = r.GetCtx()
  29. total, page, list, err := service.SysDictData.DictDataList(req)
  30. if err != nil {
  31. c.FailJsonExit(r, err.Error())
  32. }
  33. result := g.Map{
  34. "currentPage": page,
  35. "total": total,
  36. "list": list,
  37. }
  38. c.SusJsonExit(r, result)
  39. }
  40. // Add 添加字典数据
  41. func (c *dictData) Add(r *ghttp.Request) {
  42. var req *model.DictDataAddReq
  43. //获取参数
  44. if err := r.Parse(&req); err != nil {
  45. c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
  46. }
  47. req.CreateBy = c.GetCurrentUser(r.GetCtx()).GetUserId() //获取登陆用户id
  48. _, err := service.SysDictData.AddSave(req)
  49. if err != nil {
  50. g.Log().Error(err.Error())
  51. c.FailJsonExit(r, "字典数据添加失败")
  52. }
  53. //清除tag缓存
  54. commonService.Cache.New().RemoveByTag(global.SysDictTag)
  55. c.SusJsonExit(r, "添加字典数据成功")
  56. }
  57. // Get 获取字典数据信息
  58. func (c *dictData) Get(r *ghttp.Request) {
  59. dictCode := r.GetInt("dictCode")
  60. data, err := service.SysDictData.GetDictDataById(dictCode)
  61. if err != nil {
  62. c.FailJsonExit(r, err.Error())
  63. }
  64. c.SusJsonExit(r, data)
  65. }
  66. // Edit 修改字典数据
  67. func (c *dictData) Edit(r *ghttp.Request) {
  68. var req *model.EditDictDataReq
  69. //获取参数
  70. if err := r.Parse(&req); err != nil {
  71. c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
  72. }
  73. req.UpdateBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
  74. err := service.SysDictData.EditSaveData(req)
  75. if err != nil {
  76. c.FailJsonExit(r, err.Error())
  77. }
  78. //清除tag缓存
  79. commonService.Cache.New().RemoveByTag(global.SysDictTag)
  80. c.SusJsonExit(r, "修改字典数据成功")
  81. }
  82. // Delete 删除字典数据
  83. func (c *dictData) Delete(r *ghttp.Request) {
  84. dictCodes := r.GetInts("ids")
  85. if len(dictCodes) == 0 {
  86. c.FailJsonExit(r, "删除失败")
  87. }
  88. err := service.SysDictData.DeleteDictDataByIds(dictCodes)
  89. if err != nil {
  90. c.FailJsonExit(r, "删除失败")
  91. }
  92. //清除tag缓存
  93. commonService.Cache.New().RemoveByTag(global.SysDictTag)
  94. c.SusJsonExit(r, "删除成功")
  95. }
  96. // GetDictData 获取字典数据
  97. func (c *dictData) GetDictData(r *ghttp.Request) {
  98. var req *model.GetDictReq
  99. //获取参数
  100. if err := r.Parse(&req); err != nil {
  101. c.FailJsonExit(r, err.(gvalid.Error).Current().Error())
  102. }
  103. req.Ctx = r.GetCtx()
  104. dict, err := service.SysDictData.GetDictWithDataByType(req)
  105. if err != nil {
  106. c.FailJsonExit(r, err.Error())
  107. }
  108. c.SusJsonExit(r, dict)
  109. }