util.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package util
  2. import (
  3. mu "mfw/util"
  4. "mongodb"
  5. qu "qfw/util"
  6. "sync"
  7. )
  8. var (
  9. Config map[string]interface{}
  10. Mgo *mongodb.MongodbSim
  11. MgoB *mongodb.MongodbSim
  12. Coll string
  13. StartID string //bidding_processing_ids表ID
  14. //udp
  15. Udpclient mu.UdpClient //udp对象
  16. UdpPort string
  17. NextAddr string
  18. NextPort int
  19. NextStype string
  20. //mail
  21. UdptaskMap = &sync.Map{}
  22. Tomail string
  23. Api string
  24. //ocr
  25. OcrServerAddr string //ocr服务治理中心
  26. )
  27. func GetIdInterval(id string) (gtid, lteid string) {
  28. defer qu.Catch()
  29. qu.Debug("获取id段...")
  30. query := map[string]interface{}{
  31. "_id": map[string]interface{}{
  32. "$gt": mongodb.StringTOBsonId(id),
  33. },
  34. "dataprocess": 8,
  35. }
  36. list, _ := MgoB.Find(Coll, query, map[string]interface{}{"_id": 1}, nil, false, -1, -1)
  37. dataLength := len(*list)
  38. if dataLength == 0 { //无新ID段
  39. return
  40. }
  41. gtid = qu.ObjToString((*list)[0]["gtid"]) //起始id
  42. lteid = qu.ObjToString((*list)[dataLength-1]["lteid"]) //结束id
  43. //成功获取id区间
  44. if gtid < lteid {
  45. StartID = mongodb.BsonIdToSId((*list)[dataLength-1]["_id"])
  46. qu.Debug("当前轮ID区间:", gtid, lteid, "表ID:", StartID)
  47. return
  48. }
  49. return "", ""
  50. }