test.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package extract
  2. import (
  3. "data_ai/prompt"
  4. "data_ai/ul"
  5. "fmt"
  6. log "github.com/donnie4w/go-logger/logger"
  7. new_xlsx "github.com/tealeg/xlsx/v3"
  8. qu "jygit.jydev.jianyu360.cn/data_processing/common_utils"
  9. "sync"
  10. "time"
  11. "unicode/utf8"
  12. )
  13. // 验证单条数据···
  14. func TestSingleFieldInfo(name string, tmpid string) {
  15. log.Debug("测试单条数据数据···")
  16. now := time.Now().Unix()
  17. tmp := ul.BidMgo.FindById(name, tmpid)
  18. if len(tmp) == 0 || tmp == nil {
  19. log.Debug("未查询到数据...", tmpid)
  20. return
  21. }
  22. data := ResolveInfo(tmp)
  23. //最终结果...
  24. if data != nil {
  25. }
  26. log.Debug("耗时···", time.Now().Unix()-now)
  27. }
  28. // 验证单条分包数据···
  29. func TestSinglePurchasingInfo(name string, tmpid string) {
  30. now := time.Now().Unix()
  31. tmp := ul.BidMgo.FindById(name, tmpid)
  32. if len(tmp) == 0 || tmp == nil {
  33. log.Debug("未查询到数据...", tmpid)
  34. return
  35. }
  36. detail := getDetailText(tmp, tmpid) //获取正文文本
  37. p_list := getPurList(tmp, detail, map[string]interface{}{})
  38. log.Debug(p_list)
  39. //最终结果...
  40. for k, v := range p_list {
  41. log.Debug(k, "~", v)
  42. }
  43. log.Debug("耗时···", time.Now().Unix()-now)
  44. }
  45. // 验证单条分包数据···
  46. func TestSinglePackageInfo(name string, tmpid string) {
  47. now := time.Now().Unix()
  48. tmp := ul.BidMgo.FindById(name, tmpid)
  49. if len(tmp) == 0 || tmp == nil {
  50. log.Debug("未查询到数据...", tmpid)
  51. return
  52. }
  53. detail := qu.ObjToString(tmp["detail"])
  54. filetext := qu.ObjToString(tmp["filetext"]) //此处为附件信息···
  55. if utf8.RuneCountInString(detail) < 100 {
  56. detail = filetext
  57. }
  58. detail = ul.HttpConvertToMarkdown(detail)
  59. pkg := prompt.AcquireNewMultiplePackageInfo(detail)
  60. //最终结果...
  61. for k, v := range pkg {
  62. log.Debug(k, "~", v)
  63. }
  64. log.Debug("耗时···", time.Now().Unix()-now)
  65. }
  66. // 新分包数据···
  67. func TestNewPackageInfo1010() {
  68. dataArr, _ := ul.SourceMgo.Find("zktest_info_0930", map[string]interface{}{}, nil, nil)
  69. log.Debug("数量···", len(dataArr))
  70. pool_mgo := make(chan bool, 50)
  71. wg_mgo := &sync.WaitGroup{}
  72. for k, v := range dataArr {
  73. if k%50 == 0 {
  74. log.Debug("cur index ", k)
  75. }
  76. pool_mgo <- true
  77. wg_mgo.Add(1)
  78. go func(v map[string]interface{}) {
  79. defer func() {
  80. <-pool_mgo
  81. wg_mgo.Done()
  82. }()
  83. new_v := v
  84. data := ResolveInfo(v)
  85. if len(data) > 0 {
  86. new_v["ai_zhipu"] = data
  87. }
  88. ul.SourceMgo.Save("zktest_info_0930_new", new_v)
  89. }(v)
  90. }
  91. wg_mgo.Wait()
  92. log.Debug("is over ...")
  93. }
  94. // 更新链接
  95. func TestUpdateJyhref(name string) {
  96. dataArr, _ := ul.SourceMgo.Find(name, map[string]interface{}{}, nil, map[string]interface{}{"_id": 1})
  97. for _, v := range dataArr {
  98. tmpid := ul.BsonTOStringId(v["_id"])
  99. jyhref := fmt.Sprintf(ul.Url, qu.CommonEncodeArticle("content", tmpid))
  100. ul.SourceMgo.UpdateById(name, tmpid, map[string]interface{}{
  101. "$set": map[string]interface{}{
  102. "jyhref": jyhref,
  103. },
  104. })
  105. }
  106. log.Debug("is over ...")
  107. }
  108. func writeRow(row *new_xlsx.Row, arr []string) {
  109. for _, v := range arr {
  110. row.AddCell().Value = v
  111. }
  112. }