task.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package main
  2. import (
  3. util "app.yhyue.com/data_processing/common_utils"
  4. "app.yhyue.com/data_processing/common_utils/log"
  5. "app.yhyue.com/data_processing/field_info_tag/bidding"
  6. "field_purchasing/config"
  7. "fmt"
  8. "sync"
  9. )
  10. func task() {
  11. sess := MongoTool.GetMgoConn()
  12. defer MongoTool.DestoryMongoConn(sess)
  13. ch := make(chan bool, 5)
  14. wg := &sync.WaitGroup{}
  15. query := sess.DB(config.Conf.DB.Mongo.Dbname).C(config.Conf.DB.Mongo.Coll).Find(nil).Iter()
  16. count := 0
  17. for tmp := make(map[string]interface{}); query.Next(tmp); count++ {
  18. if count%500 == 0 {
  19. log.Info(fmt.Sprintf("current --- %d", count))
  20. }
  21. ch <- true
  22. wg.Add(1)
  23. go func(tmp map[string]interface{}) {
  24. defer func() {
  25. <-ch
  26. wg.Done()
  27. }()
  28. b := bidding.ComparisonBiddingInfo(tmp)
  29. util.Debug(b)
  30. if b {
  31. }
  32. //updatePool <- []map[string]interface{}{
  33. // {"_id": tmp["_id"]},
  34. // {"$set": update},
  35. //}
  36. }(tmp)
  37. tmp = make(map[string]interface{})
  38. }
  39. wg.Wait()
  40. log.Info(fmt.Sprintf("over --- %d", count))
  41. }
  42. // @Description 医疗领域项目信息
  43. // @Author J 2022/11/17 11:01
  44. func taskA(tmp map[string]interface{}) {
  45. p := make(map[string]interface{})
  46. var plist, plist1 []map[string]interface{}
  47. for _, m := range tmp["list"].([]interface{}) {
  48. m1 := m.(map[string]interface{})
  49. if ml, ok := m1["purchasinglist"].([]map[string]interface{}); ok && len(ml) > 0 {
  50. if util.ObjToString(tmp["bidstatus"]) == "招标" {
  51. plist = append(plist, ml...)
  52. } else {
  53. plist1 = append(plist1, ml...)
  54. }
  55. }
  56. }
  57. }