common.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package logic
  2. import (
  3. "git.rtzhtech.cn/iss/public-lib/dao"
  4. "git.rtzhtech.cn/iss/public-lib/dto"
  5. )
  6. func NewCondition(l *dto.LimitPage) *dao.Condition {
  7. c := &dao.Condition{}
  8. c.Where = map[string]any{}
  9. c.OrderBy = "id desc"
  10. if l != nil {
  11. if l.Page < 1 {
  12. l.Page = 1
  13. }
  14. if l.Limit < 1 {
  15. l.Limit = 100
  16. }
  17. c.Limit = l.Limit
  18. c.Offset = (l.Page - 1) * l.Limit
  19. }
  20. return c
  21. }
  22. // RemoveSingle 保留重复出现的数据
  23. func RemoveSingle[T int | int32 | int64](a, b []T) []T {
  24. var result []T // 存放结果
  25. for i := 0; i < len(a); i++ {
  26. for j := 0; j < len(b); j++ {
  27. if a[i] == b[j] {
  28. result = append(result, a[i])
  29. }
  30. }
  31. }
  32. return result
  33. }
  34. // removeSingleStrategyId
  35. // @Description:保留重复id,去掉不重复id
  36. // @param pre 已有的id
  37. // @param new 新查询到的id
  38. // @param idCondEnable 是否是第一次查询合并StrategyId
  39. // @return []int64
  40. // @return error
  41. func removeSingleStrategyId(pre, now []int64, isFirst *bool) []int64 {
  42. if *isFirst == true {
  43. *isFirst = false
  44. } else {
  45. if len(pre) == 0 {
  46. return now
  47. }
  48. now = RemoveSingle[int64](pre, now)
  49. }
  50. if len(now) == 0 {
  51. return now
  52. }
  53. return now
  54. }