model_fields.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package admin
  2. import (
  3. "gfast/app/model/admin/model_fields"
  4. "gfast/app/service/admin/model_service"
  5. "gfast/app/service/admin/user_service"
  6. "gfast/library/response"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/net/ghttp"
  9. "github.com/gogf/gf/util/gconv"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. //控制器
  13. type ModelFields struct{}
  14. //列表页
  15. func (c *ModelFields) List(r *ghttp.Request) {
  16. // 定义一个结构体存储请求参数
  17. var req *model_fields.SelectPageReq
  18. // 获取参数
  19. err := r.Parse(&req)
  20. if err != nil {
  21. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  22. }
  23. list, err := model_service.SelectFieldsAll(req)
  24. if err != nil {
  25. response.FailJson(true, r, err.Error())
  26. }
  27. result := g.Map{
  28. "list": list,
  29. }
  30. response.SusJson(true, r, "获取列表数据成功", result)
  31. }
  32. // 新增
  33. func (c *ModelFields) Add(r *ghttp.Request) {
  34. if r.Method == "POST" {
  35. var req *model_fields.AddReq
  36. // 通过Parse方法解析获取参数
  37. err := r.Parse(&req)
  38. if err != nil {
  39. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  40. }
  41. req.CreateBy = gconv.Uint64(user_service.GetLoginID(r))
  42. // 调用service中的添加函数添加
  43. err = model_service.AddFieldsSave(req)
  44. if err != nil {
  45. response.FailJson(true, r, err.Error())
  46. }
  47. response.SusJson(true, r, "添加成功")
  48. }
  49. }
  50. // 修改
  51. func (c *ModelFields) Edit(r *ghttp.Request) {
  52. // 如果是post提交的请求就执行修改操作
  53. if r.Method == "POST" {
  54. var editReq *model_fields.EditReq
  55. // 通过Parse方法解析获取参数
  56. err := r.Parse(&editReq)
  57. if err != nil {
  58. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  59. }
  60. editReq.UpdateBy = gconv.Uint64(user_service.GetLoginID(r))
  61. err = model_service.EditFieldsSave(editReq)
  62. if err != nil {
  63. response.FailJson(true, r, err.Error())
  64. }
  65. response.SusJson(true, r, "修改参数成功")
  66. }
  67. // 不是post提交的请求就到修改页面后查询出要修改的记录
  68. id := r.GetInt("id")
  69. params, err := model_fields.GetByID(int64(id))
  70. if err != nil {
  71. response.FailJson(true, r, err.Error())
  72. }
  73. response.SusJson(true, r, "ok", params)
  74. }
  75. // 删除
  76. func (c *ModelFields) Delete(r *ghttp.Request) {
  77. var req *model_fields.RemoveReq
  78. //获取参数
  79. if err := r.Parse(&req); err != nil {
  80. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  81. }
  82. err := model_service.DeleteFieldsByIds(req.Ids)
  83. if err != nil {
  84. response.FailJson(true, r, "删除失败")
  85. }
  86. response.SusJson(true, r, "删除成功")
  87. }
  88. //修改字段属性
  89. func (c *ModelFields) SetFieldsAttr(r *ghttp.Request) {
  90. var req *model_fields.SetFieldsAttrReq
  91. //获取参数
  92. if err := r.Parse(&req); err != nil {
  93. response.FailJson(true, r, err.(*gvalid.Error).FirstString())
  94. }
  95. if err := model_service.SetFieldsAttr(req); err != nil {
  96. response.FailJson(true, r, err.Error())
  97. }
  98. response.SusJson(true, r, "修改成功", req)
  99. }