package main import ( "app.yhyue.com/moapp/jybase/mongodb" "bytes" "fmt" "go.mongodb.org/mongo-driver/bson" "io" su "jygit.jydev.jianyu360.cn/data_capture/myself_util/spiderutil" "testing" "time" ) // 调用附件解析ocr测试 func Test_Ocr(t *testing.T) { attachText := map[string]interface{}{} url := "https://e-bidding.zzcycn.com/bidprocurement/datacenter-cebpubserver/cebpubserver/dataCeboubServerCommonController/openFileById?fileType=2&id=c66b56202bfe4420abc0208b7c3bb9f3" contentType, ret := Download(url) //下载 fmt.Println(contentType) fileType := "pdf" //从url或者text提取的附件类型 fileName := "公告.pdf" fid := su.GetHashKey(ret) + su.TypeByExt(fileName) fmt.Println(fid) bs := bytes.NewReader(ret) Ok, _ := su.OssPutObject(fid, io.MultiReader(bs)) //附件上传 if Ok { //上传成功,解析附件 resp := GetFileText(fileName, fid, fileType, ret) fmt.Println(resp) if resp != nil { tmap := map[string]interface{}{} for i, r := range resp.Result { rmap := map[string]interface{}{ "file_name": r.FileName, "attach_url": r.TextUrl, "state": r.ErrorState, } tmap[fmt.Sprint(i)] = rmap } if len(tmap) > 0 { attachText[fmt.Sprint(1)] = tmap } } } fmt.Println(attachText) } // 流程测试 func Test_NatsClient(t *testing.T) { mgo := mongodb.MongodbSim{ MongodbAddr: "192.168.3.166:27082", DbName: "qfw", Size: 1, } mgo.InitPool() tmp, _ := mgo.FindById("bidding", "65805edb6977356f55861229", nil) msg := &MsgInfo{ Id: "1", //消息唯一id CurrSetp: "test", //当前步骤 Data: *tmp, //数据内容 } msgByte, _ := bson.Marshal(msg) resp, err := Jnats.PubReqZip(Subscribe, msgByte, 10*time.Second) if err != nil { fmt.Println("发布回执异常:", err) return } respMsg := &MsgInfo{} if bson.Unmarshal(resp.Data, &respMsg) == nil { fmt.Println(respMsg.CurrSetp) fmt.Println(respMsg.IsEnd) fmt.Println(respMsg.NextSetp) fmt.Println(respMsg.Extend.MgoSave.SType, respMsg.Extend.MgoSave.Col) } else { fmt.Println("解析数据失败") } }