project_test.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/olivere/elastic/v7"
  5. "github.com/xuri/excelize/v2"
  6. "go.uber.org/zap"
  7. "jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
  8. "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
  9. "strconv"
  10. "strings"
  11. "testing"
  12. "time"
  13. )
  14. func TestBiddng(t *testing.T) {
  15. f, err := excelize.OpenFile("./6月份未匹配到剑鱼的项目清单.xlsx")
  16. if err != nil {
  17. fmt.Println(err)
  18. return
  19. }
  20. defer func() {
  21. f.Save()
  22. if err := f.Close(); err != nil {
  23. fmt.Println(err)
  24. }
  25. }()
  26. rows, err := f.GetRows("Sheet1")
  27. if err != nil {
  28. fmt.Println(err)
  29. return
  30. }
  31. //url := "http://172.17.4.184:19908"
  32. url := "http://127.0.0.1:19908"
  33. username := "jybid"
  34. password := "Top2023_JEB01i@31"
  35. //index := "bidding" //索引名称
  36. // 创建 Elasticsearch 客户端
  37. client, err := elastic.NewClient(
  38. elastic.SetURL(url),
  39. elastic.SetBasicAuth(username, password),
  40. elastic.SetSniff(false),
  41. )
  42. if err != nil {
  43. fmt.Printf("创建 Elasticsearch 客户端失败:%s", err)
  44. }
  45. for i := 1; i < len(rows); i++ {
  46. projectName := rows[i][1]
  47. res, err := searchES23(client, projectName, "", 60, 20)
  48. if err != nil {
  49. fmt.Println(projectName)
  50. log.Info("TestBiddng", zap.Error(err))
  51. }
  52. if len(res) > 0 {
  53. f.SetCellValue("Sheet1", fmt.Sprintf("F%v", i+1), 1)
  54. }
  55. fmt.Printf("%s 总数是:%d\n", projectName, len(res))
  56. }
  57. }
  58. func TestSearchES23(t *testing.T) {
  59. //client, err := elastic.NewClient(
  60. // elastic.SetURL(GF.Es.URL),
  61. // elastic.SetBasicAuth(GF.Es.Username, GF.Es.Password),
  62. // elastic.SetSniff(false),
  63. //)
  64. //if err != nil {
  65. // log.Fatal("创建 Elasticsearch 客户端失败", zap.Error(err))
  66. //}
  67. //
  68. //projectName := "卡秋生物生产研发中心建设项目"
  69. //results, err := searchES24(client, projectName, "", 20, 50)
  70. //results, err := searchESCommonQuery(client, projectName, "", 20, 30)
  71. //results, err := SearchProjectFullScoring(client, projectName, "", "", "")
  72. //log.Info("aaa", zap.Any("results", results))
  73. }
  74. func TestSearchProjectFullScoring(t *testing.T) {
  75. url := "http://127.0.0.1:19908"
  76. username := "jybid"
  77. password := "Top2023_JEB01i@31"
  78. client, err := elastic.NewClient(
  79. elastic.SetURL(url),
  80. elastic.SetBasicAuth(username, password),
  81. elastic.SetSniff(false),
  82. )
  83. if err != nil {
  84. log.Fatal("创建 Elasticsearch 客户端失败", zap.Error(err))
  85. }
  86. MgoQY = &mongodb.MongodbSim{
  87. //MongodbAddr: "172.31.31.202:27081,172.20.45.128:27080",
  88. MongodbAddr: "127.0.0.1:27083",
  89. Size: 10,
  90. DbName: "mixdata",
  91. UserName: "SJZY_RWbid_ES",
  92. Password: "SJZY@B4i4D5e6S",
  93. Direct: true,
  94. }
  95. MgoQY.InitPool()
  96. f, err := excelize.OpenFile("./项目信息.xlsx")
  97. if err != nil {
  98. fmt.Println(err)
  99. return
  100. }
  101. defer func() {
  102. f.Save()
  103. if err := f.Close(); err != nil {
  104. fmt.Println(err)
  105. }
  106. }()
  107. rows, err := f.GetRows("Sheet1")
  108. if err != nil {
  109. fmt.Println(err)
  110. return
  111. }
  112. //读取 Excel文件 条件参数
  113. //var targets []InputData
  114. // Start from row 1 to skip the header
  115. for i, row := range rows {
  116. if i == 0 {
  117. continue
  118. }
  119. if len(row) < 6 { // Ensure row has enough columns
  120. continue
  121. }
  122. investment, _ := strconv.ParseFloat(row[4], 64)
  123. dateStr := strings.TrimPrefix(row[5], "Y")
  124. baseDate, _ := time.Parse("200601", dateStr)
  125. target := InputData{
  126. ProjectCode: row[0],
  127. ProjectName: row[1],
  128. AreaCode: row[2],
  129. ConstructionUnit: row[3],
  130. PlannedInvestment: investment,
  131. BaseDate: baseDate,
  132. }
  133. //targets = append(targets, target)
  134. projectName := rows[i][1]
  135. areacode := rows[i][2]
  136. publish := rows[i][5]
  137. res, err := SearchProjectFullScoring(client, target, projectName, areacode, publish)
  138. fmt.Println(res, err)
  139. }
  140. //for i := 2; i < len(rows); i++ {
  141. // projectName := rows[i][1]
  142. // areacode := rows[i][2]
  143. // publish := rows[i][5]
  144. //
  145. // res, err := SearchProjectFullScoring(client, projectName, areacode, publish)
  146. // fmt.Println(res, err)
  147. // results, err := searchES24(client, projectName, "", 20, 50)
  148. //
  149. // fmt.Println(results, err)
  150. //
  151. //}
  152. }