package main import ( "fmt" "github.com/olivere/elastic/v7" "github.com/xuri/excelize/v2" "go.uber.org/zap" util "jygit.jydev.jianyu360.cn/data_processing/common_utils" "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 } 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] fmt.Println(i, projectName) res, err := SearchProjectFullScoring(client, target, projectName, areacode, publish) if err != nil { fmt.Println(err) } dds := make([]string, 0) for k, v := range res { if k > 2 { break } id := util.ObjToString(v["id"]) jyurl := GetJyURLByID(id) socre := v["score"] pname := v["projectname"] dd := fmt.Sprintf("%v,%v,%v", pname, socre, jyurl) dds = append(dds, dd) } ddda := strings.Join(dds, "\n") f.SetCellValue("Sheet1", fmt.Sprintf("%s%d", "K", i+1), ddda) } } func TestSearchProjectFullScoring2(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("./剑鱼匹配疑似问题7月.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 } for i, row := range rows { if i == 0 { continue } target := InputData{ ProjectName: row[0], } projectName := rows[i][0] if projectName == "" { continue } areacode := "" publish := "" fmt.Println(i, projectName) res, err := SearchProjectFullScoring(client, target, projectName, areacode, publish) if err != nil { fmt.Println(err) } dds := make([]string, 0) for k, v := range res { if k > 2 { break } id := util.ObjToString(v["id"]) jyurl := GetJyURLByID(id) socre := v["score"] pname := v["projectname"] dd := fmt.Sprintf("%v,%v,%v", pname, socre, jyurl) dds = append(dds, dd) } ddda := strings.Join(dds, "\n") f.SetCellValue("Sheet1", fmt.Sprintf("%s%d", "J", i+1), ddda) } }