123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package main
- import (
- "fmt"
- "github.com/xuri/excelize/v2"
- util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "log"
- "regexp"
- )
- // getProject 根据表格biddingID获取项目ID
- func getProject() {
- MgoP := &mongodb.MongodbSim{
- //MongodbAddr: "172.17.189.140:27080",
- MongodbAddr: "127.0.0.1:27080",
- Size: 10,
- DbName: "qfw",
- Direct: true,
- //UserName: "SJZY_RWbid_ES",
- //Password: "SJZY@B4i4D5e6S",
- }
- MgoP.InitPool()
- //Mgo := &mongodb.MongodbSim{
- // //MongodbAddr: "172.17.189.140:27080",
- // MongodbAddr: "127.0.0.1:27083",
- // Size: 10,
- // DbName: "qfw",
- // UserName: "SJZY_RWbid_ES",
- // Password: "SJZY@B4i4D5e6S",
- // Direct: true,
- //}
- //Mgo.InitPool()
- f, err := excelize.OpenFile("./bidding2.xlsx")
- if err != nil {
- fmt.Println(err)
- return
- }
- defer func() {
- if err := f.Close(); err != nil {
- fmt.Println(err)
- }
- }()
- rows, err := f.GetRows("Sheet1")
- if err != nil {
- fmt.Println(err)
- return
- }
- for i := 1; i < len(rows); i++ {
- biddingID := rows[i][0]
- where := map[string]interface{}{
- "ids": biddingID,
- }
- p, _ := MgoP.FindOne("projectset_20230904", where)
- projectId := mongodb.BsonIdToSId((*p)["_id"])
- f.SetCellValue("Sheet1", fmt.Sprintf("B%v", i+1), projectId)
- //bidding, _ := Mgo.FindById("bidding", biddingID, nil)
- //href := (*bidding)["href"]
- //f.SetCellValue("Sheet1", fmt.Sprintf("E%v", i+1), href)
- f.SetCellValue("Sheet1", fmt.Sprintf("F%v", i+1), GetJyURLByID(biddingID))
- }
- f.Save()
- log.Println("over")
- }
- // dealProject
- func dealProject() {
- MgoP := &mongodb.MongodbSim{
- //MongodbAddr: "172.17.189.140:27080",
- MongodbAddr: "127.0.0.1:27080",
- Size: 10,
- DbName: "qfw",
- Direct: true,
- //UserName: "SJZY_RWbid_ES",
- //Password: "SJZY@B4i4D5e6S",
- }
- MgoP.InitPool()
- f, err := excelize.OpenFile("./bidding2.xlsx")
- if err != nil {
- fmt.Println(err)
- return
- }
- defer func() {
- if err := f.Close(); err != nil {
- fmt.Println(err)
- }
- }()
- rows, err := f.GetRows("Sheet2")
- if err != nil {
- fmt.Println(err)
- return
- }
- // 编译正则表达式
- re := regexp.MustCompile(`包\d+`)
- for i := 1; i < len(rows); i++ {
- pid := rows[i][0]
- p, _ := MgoP.FindById("projectset_20230904", pid, nil)
- f.SetCellValue("Sheet2", fmt.Sprintf("B%v", i+1), (*p)["projectname"])
- f.SetCellValue("Sheet2", fmt.Sprintf("C%v", i+1), (*p)["multipackage"])
- f.SetCellValue("Sheet2", fmt.Sprintf("D%v", i+1), (*p)["sourceinfourl"])
- if util.IntAll((*p)["multipackage"]) == 0 {
- if list, ok := (*p)["list"].([]interface{}); ok {
- for _, v := range list {
- if da, ok := v.(map[string]interface{}); ok {
- title := da["title"]
- // 使用正则表达式进行匹配
- matches := re.FindAllString(util.ObjToString(title), -1)
- if len(matches) > 0 {
- for _, match := range matches {
- fmt.Println(match[0]) // 输出匹配到的关键词
- f.SetCellValue("Sheet2", fmt.Sprintf("F%v", i+1), match[0])
- f.SetCellValue("Sheet2", fmt.Sprintf("E%v", i+1), title)
- break
- }
- }
- }
- }
- }
- }
- }
- f.Save()
- log.Println("over")
- }
|