Jelajahi Sumber

feat:xiigai

wangchuanjin 10 bulan lalu
induk
melakukan
839d144cce

+ 30 - 23
src/jfw/modules/subscribepay/src/service/network.go

@@ -11,15 +11,12 @@ import (
 	"strings"
 	"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"
+	"app.yhyue.com/moapp/jybase/encrypt"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	. "app.yhyue.com/moapp/jybase/mongodb"
 	"app.yhyue.com/moapp/jybase/redis"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/dataexport"
 )
 
 type Network struct {
@@ -38,8 +35,9 @@ func (n *Network) ProjectExport() {
 	pool := make(chan bool, 3)
 	wait := &sync.WaitGroup{}
 	lock := &sync.Mutex{}
+	version := n.GetString("version")
 	tableName := "transaction_info"
-	if n.GetString("version") == "1" {
+	if version == "1" {
 		tableName = "transaction_info_all"
 	}
 	for _, v := range strings.Split(exportIds, ",") {
@@ -71,23 +69,32 @@ func (n *Network) ProjectExport() {
 	}
 	//通用版
 	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
-		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 { //物业版
-		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 {
 		log.Println("人脉通项目导出", export_id, dataErr)
 		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 != "" {
 			m := make(map[string]interface{})
 			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 {
 				info.Buyer = qutil.ObjToString(m["buyer"])
 				if m["bidamount"] != nil {
@@ -167,9 +174,9 @@ func GetDataSearchResult(ids []string) (result map[string][]util.Information, er
 			}
 		}
 		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 {
-			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 {
 			result[info.Class] = append(result[info.Class], info)

+ 11 - 4
src/jfw/modules/subscribepay/src/util/dataExportExcel.go

@@ -285,7 +285,7 @@ func MoveFile(src, dst string) (int64, error) {
 }
 
 // 人脉通导出情报信息
-func ExportExcelFileForNw(list map[string][]Information) (*xlsx.File, error) {
+func ExportExcelFileForNw(version string, list map[string][]Information) (*xlsx.File, error) {
 	//创建excel文件
 	file := xlsx.NewFile()
 	for s, information := range list {
@@ -311,7 +311,11 @@ func ExportExcelFileForNw(list map[string][]Information) (*xlsx.File, error) {
 			} else {
 				lastF = true
 				cell = row.AddCell()
-				cell.SetString(excel.Name)
+				if version == "1" {
+					cell.SetString(strings.ReplaceAll(excel.Name, "情报", ""))
+				} else {
+					cell.SetString(excel.Name)
+				}
 				cell.VMerge = excel.VMerge
 				cell.HMerge = excel.HMerge
 			}
@@ -336,7 +340,11 @@ func ExportExcelFileForNw(list map[string][]Information) (*xlsx.File, error) {
 			}
 			cell = row.AddCell()
 			if excel.VMerge != 1 {
-				cell.SetString(excel.Name)
+				if version == "1" {
+					cell.SetString(strings.ReplaceAll(excel.Name, "情报", ""))
+				} else {
+					cell.SetString(excel.Name)
+				}
 			}
 			sheet.Col(cNum).Width = excel.Width
 			cNum++
@@ -372,7 +380,6 @@ func ExportExcelFileForNw(list map[string][]Information) (*xlsx.File, error) {
 							style.Font = blueFont
 						}
 					}
-
 					cell.SetStyle(style)
 				}
 			}