DictDataDao.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package manage
  2. import (
  3. "demo/configs"
  4. "demo/data/domain"
  5. "demo/data/domain/vo"
  6. "fmt"
  7. )
  8. func GetDictDataById(id int64) (domain.DictData, error) {
  9. var dictData domain.DictData
  10. _, err := configs.Engine.Table("dict_data").Where("id = ?", id).Get(&dictData)
  11. if err != nil {
  12. return dictData, err
  13. }
  14. return dictData, nil
  15. }
  16. func GetDictDataListInId(ids []int64) ([]domain.DictData, error) {
  17. rows, err := configs.Engine.Table("dict_data").In("id", ids).Rows(&domain.DictData{})
  18. if err != nil {
  19. return make([]domain.DictData, 0), err
  20. }
  21. defer rows.Close()
  22. var list []domain.DictData
  23. for rows.Next() {
  24. var u domain.DictData
  25. list = append(list, u)
  26. }
  27. return list, nil
  28. }
  29. func GetDictDataList(dictData domain.DictData, pageNum, pageSize int) (vo.BaseListVo, error) {
  30. var arr []domain.DictData
  31. Count, err := configs.Engine.Table("dict_data").Limit(pageSize, (pageNum-1)*pageSize).FindAndCount(&arr, &dictData)
  32. var vo vo.BaseListVo
  33. if err != nil {
  34. return vo, err
  35. }
  36. if err != nil {
  37. return vo, err
  38. }
  39. vo.PageNum = pageNum
  40. vo.PageSize = pageSize
  41. vo.List = make([]any, len(arr))
  42. for i, v := range arr {
  43. vo.List[i] = v
  44. }
  45. vo.Total = int(Count)
  46. return vo, nil
  47. }
  48. func SaveDictData(dictData *domain.DictData) (domain.DictData, error) {
  49. _, err := configs.Engine.Table("dict_data").Insert(&dictData)
  50. if err != nil {
  51. return *dictData, err
  52. }
  53. return *dictData, nil
  54. }
  55. func SetDictData(dictDataMap map[string]interface{}, id int64) (domain.DictData, bool, error) {
  56. var dictData domain.DictData
  57. _, err := configs.Engine.Table("dict_data").Where("id = ?", id).Update(dictDataMap)
  58. if err != nil {
  59. fmt.Println(err)
  60. return dictData, false, err
  61. }
  62. return dictData, true, nil
  63. }
  64. func DeleteDictData(id int64) bool {
  65. var dictData domain.DictData
  66. i, err := configs.Engine.Table("dict_data").Where("id = ?", id).Delete(&dictData)
  67. if err != nil {
  68. return false
  69. }
  70. return i > 0
  71. }