ArticleTopicDao.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package manage
  2. import (
  3. "demo/configs"
  4. "demo/data/domain"
  5. "demo/data/domain/vo"
  6. )
  7. func GetArticleTopicById(id int64) (domain.ArticleTopic, error) {
  8. var articleTopic domain.ArticleTopic
  9. _, err := configs.Engine.Table("article_topic").Where("id = ?", id).Get(&articleTopic)
  10. if err != nil {
  11. return articleTopic, err
  12. }
  13. return articleTopic, nil
  14. }
  15. func GetArticleTopicListInId(ids []int64) ([]domain.ArticleTopic, error) {
  16. rows, err := configs.Engine.Table("article_topic").In("id", ids).Rows(&domain.ArticleTopic{})
  17. if err != nil {
  18. return make([]domain.ArticleTopic, 0), err
  19. }
  20. defer rows.Close()
  21. var list []domain.ArticleTopic
  22. for rows.Next() {
  23. var u domain.ArticleTopic
  24. rows.Scan(&u)
  25. list = append(list, u)
  26. }
  27. return list, nil
  28. }
  29. func GetArticleTopicList(articleTopic domain.ArticleTopic, pageNum, pageSize int) (vo.BaseListVo, error) {
  30. var arr []domain.ArticleTopic
  31. Count, err := configs.Engine.Table("article_topic").Limit(pageSize, (pageNum-1)*pageSize).FindAndCount(&arr, &articleTopic)
  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 SaveArticleTopic(articleTopic *domain.ArticleTopic) (domain.ArticleTopic, error) {
  49. _, err := configs.Engine.Table("article_topic").Insert(&articleTopic)
  50. if err != nil {
  51. return *articleTopic, err
  52. }
  53. return *articleTopic, nil
  54. }
  55. func SetArticleTopic(articleTopicMap map[string]interface{}, id int64) (domain.ArticleTopic, bool, error) {
  56. var articleTopic domain.ArticleTopic
  57. _, err := configs.Engine.Table("article_topic").Where("id = ?", id).Update(articleTopicMap)
  58. if err != nil {
  59. return articleTopic, false, err
  60. }
  61. return articleTopic, true, nil
  62. }
  63. func DeleteArticleTopic(id int64) bool {
  64. var articleTopic domain.ArticleTopic
  65. i, err := configs.Engine.Table("article_topic").Where("id = ?", id).Delete(&articleTopic)
  66. if err != nil {
  67. return false
  68. }
  69. return i > 0
  70. }