config_dict.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package admin
  2. import (
  3. "gfast/app/model/admin/sys_dict_data"
  4. "gfast/app/model/admin/sys_dict_type"
  5. "gfast/app/service/admin/dict_service"
  6. "gfast/app/service/admin/user_service"
  7. "gfast/library/response"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/net/ghttp"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. type Dict struct{}
  13. //字典列表
  14. func (c *Dict) DictList(r *ghttp.Request) {
  15. var req *sys_dict_type.SelectPageReq
  16. //获取参数
  17. if err := r.Parse(&req); err != nil {
  18. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  19. }
  20. total, page, list, err := dict_service.SelectListByPage(req)
  21. if err != nil {
  22. response.FailJson(true, r, err.Error())
  23. }
  24. result := g.Map{
  25. "currentPage": page,
  26. "total": total,
  27. "list": list,
  28. "searchStatus": map[string]string{"": "所有", "0": "停用", "1": "正常"},
  29. }
  30. response.SusJson(true, r, "字典列表", result)
  31. }
  32. //添加字典
  33. func (c *Dict) DictAdd(r *ghttp.Request) {
  34. if r.Method == "POST" {
  35. var req *sys_dict_type.AddReq
  36. //获取参数
  37. if err := r.Parse(&req); err != nil {
  38. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  39. }
  40. if !dict_service.CheckDictTypeUniqueAll(req.DictType) {
  41. response.FailJson(true, r, "字典类型已经存在")
  42. }
  43. userId := user_service.GetLoginID(r) //获取登陆用户id
  44. _, err := dict_service.AddSave(req, userId)
  45. if err != nil {
  46. g.Log().Error(err.Error())
  47. response.FailJson(true, r, "字典类型添加失败")
  48. }
  49. response.SusJson(true, r, "添加字典成功")
  50. }
  51. }
  52. //修改字典
  53. func (c *Dict) DictEdit(r *ghttp.Request) {
  54. if r.Method == "POST" {
  55. var req *sys_dict_type.EditReq
  56. //获取参数
  57. if err := r.Parse(&req); err != nil {
  58. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  59. }
  60. if !dict_service.CheckDictTypeUnique(req) {
  61. response.FailJson(true, r, "字典类型已经存在")
  62. }
  63. userId := user_service.GetLoginID(r) //获取登陆用户id
  64. _, err := dict_service.EditSave(req, userId)
  65. if err != nil {
  66. response.FailJson(true, r, err.Error())
  67. }
  68. response.SusJson(true, r, "修改成功")
  69. }
  70. id := r.GetInt("id")
  71. entity, err := dict_service.GetDictById(id)
  72. if err != nil {
  73. response.FailJson(true, r, "字典类型添加失败")
  74. }
  75. response.SusJson(true, r, "ok", g.Map{"dict": entity})
  76. }
  77. //字典数据列表
  78. func (c *Dict) DictDataList(r *ghttp.Request) {
  79. var req *sys_dict_data.SelectDataPageReq
  80. //获取参数
  81. if err := r.Parse(&req); err != nil {
  82. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  83. }
  84. total, page, list, err := dict_service.SelectDataListByPage(req)
  85. if err != nil {
  86. response.FailJson(true, r, err.Error())
  87. }
  88. result := g.Map{
  89. "currentPage": page,
  90. "total": total,
  91. "list": list,
  92. "searchStatus": map[string]string{"": "所有", "0": "停用", "1": "正常"},
  93. }
  94. response.SusJson(true, r, "ok", result)
  95. }
  96. //添加数据字典
  97. func (c *Dict) DictDataAdd(r *ghttp.Request) {
  98. if r.Method == "POST" {
  99. var req *sys_dict_data.AddDataReq
  100. //获取参数
  101. if err := r.Parse(&req); err != nil {
  102. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  103. }
  104. userId := user_service.GetLoginID(r) //获取登陆用户id
  105. _, err := dict_service.AddSaveData(req, userId)
  106. if err != nil {
  107. response.FailJson(true, r, err.Error())
  108. }
  109. response.SusJson(true, r, "添加字典数据成功")
  110. }
  111. dictType := r.GetQueryString("dictType")
  112. res := g.Map{
  113. "listClassSelector": g.Map{"default": "默认", "primary": "主要", "success": "成功", "info": "信息",
  114. "warning": "警告", "danger": "危险"},
  115. "dictType": dictType,
  116. }
  117. response.SusJson(true, r, "ok", res)
  118. }
  119. //修改字典数据
  120. func (c *Dict) DictDataEdit(r *ghttp.Request) {
  121. if r.Method == "POST" {
  122. var req *sys_dict_data.EditDataReq
  123. //获取参数
  124. if err := r.Parse(&req); err != nil {
  125. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  126. }
  127. userId := user_service.GetLoginID(r)
  128. _, err := dict_service.EditSaveData(req, userId)
  129. if err != nil {
  130. response.FailJson(true, r, err.Error())
  131. }
  132. response.SusJson(true, r, "修改字典数据成功")
  133. }
  134. dictCode := r.GetInt("dictCode")
  135. dictData, err := dict_service.GetDictDataById(dictCode)
  136. if err != nil {
  137. response.FailJson(true, r, err.Error())
  138. }
  139. res := g.Map{
  140. "listClassSelector": g.Map{"default": "默认", "primary": "主要", "success": "成功", "info": "信息",
  141. "warning": "警告", "danger": "危险"},
  142. "dictType": dictData.DictType,
  143. "dictData": dictData,
  144. }
  145. response.SusJson(true, r, "ok", res)
  146. }
  147. //删除字典
  148. func (c *Dict) DictDelete(r *ghttp.Request) {
  149. dictIds := r.GetInts("dictIds")
  150. if len(dictIds) == 0 {
  151. response.FailJson(true, r, "删除失败")
  152. }
  153. err := dict_service.DeleteDictByIds(dictIds)
  154. if err != nil {
  155. response.FailJson(true, r, "删除失败")
  156. }
  157. response.SusJson(true, r, "删除成功")
  158. }
  159. //删除字典数据
  160. func (c *Dict) DictDataDelete(r *ghttp.Request) {
  161. dictCodes := r.GetInts("dictCode")
  162. if len(dictCodes) == 0 {
  163. response.FailJson(true, r, "删除失败")
  164. }
  165. err := dict_service.DeleteDictDataByIds(dictCodes)
  166. if err != nil {
  167. response.FailJson(true, r, "删除失败")
  168. }
  169. response.SusJson(true, r, "删除成功")
  170. }