123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- package main
- import (
- "fmt"
- "github.com/olivere/elastic/v7"
- "github.com/xuri/excelize/v2"
- "go.uber.org/zap"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "strconv"
- "strings"
- "testing"
- "time"
- )
- func TestBiddng(t *testing.T) {
- f, err := excelize.OpenFile("./6月份未匹配到剑鱼的项目清单.xlsx")
- if err != nil {
- fmt.Println(err)
- return
- }
- defer func() {
- f.Save()
- if err := f.Close(); err != nil {
- fmt.Println(err)
- }
- }()
- rows, err := f.GetRows("Sheet1")
- if err != nil {
- fmt.Println(err)
- return
- }
- //url := "http://172.17.4.184:19908"
- url := "http://127.0.0.1:19908"
- username := "jybid"
- password := "Top2023_JEB01i@31"
- //index := "bidding" //索引名称
- // 创建 Elasticsearch 客户端
- client, err := elastic.NewClient(
- elastic.SetURL(url),
- elastic.SetBasicAuth(username, password),
- elastic.SetSniff(false),
- )
- if err != nil {
- fmt.Printf("创建 Elasticsearch 客户端失败:%s", err)
- }
- for i := 1; i < len(rows); i++ {
- projectName := rows[i][1]
- res, err := searchES23(client, projectName, "", 60, 20)
- if err != nil {
- fmt.Println(projectName)
- log.Info("TestBiddng", zap.Error(err))
- }
- if len(res) > 0 {
- f.SetCellValue("Sheet1", fmt.Sprintf("F%v", i+1), 1)
- }
- fmt.Printf("%s 总数是:%d\n", projectName, len(res))
- }
- }
- func TestSearchES23(t *testing.T) {
- //client, err := elastic.NewClient(
- // elastic.SetURL(GF.Es.URL),
- // elastic.SetBasicAuth(GF.Es.Username, GF.Es.Password),
- // elastic.SetSniff(false),
- //)
- //if err != nil {
- // log.Fatal("创建 Elasticsearch 客户端失败", zap.Error(err))
- //}
- //
- //projectName := "卡秋生物生产研发中心建设项目"
- //results, err := searchES24(client, projectName, "", 20, 50)
- //results, err := searchESCommonQuery(client, projectName, "", 20, 30)
- //results, err := SearchProjectFullScoring(client, projectName, "", "", "")
- //log.Info("aaa", zap.Any("results", results))
- }
- func TestSearchProjectFullScoring(t *testing.T) {
- url := "http://127.0.0.1:19908"
- username := "jybid"
- password := "Top2023_JEB01i@31"
- client, err := elastic.NewClient(
- elastic.SetURL(url),
- elastic.SetBasicAuth(username, password),
- elastic.SetSniff(false),
- )
- if err != nil {
- log.Fatal("创建 Elasticsearch 客户端失败", zap.Error(err))
- }
- MgoQY = &mongodb.MongodbSim{
- //MongodbAddr: "172.31.31.202:27081,172.20.45.128:27080",
- MongodbAddr: "127.0.0.1:27083",
- Size: 10,
- DbName: "mixdata",
- UserName: "SJZY_RWbid_ES",
- Password: "SJZY@B4i4D5e6S",
- Direct: true,
- }
- MgoQY.InitPool()
- f, err := excelize.OpenFile("./项目信息.xlsx")
- if err != nil {
- fmt.Println(err)
- return
- }
- defer func() {
- f.Save()
- if err := f.Close(); err != nil {
- fmt.Println(err)
- }
- }()
- rows, err := f.GetRows("Sheet1")
- if err != nil {
- fmt.Println(err)
- return
- }
- //读取 Excel文件 条件参数
- //var targets []InputData
- // Start from row 1 to skip the header
- for i, row := range rows {
- if i == 0 {
- continue
- }
- if len(row) < 6 { // Ensure row has enough columns
- continue
- }
- investment, _ := strconv.ParseFloat(row[4], 64)
- dateStr := strings.TrimPrefix(row[5], "Y")
- baseDate, _ := time.Parse("200601", dateStr)
- target := InputData{
- ProjectCode: row[0],
- ProjectName: row[1],
- AreaCode: row[2],
- ConstructionUnit: row[3],
- PlannedInvestment: investment,
- BaseDate: baseDate,
- }
- //targets = append(targets, target)
- projectName := rows[i][1]
- areacode := rows[i][2]
- publish := rows[i][5]
- res, err := SearchProjectFullScoring(client, target, projectName, areacode, publish)
- fmt.Println(res, err)
- }
- //for i := 2; i < len(rows); i++ {
- // projectName := rows[i][1]
- // areacode := rows[i][2]
- // publish := rows[i][5]
- //
- // res, err := SearchProjectFullScoring(client, projectName, areacode, publish)
- // fmt.Println(res, err)
- // results, err := searchES24(client, projectName, "", 20, 50)
- //
- // fmt.Println(results, err)
- //
- //}
- }
|