|
@@ -1,7 +1,8 @@
|
|
|
-package main
|
|
|
+package bidding
|
|
|
|
|
|
import (
|
|
|
"data_tidb/config"
|
|
|
+ u "data_tidb/util"
|
|
|
"fmt"
|
|
|
util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
|
|
|
"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
|
|
@@ -19,8 +20,8 @@ var (
|
|
|
)
|
|
|
|
|
|
func TaskBidding() {
|
|
|
- sess := MongoB.GetMgoConn()
|
|
|
- defer MongoB.DestoryMongoConn(sess)
|
|
|
+ sess := u.MongoB.GetMgoConn()
|
|
|
+ defer u.MongoB.DestoryMongoConn(sess)
|
|
|
ch := make(chan bool, 10)
|
|
|
wg := &sync.WaitGroup{}
|
|
|
q := map[string]interface{}{
|
|
@@ -43,12 +44,12 @@ func TaskBidding() {
|
|
|
wg.Done()
|
|
|
}()
|
|
|
if util.IntAll(tmp["extracttype"]) != -1 {
|
|
|
- taskBase(tmp) //基础标讯数据
|
|
|
- taskExpand(tmp) //扩展数据
|
|
|
- //taskDetail(tmp) //正文信息
|
|
|
- //taskAtts(tmp) //附件信息
|
|
|
- //taskIntent(tmp) //采购意向
|
|
|
- //taskPackage(tmp) //分包
|
|
|
+ taskBase(tmp) //基础标讯数据
|
|
|
+ taskExpand(tmp) //扩展数据
|
|
|
+ taskDetail(tmp) //正文信息
|
|
|
+ taskAtts(tmp) //附件信息
|
|
|
+ taskIntent(tmp) //采购意向
|
|
|
+ taskPackage(tmp) //分包
|
|
|
}
|
|
|
}(tmp)
|
|
|
tmp = make(map[string]interface{})
|
|
@@ -63,54 +64,42 @@ func taskBase(tmp map[string]interface{}) {
|
|
|
info["s_info_id"] = tmpid
|
|
|
area, city, district := util.ObjToString(tmp["area"]), util.ObjToString(tmp["city"]), util.ObjToString(tmp["district"])
|
|
|
if area != "" {
|
|
|
- info["area_code"] = AreaCode[area]
|
|
|
+ info["s_area_code"] = u.AreaCode[area]
|
|
|
if city != "" {
|
|
|
- info["city_code"] = AreaCode[area+","+city]
|
|
|
+ info["s_city_code"] = u.AreaCode[area+","+city]
|
|
|
if district != "" {
|
|
|
- info["district_code"] = AreaCode[area+","+city+","+district]
|
|
|
+ info["s_district_code"] = u.AreaCode[area+","+city+","+district]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if toptype := util.ObjToString(tmp["toptype"]); toptype != "" {
|
|
|
- info["s_toptype_code"] = TopTypeCode["toptype"]
|
|
|
+ info["s_toptype_code"] = u.TopTypeCode["toptype"]
|
|
|
}
|
|
|
if subtype := util.ObjToString(tmp["subtype"]); subtype != "" {
|
|
|
- info["s_subtype_code"] = SubTypeCode[subtype]
|
|
|
+ info["s_subtype_code"] = u.SubTypeCode[subtype]
|
|
|
}
|
|
|
if buyerclass := util.ObjToString(tmp["buyerclass"]); buyerclass != "" {
|
|
|
- info["s_buyerclass_code"] = BuyerCode[buyerclass]
|
|
|
+ info["s_buyerclass_code"] = u.BuyerCode[buyerclass]
|
|
|
}
|
|
|
//特别结构
|
|
|
info["i_isValidFile"] = util.IntAll(tmp["isValidFile"])
|
|
|
info["i_multipackage"] = util.IntAll(tmp["multipackage"])
|
|
|
//文本相关
|
|
|
- transferTextInfo(tmp, &info, []string{"title", "projectname", "projectcode", "purchasing", "site", "href"}, []int{})
|
|
|
+ u.TransferTextInfo(tmp, &info, []string{"title", "projectname", "projectcode", "purchasing", "site", "href"}, []int{})
|
|
|
//金额相关
|
|
|
- transferMoneyRateInfo(tmp, &info, []string{"budget", "bidamount", "biddiscount"}, []float64{1000000000.0, 1000000000.0, 100.0})
|
|
|
+ u.TransferMoneyRateInfo(tmp, &info, []string{"budget", "bidamount", "biddiscount"}, []float64{1000000000.0, 1000000000.0, 100.0})
|
|
|
//时间相关
|
|
|
- transferDateTimeInfo(tmp, &info, []string{"comeintime", "publishtime", "bidopentime", "bidendtime"})
|
|
|
+ u.TransferDateTimeInfo(tmp, &info, []string{"comeintime", "publishtime", "bidopentime", "bidendtime"})
|
|
|
//主体相关
|
|
|
- if code := getNameId(util.ObjToString(tmp["buyer"])); code != "" {
|
|
|
+ if code := u.GetNameId(util.ObjToString(tmp["buyer"])); code != "" {
|
|
|
info["s_buyer_id"] = code
|
|
|
}
|
|
|
- if code := getNameId(util.ObjToString(tmp["agency"])); code != "" {
|
|
|
+ if code := u.GetNameId(util.ObjToString(tmp["agency"])); code != "" {
|
|
|
info["s_agency_id"] = code
|
|
|
}
|
|
|
info["d_updatetime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
info["d_createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_baseinfo", info, mongodb.BsonIdToSId(tmp["_id"]))
|
|
|
-}
|
|
|
-
|
|
|
-func getNameId(name string) string {
|
|
|
- if name == "" {
|
|
|
- return ""
|
|
|
- }
|
|
|
- info := MysqlTool.FindOne("dws_f_ent_baseinfo", map[string]interface{}{"name": name}, "name_id", "")
|
|
|
- if info != nil && (*info)["name_id"] != nil {
|
|
|
- return util.ObjToString((*info)["name_id"])
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_baseinfo, info, mongodb.BsonIdToSId(tmp["_id"]))
|
|
|
}
|
|
|
|
|
|
func taskExpand(tmp map[string]interface{}) {
|
|
@@ -118,13 +107,13 @@ func taskExpand(tmp map[string]interface{}) {
|
|
|
info := map[string]interface{}{}
|
|
|
info["s_info_id"] = tmpid
|
|
|
//文本相关
|
|
|
- transferTextInfo(tmp, &info, []string{"projectperiod", "project_scale", "project_timeunit", "bidmethod", "getdocmethod", "currency", "funds", "payway", "bid_bond", "contract_bond", "contractcode", "buyerzipcode", "bidopenaddress", "buyeraddr", "agencyaddr", "projectaddr", "enterprise_qualification", "personnel_qualification", "performance_qualification", "enterprise_credit"}, []int{1000, 5000, 50, 255, 500, 20, 5000, 500, 1000, 500, 100, 100, 1000, 1000, 1000, 1000, 20000, 20000, 20000, 20000})
|
|
|
+ u.TransferTextInfo(tmp, &info, []string{"projectperiod", "project_scale", "project_timeunit", "bidmethod", "getdocmethod", "currency", "funds", "payway", "bid_bond", "contract_bond", "contractcode", "buyerzipcode", "bidopenaddress", "buyeraddr", "agencyaddr", "projectaddr", "enterprise_qualification", "personnel_qualification", "performance_qualification", "enterprise_credit"}, []int{1000, 5000, 50, 255, 500, 20, 5000, 500, 1000, 500, 100, 100, 1000, 1000, 1000, 1000, 20000, 20000, 20000, 20000})
|
|
|
//时间相关
|
|
|
- transferDateTimeInfo(tmp, &info, []string{"project_startdate", "project_completedate", "signstarttime", "bidendtime", "bidstarttime", "docstarttime", "docendtime", "signaturedate", "signendtime"})
|
|
|
+ u.TransferDateTimeInfo(tmp, &info, []string{"project_startdate", "project_completedate", "signstarttime", "bidendtime", "bidstarttime", "docstarttime", "docendtime", "signaturedate", "signendtime"})
|
|
|
//布尔相关
|
|
|
- transferBoolInfo(tmp, &info, []string{"bid_guarantee", "contract_guarantee"})
|
|
|
+ u.TransferBoolInfo(tmp, &info, []string{"bid_guarantee", "contract_guarantee"})
|
|
|
//金额相关
|
|
|
- transferMoneyRateInfo(tmp, &info, []string{"docamount", "agencyfee", "agencyrate"}, []float64{10000000.0, 10000000.0, 10000000.0})
|
|
|
+ u.TransferMoneyRateInfo(tmp, &info, []string{"docamount", "agencyfee", "agencyrate"}, []float64{10000000.0, 10000000.0, 10000000.0})
|
|
|
//投标方式
|
|
|
bidway := util.ObjToString(tmp["bidway"])
|
|
|
if bidway == "电子投标" {
|
|
@@ -150,7 +139,7 @@ func taskExpand(tmp map[string]interface{}) {
|
|
|
}
|
|
|
info["d_updatetime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
info["d_createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_expand_baseinfo", info, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_expand_baseinfo, info, tmpid)
|
|
|
}
|
|
|
|
|
|
func taskDetail(tmp map[string]interface{}) {
|
|
@@ -164,7 +153,7 @@ func taskDetail(tmp map[string]interface{}) {
|
|
|
"d_createtime": time.Now().Format(util.Date_Full_Layout),
|
|
|
"d_updatetime": time.Now().Format(util.Date_Full_Layout),
|
|
|
}
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_detail", info, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_detail, info, tmpid)
|
|
|
}
|
|
|
|
|
|
func taskAtts(tmp map[string]interface{}) {
|
|
@@ -191,7 +180,7 @@ func taskAtts(tmp map[string]interface{}) {
|
|
|
f_baseInfo["s_file_suffix"] = util.ObjToString(at["ftype"])
|
|
|
f_baseInfo["s_file_oss_url"] = util.ObjToString(at["fid"])
|
|
|
f_baseInfo["d_createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
- f_id := InsertGlobalMysqlData("dwd_f_bid_file_baseinfo", f_baseInfo, tmpid)
|
|
|
+ f_id := u.InsertGlobalMysqlData(u.T_dwd_f_bid_file_baseinfo, f_baseInfo, tmpid)
|
|
|
if f_id > 0 && util.IntAll(index) > 0 && attach_text != nil {
|
|
|
att_key := fmt.Sprintf("%d", util.IntAll(index)-1)
|
|
|
if att_info := util.ObjToMap((*attach_text)[att_key]); att_info != nil {
|
|
@@ -219,13 +208,13 @@ func taskAttsAttach(att_info map[string]interface{}, tmpid string, f_id int64) {
|
|
|
//}
|
|
|
//info["s_file_text"] = bs
|
|
|
}
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_file_text", info, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_file_text, info, tmpid)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func taskIntent(tmp map[string]interface{}) {
|
|
|
- procurementlist := IsMarkInterfaceMap(tmp["procurementlist"])
|
|
|
+ procurementlist := u.IsMarkInterfaceMap(tmp["procurementlist"])
|
|
|
tmpid := mongodb.BsonIdToSId(tmp["_id"])
|
|
|
for _, p1 := range procurementlist {
|
|
|
info := map[string]interface{}{}
|
|
@@ -249,41 +238,41 @@ func taskIntent(tmp map[string]interface{}) {
|
|
|
info["s_reserved_amount"] = p1["reserved_amount"]
|
|
|
}
|
|
|
if b := util.ObjToString(tmp["buyer"]); b != "" {
|
|
|
- if code := getNameId(b); code != "" {
|
|
|
+ if code := u.GetNameId(b); code != "" {
|
|
|
info["s_buyer_id"] = code
|
|
|
}
|
|
|
}
|
|
|
info["d_createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_intention_baseinfo", info, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_intention_baseinfo, info, tmpid)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func taskPackage(tmp map[string]interface{}) {
|
|
|
tmpid := mongodb.BsonIdToSId(tmp["_id"])
|
|
|
//筛选分包
|
|
|
- packages := filterPackageInfos(tmp)
|
|
|
+ packages := FilterPackageInfos(tmp)
|
|
|
if len(packages) <= 1 { //单包···标讯本身
|
|
|
baseInfo := CPBaseInfoFromBidding(tmp, tmpid)
|
|
|
- pid := InsertGlobalMysqlData("dwd_f_bid_package_baseinfo", baseInfo, tmpid)
|
|
|
+ pid := u.InsertGlobalMysqlData(u.T_dwd_f_bid_package_baseinfo, baseInfo, tmpid)
|
|
|
if pid > 0 {
|
|
|
//投标人信息
|
|
|
CPBidderBiddingBaseInfo(tmp, tmpid, pid)
|
|
|
//标的物信息
|
|
|
new_purlist := CPBiddingPackageGoodsBaseInfo(tmp, tmpid, pid)
|
|
|
for _, v := range new_purlist {
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_package_goods_baseinfo", v, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_package_goods_baseinfo, v, tmpid)
|
|
|
}
|
|
|
}
|
|
|
} else { //多包...具体源信息
|
|
|
for k, v := range packages {
|
|
|
baseInfo := CPBaseInfoFromPackage(v, tmpid)
|
|
|
- pid := InsertGlobalMysqlData("dwd_f_bid_package_baseinfo", baseInfo, tmpid)
|
|
|
+ pid := u.InsertGlobalMysqlData(u.T_dwd_f_bid_package_baseinfo, baseInfo, tmpid)
|
|
|
if pid > 0 { //投标人信息
|
|
|
if k == 0 { //标的物信息
|
|
|
CPBidderPackageBaseInfo(v, tmp, tmpid, pid, true)
|
|
|
new_purlist := CPBiddingPackageGoodsBaseInfo(tmp, tmpid, pid)
|
|
|
for _, v1 := range new_purlist {
|
|
|
- InsertGlobalMysqlData("dwd_f_bid_package_goods_baseinfo", v1, tmpid)
|
|
|
+ u.InsertGlobalMysqlData(u.T_dwd_f_bid_package_goods_baseinfo, v1, tmpid)
|
|
|
}
|
|
|
} else {
|
|
|
CPBidderPackageBaseInfo(v, tmp, tmpid, pid, false)
|