|
@@ -11,15 +11,12 @@ import (
|
|
"strings"
|
|
"strings"
|
|
"sync"
|
|
"sync"
|
|
|
|
|
|
- "github.com/tealeg/xlsx"
|
|
|
|
-
|
|
|
|
- "app.yhyue.com/moapp/jypkg/common/src/qfw/util/dataexport"
|
|
|
|
-
|
|
|
|
- "app.yhyue.com/moapp/jybase/encrypt"
|
|
|
|
-
|
|
|
|
qutil "app.yhyue.com/moapp/jybase/common"
|
|
qutil "app.yhyue.com/moapp/jybase/common"
|
|
|
|
+ "app.yhyue.com/moapp/jybase/encrypt"
|
|
"app.yhyue.com/moapp/jybase/go-xweb/xweb"
|
|
"app.yhyue.com/moapp/jybase/go-xweb/xweb"
|
|
|
|
+ . "app.yhyue.com/moapp/jybase/mongodb"
|
|
"app.yhyue.com/moapp/jybase/redis"
|
|
"app.yhyue.com/moapp/jybase/redis"
|
|
|
|
+ "app.yhyue.com/moapp/jypkg/common/src/qfw/util/dataexport"
|
|
)
|
|
)
|
|
|
|
|
|
type Network struct {
|
|
type Network struct {
|
|
@@ -38,8 +35,9 @@ func (n *Network) ProjectExport() {
|
|
pool := make(chan bool, 3)
|
|
pool := make(chan bool, 3)
|
|
wait := &sync.WaitGroup{}
|
|
wait := &sync.WaitGroup{}
|
|
lock := &sync.Mutex{}
|
|
lock := &sync.Mutex{}
|
|
|
|
+ version := n.GetString("version")
|
|
tableName := "transaction_info"
|
|
tableName := "transaction_info"
|
|
- if n.GetString("version") == "1" {
|
|
|
|
|
|
+ if version == "1" {
|
|
tableName = "transaction_info_all"
|
|
tableName = "transaction_info_all"
|
|
}
|
|
}
|
|
for _, v := range strings.Split(exportIds, ",") {
|
|
for _, v := range strings.Split(exportIds, ",") {
|
|
@@ -71,23 +69,32 @@ func (n *Network) ProjectExport() {
|
|
}
|
|
}
|
|
//通用版
|
|
//通用版
|
|
var dataErr error
|
|
var dataErr error
|
|
- var file *xlsx.File
|
|
|
|
- var fileErr error
|
|
|
|
- if n.GetString("version") == "1" {
|
|
|
|
- bidList, err := dataexport.GetDataExportSearchResult(util.Mgo_bidding, config.Config.Mongobidding.DbName, config.Config.Elasticsearch, &dataexport.SieveCondition{SelectIds: bIds}, "2", -2)
|
|
|
|
|
|
+ bidList := map[string][]util.Information{}
|
|
|
|
+ if version == "1" {
|
|
|
|
+ datas, err := dataexport.GetDataExportSearchResult(util.Mgo_bidding, config.Config.Mongobidding.DbName, config.Config.Elasticsearch, &dataexport.SieveCondition{SelectIds: bIds}, "2", -2)
|
|
dataErr = err
|
|
dataErr = err
|
|
- if dataErr == nil && bidList != nil && len(*bidList) > 0 {
|
|
|
|
- file, fileErr = util.ExportExcelFile(bidList, true)
|
|
|
|
|
|
+ if dataErr == nil && datas != nil && len(*datas) > 0 {
|
|
|
|
+ for _, v := range *datas {
|
|
|
|
+ im := util.Information{
|
|
|
|
+ Title: qutil.ObjToString(v["title"]),
|
|
|
|
+ Href: fmt.Sprintf("%s/article/content/%s.html", config.Config.WebDomain, encrypt.EncodeArticleId2ByCheck(BsonIdToSId(v["_id"]))),
|
|
|
|
+ Class: qutil.ObjToString(v["subtype"]),
|
|
|
|
+ DataJsonId: BsonIdToSId(v["_id"]),
|
|
|
|
+ Area: strings.Trim(fmt.Sprintf("%s-%s", qutil.ObjToString(v["area"]), qutil.ObjToString(v["city"])), "-"),
|
|
|
|
+ }
|
|
|
|
+ if v["bidamount"] != nil {
|
|
|
|
+ im.Amount = qutil.Float64All(v["bidamount"]) / 10000
|
|
|
|
+ } else {
|
|
|
|
+ im.Amount = qutil.Float64All(v["budget"]) / 10000
|
|
|
|
+ }
|
|
|
|
+ bidList[im.Class] = append(bidList[im.Class], im)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- log.Println("人脉通项目导出", export_id, len(*bidList))
|
|
|
|
} else { //物业版
|
|
} else { //物业版
|
|
- bidList, err := GetDataSearchResult(bIds)
|
|
|
|
- dataErr = err
|
|
|
|
- if dataErr == nil && bidList != nil && len(bidList) > 0 {
|
|
|
|
- file, fileErr = util.ExportExcelFileForNw(bidList)
|
|
|
|
- }
|
|
|
|
- log.Println("人脉通项目导出", export_id, len(bidList))
|
|
|
|
|
|
+ bidList, dataErr = GetDataSearchResult(bIds)
|
|
}
|
|
}
|
|
|
|
+ log.Println("人脉通项目导出", export_id, len(bidList))
|
|
|
|
+ file, fileErr := util.ExportExcelFileForNw(version, bidList)
|
|
if dataErr != nil {
|
|
if dataErr != nil {
|
|
log.Println("人脉通项目导出", export_id, dataErr)
|
|
log.Println("人脉通项目导出", export_id, dataErr)
|
|
http.Error(n.ResponseWriter, dataErr.Error(), http.StatusInternalServerError)
|
|
http.Error(n.ResponseWriter, dataErr.Error(), http.StatusInternalServerError)
|
|
@@ -156,7 +163,7 @@ func GetDataSearchResult(ids []string) (result map[string][]util.Information, er
|
|
if info.DataJson != "" {
|
|
if info.DataJson != "" {
|
|
m := make(map[string]interface{})
|
|
m := make(map[string]interface{})
|
|
err = json.Unmarshal([]byte(info.DataJson), &m)
|
|
err = json.Unmarshal([]byte(info.DataJson), &m)
|
|
- info.Area = fmt.Sprintf("%s-%s", info.Area, info.City)
|
|
|
|
|
|
+ info.Area = strings.Trim(fmt.Sprintf("%s-%s", info.Area, info.City), "-")
|
|
if err == nil {
|
|
if err == nil {
|
|
info.Buyer = qutil.ObjToString(m["buyer"])
|
|
info.Buyer = qutil.ObjToString(m["buyer"])
|
|
if m["bidamount"] != nil {
|
|
if m["bidamount"] != nil {
|
|
@@ -167,9 +174,9 @@ func GetDataSearchResult(ids []string) (result map[string][]util.Information, er
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if info.Class == "采购意向" || info.Class == "招标项目" {
|
|
if info.Class == "采购意向" || info.Class == "招标项目" {
|
|
- info.Href = fmt.Sprintf("https://www.jianyu360.cn/article/content/%s.html", encrypt.EncodeArticleId2ByCheck(info.DataJsonId))
|
|
|
|
|
|
+ info.Href = fmt.Sprintf("%s/article/content/%s.html", config.Config.WebDomain, encrypt.EncodeArticleId2ByCheck(info.DataJsonId))
|
|
} else {
|
|
} else {
|
|
- info.Href = fmt.Sprintf("https://www.jianyu360.cn/succbi/crm_system/app/crm.app/专属资讯/business_information3_deteil.spg?E_original_intelligence_id=%s", info.Id)
|
|
|
|
|
|
+ info.Href = fmt.Sprintf("%s/succbi/crm_system/app/crm.app/专属资讯/business_information3_deteil.spg?E_original_intelligence_id=%s", config.Config.WebDomain, info.Id)
|
|
}
|
|
}
|
|
if result[info.Class] != nil {
|
|
if result[info.Class] != nil {
|
|
result[info.Class] = append(result[info.Class], info)
|
|
result[info.Class] = append(result[info.Class], info)
|