|
@@ -9,11 +9,12 @@ import (
|
|
|
"mongodb"
|
|
|
"qfw/util"
|
|
|
"regexp"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
func TimeTask() {
|
|
|
- GetBdData()
|
|
|
+ //GetPaData()
|
|
|
c := cron.New()
|
|
|
cronstrBd := "0 0 */" + fmt.Sprint(BdTaskTime) + " * * ?" //每TaskTime小时执行一次
|
|
|
//cronstr := "0 0 " + fmt.Sprint(TaskTime) + " * * ?" //每天TaskTime跑一次
|
|
@@ -48,16 +49,22 @@ func GetPaData() {
|
|
|
lastid := ""
|
|
|
sess := MgoMix.GetMgoConn()
|
|
|
defer MgoMix.DestoryMongoConn(sess)
|
|
|
- fields := map[string]interface{}{"changes": 1, "company_id": 1, "company_name": 1}
|
|
|
+ fields := map[string]interface{}{"changes": 1, "company_id": 1, "company_name": 1, "company_type": 1, "establish_date": 1, "create_time": 1}
|
|
|
query := sess.DB(Dbname_pa).C(CollPa).Find(nil).Select(fields).Iter()
|
|
|
+ c := MgoMix.Count(CollPa, nil)
|
|
|
+ util.Debug("ping an count ------", c)
|
|
|
tmp := make(map[string]interface{})
|
|
|
for query.Next(&tmp) {
|
|
|
- lastid = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
+ lastid = mongodb.BsonIdToSId(tmp["company_id"])
|
|
|
if count%1000 == 0 {
|
|
|
util.Debug("ping an ----current-----", count, lastid)
|
|
|
}
|
|
|
+ if strings.Contains(util.ObjToString(tmp["company_type"]), "个体") {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ currentTime := time.Now().Unix()
|
|
|
if tmp["changes"] != nil && len(tmp["changes"].([]interface{})) > 0 {
|
|
|
- currentTime := time.Now().Unix()
|
|
|
+ delete(tmp, "establish_date")
|
|
|
q := bson.M{"company_name": tmp["company_name"]}
|
|
|
changeEnt, _ := MgoMix.FindOne(CollSave, q)
|
|
|
if changeEnt != nil && len(*changeEnt) > 0 {
|
|
@@ -83,6 +90,68 @@ func GetPaData() {
|
|
|
tmp["updatetime"] = currentTime
|
|
|
}
|
|
|
update := make(map[string]interface{})
|
|
|
+ tmp["datasource"] = "pingan"
|
|
|
+ update["$set"] = tmp
|
|
|
+ updateInfo := []map[string]interface{}{
|
|
|
+ {
|
|
|
+ "_id": tmp["_id"],
|
|
|
+ },
|
|
|
+ update,
|
|
|
+ }
|
|
|
+ MgoSaveCache <- updateInfo
|
|
|
+ count++
|
|
|
+ }else {
|
|
|
+ //{
|
|
|
+ // "change_code": "100000",
|
|
|
+ // "change_name": "新设立公司",
|
|
|
+ // "change_push": true,
|
|
|
+ // "change_info": "新设立公司",
|
|
|
+ // "change_keyword": ["新设立"]
|
|
|
+ //},
|
|
|
+ setupData := ""
|
|
|
+ if tmp["establish_date"] != nil {
|
|
|
+ if timeTmp, ok := tmp["establish_date"].(primitive.DateTime); ok {
|
|
|
+ t := timeTmp.Time()
|
|
|
+ setupData = util.FormatDate(&t, util.Date_Short_Layout)
|
|
|
+ } else if timeTmp, ok := tmp["establish_date"].(string); ok && timeTmp != "" {
|
|
|
+ t := timeReg.FindString(timeTmp)
|
|
|
+ if t != "" {
|
|
|
+ setupData = t
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ createData := ""
|
|
|
+ if tmp["create_time"] != nil {
|
|
|
+ if timeTmp, ok := tmp["create_time"].(primitive.DateTime); ok {
|
|
|
+ t := timeTmp.Time()
|
|
|
+ createData = util.FormatDate(&t, util.Date_Short_Layout)
|
|
|
+ } else if timeTmp, ok := tmp["create_time"].(string); ok && timeTmp != "" {
|
|
|
+ t := timeReg.FindString(timeTmp)
|
|
|
+ if t != "" {
|
|
|
+ createData = t
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tm2, _ := time.Parse("2006-01-02", createData)
|
|
|
+ //当前时间17天内
|
|
|
+ if tm2.Unix() < (time.Now().Unix() - 17 * 60 * 60 * 24) {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ delete(tmp, "establish_date")
|
|
|
+ delete(tmp, "create_time")
|
|
|
+ changeInfo := make(map[string]interface{})
|
|
|
+ changeInfo["change_field"] = "新设立公司"
|
|
|
+ changeInfo["change_name_new"] = "新设立公司"
|
|
|
+ changeInfo["content_before"] = ""
|
|
|
+ changeInfo["content_after"] = "新设立公司"
|
|
|
+ changeInfo["change_date"] = setupData
|
|
|
+
|
|
|
+ tmp["changes"] = []map[string]interface{}{changeInfo}
|
|
|
+ tmp["_id"] = primitive.NewObjectID()
|
|
|
+ tmp["createtime"] = currentTime
|
|
|
+ tmp["updatetime"] = currentTime
|
|
|
+ tmp["datasource"] = "pingan"
|
|
|
+ update := make(map[string]interface{})
|
|
|
update["$set"] = tmp
|
|
|
updateInfo := []map[string]interface{}{
|
|
|
{
|
|
@@ -135,6 +204,7 @@ func findEnt(tmp map[string]interface{}) {
|
|
|
saveEnt := map[string]interface{}{}
|
|
|
if saveEnt != nil && len(*paEnt) > 0 {
|
|
|
//3、企业库有该企业信息
|
|
|
+ saveEnt["datasource"] = "baidu"
|
|
|
saveEnt["_id"] = primitive.NewObjectID()
|
|
|
saveEnt["company_id"] = (*paEnt)["company_id"]
|
|
|
saveEnt["company_name"] = (*ent)["entName"]
|