banner.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package service
  2. import (
  3. "context"
  4. "time"
  5. "go-common/app/admin/main/growup/model"
  6. )
  7. // Banners Get Banners
  8. func (s *Service) Banners(c context.Context, from, limit int64) (total int64, bs []*model.Banner, err error) {
  9. total, err = s.dao.TotalBannerCount(c)
  10. if err != nil {
  11. return
  12. }
  13. bs, err = s.dao.Banners(c, from, limit)
  14. return
  15. }
  16. // AddBanner Add Banner
  17. func (s *Service) AddBanner(c context.Context, image, link string, startAt, endAt int64) (dup int64, err error) {
  18. if startAt > endAt {
  19. return
  20. }
  21. dup, err = s.dao.DupBanner(c, startAt, endAt, time.Now().Unix())
  22. if err != nil {
  23. return
  24. }
  25. if dup > 0 {
  26. return
  27. }
  28. _, err = s.dao.InsertBanner(c, image, link, startAt, endAt)
  29. return
  30. }
  31. // EditBanner Update Banner
  32. func (s *Service) EditBanner(c context.Context, id, startAt, endAt int64, image, link string) (dup int64, err error) {
  33. if startAt > endAt {
  34. return
  35. }
  36. dup, err = s.dao.DupEditBanner(c, startAt, endAt, time.Now().Unix(), id)
  37. if err != nil {
  38. return
  39. }
  40. if dup > 0 {
  41. return
  42. }
  43. _, err = s.dao.UpdateBanner(c, image, link, startAt, endAt, id)
  44. return
  45. }
  46. // Off set end time to now
  47. func (s *Service) Off(c context.Context, endAt, id int64) (err error) {
  48. _, err = s.dao.UpdateBannerEndAt(c, endAt, id)
  49. return
  50. }