common.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package mgo
  2. import (
  3. "eta_gn/eta_api/utils"
  4. "go.mongodb.org/mongo-driver/bson"
  5. "time"
  6. )
  7. func BuildDateCondition(start, end string) (condition bson.M, err error) {
  8. var startDateTime, endDateTime time.Time
  9. if start != "" {
  10. startDateTime, err = time.ParseInLocation(utils.FormatDate, start, time.Local)
  11. if err != nil {
  12. return
  13. }
  14. }
  15. if end != "" {
  16. endDateTime, err = time.ParseInLocation(utils.FormatDate, end, time.Local)
  17. if err != nil {
  18. return
  19. }
  20. }
  21. return BuildDateTimeCondition(startDateTime, endDateTime)
  22. }
  23. func BuildDateTimeCondition(startDateTime, endDateTime time.Time) (condition bson.M, err error) {
  24. if !startDateTime.IsZero() && !endDateTime.IsZero() {
  25. condition = bson.M{utils.DateConvMysqlConvMongo(">="): startDateTime, utils.DateConvMysqlConvMongo("<="): endDateTime}
  26. } else if !startDateTime.IsZero() {
  27. cond := utils.DateConvMysqlConvMongo(">=")
  28. condition = bson.M{cond: startDateTime}
  29. } else if !endDateTime.IsZero() {
  30. cond := utils.DateConvMysqlConvMongo("<=")
  31. condition = bson.M{cond: endDateTime}
  32. }
  33. return
  34. }