dict_data.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package dict_service
  2. import (
  3. "gfast/app/model/admin/sys_dict_data"
  4. "gfast/app/model/admin/sys_dict_type"
  5. "gfast/library/utils"
  6. "github.com/gogf/gf/errors/gerror"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/os/gtime"
  9. "github.com/gogf/gf/util/gconv"
  10. )
  11. //添加字典数据操作
  12. func AddSaveData(req *sys_dict_data.AddDataReq, userId int) (int64, error) {
  13. var entity sys_dict_data.Entity
  14. entity.DictType = req.DictType
  15. entity.Status = req.Status
  16. entity.DictLabel = req.DictLabel
  17. entity.CssClass = req.CssClass
  18. entity.DictSort = req.DictSort
  19. entity.DictValue = req.DictValue
  20. entity.IsDefault = req.IsDefault
  21. entity.ListClass = req.ListClass
  22. entity.Remark = req.Remark
  23. entity.CreateTime = gconv.Uint64(gtime.Timestamp())
  24. entity.CreateBy = userId
  25. result, err := entity.Insert()
  26. if err != nil {
  27. g.Log().Error(err)
  28. return 0, gerror.New("添加失败")
  29. }
  30. id, err := result.LastInsertId()
  31. if err != nil {
  32. g.Log().Error(err)
  33. return 0, gerror.New("添加失败")
  34. }
  35. return id, nil
  36. }
  37. //修改字典数据操作
  38. func EditSaveData(req *sys_dict_data.EditDataReq, userId int) (int64, error) {
  39. entity, err := GetDictDataById(req.DictCode)
  40. if err != nil {
  41. return 0, err
  42. }
  43. entity.DictType = req.DictType
  44. entity.Status = req.Status
  45. entity.DictLabel = req.DictLabel
  46. entity.CssClass = req.CssClass
  47. entity.DictSort = req.DictSort
  48. entity.DictValue = req.DictValue
  49. entity.IsDefault = req.IsDefault
  50. entity.ListClass = req.ListClass
  51. entity.Remark = req.Remark
  52. entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
  53. entity.UpdateBy = userId
  54. result, err := entity.Update()
  55. if err != nil {
  56. g.Log().Error(err)
  57. return 0, gerror.New("修改失败")
  58. }
  59. return result.RowsAffected()
  60. }
  61. //通过字典数据主键获取数据
  62. func GetDictDataById(dictCode int) (*sys_dict_data.Entity, error) {
  63. entity, err := sys_dict_data.Model.FindOne("dict_code", dictCode)
  64. if err != nil {
  65. g.Log().Error(err)
  66. return nil, gerror.New("获取字典数据失败")
  67. }
  68. if entity == nil {
  69. return nil, gerror.New("获取字典数据失败")
  70. }
  71. return entity, nil
  72. }
  73. //字典数据列表查询分页
  74. func SelectDataListByPage(req *sys_dict_data.SelectDataPageReq) (total, page int, list []*sys_dict_data.Entity, err error) {
  75. model := sys_dict_data.Model
  76. if req != nil {
  77. if req.DictLabel != "" {
  78. model = model.Where("dict_label like ?", "%"+req.DictLabel+"%")
  79. }
  80. if req.Status != "" {
  81. model = model.Where("status = ", gconv.Int(req.Status))
  82. }
  83. if req.DictType != "" {
  84. model = model.Where("dict_type = ?", req.DictType)
  85. }
  86. total, err = model.Count()
  87. if err != nil {
  88. g.Log().Error(err)
  89. err = gerror.New("获取总行数失败")
  90. return
  91. }
  92. if req.PageNum == 0 {
  93. req.PageNum = 1
  94. }
  95. }
  96. page = req.PageNum
  97. if req.PageSize == 0 {
  98. req.PageSize = utils.AdminPageNum
  99. }
  100. list, err = model.Page(page, req.PageSize).Order("dict_sort asc,dict_code asc").All()
  101. if err != nil {
  102. g.Log().Error(err)
  103. err = gerror.New("获取数据失败")
  104. return
  105. }
  106. return
  107. }
  108. //删除字典
  109. func DeleteDictByIds(ids []int) error {
  110. discs, err := sys_dict_type.Model.Where("dict_id in(?)", ids).All()
  111. if err != nil {
  112. g.Log().Error(err)
  113. return gerror.New("没有要删除的数据")
  114. }
  115. //删除字典下的数据
  116. for _, v := range discs {
  117. sys_dict_data.Model.Delete("dict_type=?", v.DictType)
  118. v.Delete()
  119. }
  120. return nil
  121. }
  122. //删除字典数据
  123. func DeleteDictDataByIds(ids []int) error {
  124. _, err := sys_dict_data.Model.Delete("dict_code in (?)", ids)
  125. if err != nil {
  126. g.Log().Error(err)
  127. return gerror.New("删除失败")
  128. }
  129. return nil
  130. }