utils.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package main
  2. import (
  3. "app.yhyue.com/data_processing/common_utils/mongodb"
  4. "math"
  5. "sort"
  6. )
  7. //convertToMongoID convertToMongoID
  8. func convertToMongoID(query map[string]interface{}) map[string]interface{} {
  9. result := make(map[string]interface{})
  10. if query == nil {
  11. return result
  12. }
  13. idMap := query["_id"].(map[string]interface{})
  14. if idMap != nil {
  15. tmpQ := map[string]interface{}{}
  16. for c, id := range idMap {
  17. if idStr, ok := id.(string); ok && id != "" {
  18. tmpQ[c] = mongodb.StringTOBsonId(idStr)
  19. }
  20. }
  21. result["_id"] = tmpQ
  22. }
  23. return result
  24. }
  25. //StringSliceValuesEqual 判断切片相等
  26. func StringSliceValuesEqual(a, b []string) bool {
  27. if len(a) != len(b) {
  28. return false
  29. }
  30. sort.Strings(a)
  31. sort.Strings(b)
  32. for i := range a {
  33. if a[i] != b[i] {
  34. return false
  35. }
  36. }
  37. return true
  38. }
  39. //Float64SliceSum float64 数据求和
  40. func Float64SliceSum(nums []float64) float64 {
  41. sum := 0.0
  42. for _, num := range nums {
  43. sum += num
  44. }
  45. return sum
  46. }
  47. func Float64Equal1Precision(a, b float64) bool {
  48. return int(math.Round(a*10)) == int(math.Round(b*10))
  49. }