GoodsTopicDao.go 1.9 KB

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