wangchuanjin 5 жил өмнө
parent
commit
9555acf60e

+ 34 - 95
src/jfw/front/follow.go

@@ -1,9 +1,7 @@
 package front
 
 import (
-	"encoding/json"
 	"errors"
-	"fmt"
 	"jfw/config"
 	public "jfw/public"
 	"jfw/wx"
@@ -863,24 +861,29 @@ func (m *Follow) AllNotice() error {
 func (m *Follow) Notice(id, followId string) error {
 	defer util.Catch()
 	userid := util.ObjToString(m.GetSession("userId"))
-	date := util.Int64All(id) / 1000000000
-	if date > 0 {
-		_, openid := public.GetOldOpenId(userid)
-		plog, _ := public.MQFW.FindOne("jy_pushproject", map[string]interface{}{
-			"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-			"openid": openid,
-			"date":   id,
-		})
-		dataFromDB := *plog
-		if a_relationinfo := (*plog)["info"]; a_relationinfo != nil {
-			relationinfo := []map[string]interface{}{}
-			json.Unmarshal([]byte(a_relationinfo.(string)), &relationinfo)
+	var query map[string]interface{}
+	if len(id) == 19 {
+		query = map[string]interface{}{
+			"date":   util.Int64All(id) / 1000000000,
+			"userid": userid,
+			"fid":    followId,
+		}
+	} else {
+		query = map[string]interface{}{
+			"_id":    StringTOBsonId(id),
+			"userid": userid,
+		}
+	}
+	data, ok := public.MQFW.FindOneByField("jy_pushproject", query, `{"s_followid":-1,"s_title":1,"s_projectcode":1,"s_projectname":1,"a_relationinfo":1,"a_visited":1}`)
+	if ok && data != nil && len(*data) > 0 {
+		if a_relationinfo := (*data)["a_relationinfo"]; a_relationinfo != nil {
+			relationinfo := a_relationinfo.([]interface{})
 			for x, _ := range relationinfo {
-				s_id, _ := relationinfo[x]["s_id"].(string)
-				relationinfo[x]["s_id"] = util.EncodeArticleId2ByCheck(s_id)
+				s_id, _ := relationinfo[x].(map[string]interface{})["s_id"].(string)
+				relationinfo[x].(map[string]interface{})["s_id"] = util.EncodeArticleId2ByCheck(s_id)
 				for y := 0; y < len(relationinfo)-x-1; y++ {
-					dt1 := util.Int64All(relationinfo[y]["l_publishtime"])
-					dt2 := util.Int64All(relationinfo[y+1]["l_publishtime"])
+					dt1 := util.Int64All(relationinfo[y].(map[string]interface{})["l_publishtime"])
+					dt2 := util.Int64All(relationinfo[y+1].(map[string]interface{})["l_publishtime"])
 					if dt1 > 0 && dt2 > 0 && dt1 < dt2 {
 						temp := relationinfo[y]
 						relationinfo[y] = relationinfo[y+1]
@@ -889,65 +892,15 @@ func (m *Follow) Notice(id, followId string) error {
 				}
 			}
 			if len(relationinfo) == 1 {
-				firstMap := relationinfo[0]
-				public.MQFW.Update("jy_pushproject", map[string]interface{}{
-					"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-					"openid": openid,
-					"date":   id,
-				}, map[string]interface{}{
-					"visit": "['" + fmt.Sprint(firstMap["s_id"]) + "']",
-				}, false, false)
+				firstMap, _ := relationinfo[0].(map[string]interface{})
+				go public.MQFW.UpdateById("jy_pushproject", id, map[string]interface{}{
+					"$addToSet": map[string]interface{}{"a_visited": firstMap["s_id"]},
+				})
 				return m.Redirect("/article/content/" + util.ObjToString(firstMap["s_id"]) + ".html")
 			}
-			dataFromDB["a_relationinfo"] = relationinfo
-		}
-		//更换key值
-		data := make(map[string]interface{})
-		for k, v := range dataFromDB {
-			if k == "openid" {
-				k = "s_openid"
-			} else if k == "date" {
-				k = "l_date"
-			} else if k == "title" {
-				k = "s_title"
-			} else if k == "pcode" {
-				k = "s_projectcode"
-			} else if k == "pname" {
-				k = "s_projectname"
-			} else if k == "fid" {
-				k = "s_followid"
-			} else if k == "visit" {
-				k = "a_visited"
-			}
-			data[k] = v
+			(*data)["a_relationinfo"] = relationinfo
 		}
 		m.T["data"] = data
-	} else {
-		data, ok := mongodb.FindById("follow_push_log", id, `{"s_followid":-1,"s_title":1,"s_projectcode":1,"s_projectname":1,"a_relationinfo":1,"a_visited":1}`)
-		if ok {
-			if a_relationinfo := (*data)["a_relationinfo"]; a_relationinfo != nil {
-				relationinfo := a_relationinfo.([]interface{})
-				for x, _ := range relationinfo {
-					s_id, _ := relationinfo[x].(map[string]interface{})["s_id"].(string)
-					relationinfo[x].(map[string]interface{})["s_id"] = util.EncodeArticleId2ByCheck(s_id)
-					for y := 0; y < len(relationinfo)-x-1; y++ {
-						dt1 := util.Int64All(relationinfo[y].(map[string]interface{})["l_publishtime"])
-						dt2 := util.Int64All(relationinfo[y+1].(map[string]interface{})["l_publishtime"])
-						if dt1 > 0 && dt2 > 0 && dt1 < dt2 {
-							temp := relationinfo[y]
-							relationinfo[y] = relationinfo[y+1]
-							relationinfo[y+1] = temp
-						}
-					}
-				}
-				if len(relationinfo) == 1 {
-					firstMap, _ := relationinfo[0].(map[string]interface{})
-					return m.Redirect("/article/content/" + util.ObjToString(firstMap["s_id"]) + ".html")
-				}
-				(*data)["a_relationinfo"] = relationinfo
-			}
-			m.T["data"] = data
-		}
 	}
 	m.T["id"] = util.EncodeArticleId2ByCheck(id)
 	m.T["openid"] = se.EncodeString(util.ObjToString(m.GetSession("s_m_openid")))
@@ -960,34 +913,20 @@ func (m *Follow) Notice(id, followId string) error {
 }
 func (m *Follow) Visited() error {
 	defer util.Catch()
-	id := m.GetString("id")
-	d_id := util.DecodeArticleId2ByCheck(id)[0]
-	if d_id != "" {
-		id = d_id
+	d_id := util.DecodeArticleId2ByCheck(m.GetString("id"))[0]
+	if d_id == "" {
+		return nil
 	}
 	reqType, _ := m.GetInteger("type")
 	sid := m.GetString("sid")
 	if reqType == 1 {
-		mongodb.Update("follow_project", `{"_id":"`+id+`"}`, map[string]interface{}{
+		mongodb.UpdateById("follow_project", d_id, map[string]interface{}{
 			"$addToSet": map[string]interface{}{"a_visited": sid},
-		}, false, false)
+		})
 	} else if reqType == 2 {
-		if util.Int64All(id) > 0 {
-			userid := util.ObjToString(m.GetSession("userId"))
-			date := util.Int64All(id) / 1000000000
-			_, openid := public.GetOldOpenId(userid)
-			mongodb.Update("jy_pushproject", map[string]interface{}{
-				"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-				"openid": openid,
-				"date":   id,
-			}, map[string]interface{}{
-				"visit": "['" + sid + "']",
-			}, false, false)
-		} else {
-			mongodb.Update("follow_push_log", `{"_id":"`+id+`"}`, map[string]interface{}{
-				"$addToSet": map[string]interface{}{"a_visited": sid},
-			}, false, false)
-		}
+		mongodb.UpdateById("jy_pushproject", d_id, map[string]interface{}{
+			"$addToSet": map[string]interface{}{"a_visited": sid},
+		})
 	}
 	return nil
 }

+ 45 - 76
src/jfw/modules/app/src/app/front/follow.go

@@ -1,8 +1,6 @@
 package front
 
 import (
-	"encoding/json"
-	"fmt"
 	"jfw/config"
 	public "jfw/public"
 	"log"
@@ -729,97 +727,68 @@ func (m *Follow) Notice(id, followId string) error {
 			"i_apppushunread": 0,
 		},
 	}, false, false)
-	date := util.Int64All(id)
-	date = date / 1000000000
-	_, openid := public.GetOldOpenId(util.ObjToString(m.GetSession("userId")))
-	res, _ := mongodb.FindOne("jy_pushproject", map[string]interface{}{
-		"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-		"openid": openid,
-		"date":   id,
-	})
-	dataFromDB := *res
-	if a_relationinfo := dataFromDB["info"]; a_relationinfo != nil {
-		relationinfo := []map[string]interface{}{}
-		json.Unmarshal([]byte(a_relationinfo.(string)), &relationinfo)
-		for x, _ := range relationinfo {
-			s_id, _ := relationinfo[x]["s_id"].(string)
-			relationinfo[x]["s_id"] = util.EncodeArticleId2ByCheck(s_id)
-			for y := 0; y < len(relationinfo)-x-1; y++ {
-				dt1 := util.Int64All(relationinfo[y]["l_publishtime"])
-				dt2 := util.Int64All(relationinfo[y+1]["l_publishtime"])
-				if dt1 > 0 && dt2 > 0 && dt1 < dt2 {
-					temp := relationinfo[y]
-					relationinfo[y] = relationinfo[y+1]
-					relationinfo[y+1] = temp
-				}
-			}
+	userid, _ := m.GetSession("userId").(string)
+	var query map[string]interface{}
+	if len(id) == 19 {
+		query = map[string]interface{}{
+			"date":   util.Int64All(id) / 1000000000,
+			"userid": userid,
+			"fid":    followId,
 		}
-		if len(relationinfo) == 1 {
-			firstMap := relationinfo[0]
-			mongodb.Update("jy_pushproject", map[string]interface{}{
-				"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-				"openid": openid,
-				"date":   id,
-			}, map[string]interface{}{
-				"visit": "['" + fmt.Sprint(firstMap["s_id"]) + "']",
-			}, false, false)
-			return m.Redirect("/jyapp/article/content/" + util.ObjToString(firstMap["s_id"]) + ".html")
+	} else {
+		query = map[string]interface{}{
+			"_id":    StringTOBsonId(id),
+			"userid": userid,
 		}
-		dataFromDB["a_relationinfo"] = relationinfo
 	}
-	//更换key值
-	data := make(map[string]interface{})
-	for k, v := range dataFromDB {
-		if k == "openid" {
-			k = "s_openid"
-		} else if k == "date" {
-			k = "l_date"
-		} else if k == "info" {
-			vv := []map[string]interface{}{}
-			json.Unmarshal([]byte(v.(string)), &vv)
-			v = vv
-			k = "a_relationinfo"
-		} else if k == "title" {
-			k = "s_title"
-		} else if k == "pcode" {
-			k = "s_projectcode"
-		} else if k == "pname" {
-			k = "s_projectname"
-		} else if k == "fid" {
-			k = "s_followid"
-		} else if k == "visit" {
-			k = "a_visited"
+	data, ok := public.MQFW.FindOneByField("jy_pushproject", query, `{"s_followid":-1,"s_title":1,"s_projectcode":1,"s_projectname":1,"a_relationinfo":1,"a_visited":1}`)
+	if ok && data != nil && len(*data) > 0 {
+		if a_relationinfo := (*data)["a_relationinfo"]; a_relationinfo != nil {
+			relationinfo := a_relationinfo.([]interface{})
+			for x, _ := range relationinfo {
+				s_id, _ := relationinfo[x].(map[string]interface{})["s_id"].(string)
+				relationinfo[x].(map[string]interface{})["s_id"] = util.EncodeArticleId2ByCheck(s_id)
+				for y := 0; y < len(relationinfo)-x-1; y++ {
+					dt1 := util.Int64All(relationinfo[y].(map[string]interface{})["l_publishtime"])
+					dt2 := util.Int64All(relationinfo[y+1].(map[string]interface{})["l_publishtime"])
+					if dt1 > 0 && dt2 > 0 && dt1 < dt2 {
+						temp := relationinfo[y]
+						relationinfo[y] = relationinfo[y+1]
+						relationinfo[y+1] = temp
+					}
+				}
+			}
+			if len(relationinfo) == 1 {
+				firstMap, _ := relationinfo[0].(map[string]interface{})
+				go public.MQFW.UpdateById("jy_pushproject", id, map[string]interface{}{
+					"$addToSet": map[string]interface{}{"a_visited": firstMap["s_id"]},
+				})
+				return m.Redirect("/jyapp/article/content/" + util.ObjToString(firstMap["s_id"]) + ".html")
+			}
+			(*data)["a_relationinfo"] = relationinfo
 		}
-		data[k] = v
+		m.T["data"] = data
 	}
-	m.T["data"] = data
 	m.T["id"] = util.EncodeArticleId2ByCheck(id)
 	m.T["followId"] = followId
 	return m.Render("/weixin/follow/notice.html", &m.T)
 }
 func (m *Follow) Visited() error {
 	defer util.Catch()
-	id := m.GetString("id")
-	d_id := util.DecodeArticleId2ByCheck(id)[0]
-	if d_id != "" {
-		id = d_id
+	d_id := util.DecodeArticleId2ByCheck(m.GetString("id"))[0]
+	if d_id == "" {
+		return nil
 	}
 	reqType, _ := m.GetInteger("type")
 	sid := m.GetString("sid")
 	if reqType == 1 {
-		mongodb.Update("follow_project", `{"_id":"`+id+`"}`, map[string]interface{}{
+		mongodb.UpdateById("follow_project", d_id, map[string]interface{}{
 			"$addToSet": map[string]interface{}{"a_visited": sid},
-		}, false, false)
+		})
 	} else if reqType == 2 {
-		date := util.Int64All(id) / 1000000000
-		_, openid := public.GetOldOpenId(util.ObjToString(m.GetSession("userId")))
-		mongodb.Update("jy_pushproject", map[string]interface{}{
-			"id":     util.FormatDateByInt64(&date, util.Date_Short_Layout),
-			"openid": openid,
-			"date":   id,
-		}, map[string]interface{}{
-			"visit": "['" + sid + "']",
-		}, false, false)
+		mongodb.UpdateById("jy_pushproject", d_id, map[string]interface{}{
+			"$addToSet": map[string]interface{}{"a_visited": sid},
+		})
 	}
 	return nil
 }

+ 3 - 10
src/jfw/modules/app/src/web/templates/weixin/follow/notice.html

@@ -53,7 +53,7 @@ $(function(){
 		var html = '<ul>';
 		for(var i=0;i<a_relationinfo.length;i++){
 			var title = a_relationinfo[i].s_title;
-			var id = ""
+			var id = a_relationinfo[i].s_eid;
 			if(projectname != "" && title.toLowerCase().indexOf(projectname.toLowerCase()) > -1){
 				title = keyWordHighlight(title,projectname,"<span class='keyword'>$1</span>");
 			}else if(projectcode != "" && title.toLowerCase().indexOf(projectcode.toLowerCase()) > -1){
@@ -65,13 +65,6 @@ $(function(){
 			}else{
 				tdf = '<i class="glyphicon bofangjilu" style="color:#7a7a7a;margin-right:5px;margin-left: 2px;"></i>'+tdf;
 			}
-			var isOld = 0;
-			if(a_relationinfo[i].s_eid != undefined){
-				id = a_relationinfo[i].s_eid
-			}else{
-				id = a_relationinfo[i].s_id
-				isOld = 1;
-			}
 			datatype="";
 			if(a_relationinfo[i].s_subtype != ""&&a_relationinfo[i].s_subtype != null){
 				datatype='<span class="type">'+a_relationinfo[i].s_subtype+'</span>'
@@ -106,7 +99,7 @@ $(function(){
 			}
 			html += '<li>'
 					+'<div class="index">'+(i+1)+'.</div>'
-					+'<a href="javascript:void(0)" class="title'+(isVisited(id)?' visited':'')+'" onclick="beforeRedirect(this,\''+id+'\',\''+a_relationinfo[i].s_url+'\','+isOld+')">'+title+'</a>'
+					+'<a href="javascript:void(0)" class="title'+(isVisited(id)?' visited':'')+'" onclick="beforeRedirect(this,\''+id+'\',\''+a_relationinfo[i].s_url+'\')">'+title+'</a>'
 					+'<div class="time">'+datatype+area+industry+tdf+'</div>'
 				+'</li>';
 		}
@@ -123,7 +116,7 @@ function isVisited(sid){
 	}
 	return false;
 }
-function beforeRedirect(obj,sid,link,isOld){
+function beforeRedirect(obj,sid,link){
 	if($(obj).hasClass("visited")){
 		newredirect("",link,sid);
 		return;

+ 5 - 20
src/jfw/modules/app/src/web/templates/weixin/follow/set.html

@@ -360,7 +360,7 @@ function isVisited(sid){
 	}
 	return false;
 }
-function beforeRedirect(obj,sid,link,isOld){
+function beforeRedirect(obj,sid,link){
 	if($(obj).hasClass("visited")){
 		newredirect("",link,sid);
 		return;
@@ -571,12 +571,7 @@ $(function(){
 			}else if(projectcode && projectcode != "" && mytitle != null && mytitle.toLowerCase().indexOf(projectcode.toLowerCase()) > -1){
 				mytitle = keyWordHighlight(mytitle,projectcode,"<span class='keyword'>$1</span>");
 			};
-			var isOld_1 = 0;
 			var myid = mySelf["s_eid"]
-			if (myid==undefined){
-				myid = mySelf["s_id"];
-				isOld_1 = 1;
-			}
 			var myhtml = '';
 			if(mytitle!=undefined){
 				myhtml = '<div class="jynoticelist">'
@@ -586,7 +581,7 @@ $(function(){
 						+'</div>'
 						+'<div class="timeaxis"><span></span></div>'
 						+'<div>'
-						+'<a href="javascript:void(0)" class="title'+(isVisited(mySelf["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+myid+'\',\''+mySelf["s_url"]+'\','+isOld_1+')">'+mytitle+'</a>'
+						+'<a href="javascript:void(0)" class="title'+(isVisited(mySelf["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+myid+'\',\''+mySelf["s_url"]+'\')">'+mytitle+'</a>'
 						+'</div>'
 						+'</div>';
 
@@ -619,12 +614,7 @@ $(function(){
 					title = keyWordHighlight(title,projectcode,"<span class='keyword'>$1</span>");
 				}
 				no = no + i + 1;
-				var isOld_3 = 0;
 				var relId = relationinfo[i]["s_eid"];
-				if(relId==undefined){
-					relId = relationinfo[i]["s_id"];
-					isOld_3 = 1;
-				}
 				var type = relationinfo[i].s_subtype;
 				if(typeof(type) == "undefined" || type == "" || type == null){
 					type = relationinfo[i].s_toptype;
@@ -653,7 +643,7 @@ $(function(){
 						+'</div>'
 						+'<div class="timeaxis"><span></span></div>'
 						+'<div>'
-						+'<a href="javascript:void(0)" class="title'+(isVisited(relationinfo[i]["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+relId+'\',\''+relationinfo[i]["s_url"]+'\','+isOld_3+')">'+title+'</a>'
+						+'<a href="javascript:void(0)" class="title'+(isVisited(relationinfo[i]["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+relId+'\',\''+relationinfo[i]["s_url"]+'\')">'+title+'</a>'
 						+'</div>'
 						+'</div>';
 				/*var province = relationinfo[i].s_province;
@@ -679,12 +669,7 @@ $(function(){
 			var listhtml = "";
 			if (relationinfo!=null&&relationinfo != ""){
 				for(var i =0;i<relationinfo.length;i++){
-					var isOld_2 = 0;
 					var infoid = relationinfo[i]["s_eid"]
-					if (infoid == undefined){
-						infoid = relationinfo[i]["s_id"];
-						isOld_2 = 1;
-					}
 					var no = i+1;
 					var title = "";
 					/*if (lastpushids != null&&lastpushids != ""){
@@ -731,7 +716,7 @@ $(function(){
 							+'</div>'
 							+'<div class="timeaxis"><span></span></div>'
 							+'<div>'
-							+'<a href="javascript:void(0)" class="title'+(isVisited(infoid)?' visited':'')+'" onclick="beforeRedirect(this,\''+infoid+'\',\''+relationinfo[i]["s_url"]+'\','+isOld_2+')">'+title+'</a>'
+							+'<a href="javascript:void(0)" class="title'+(isVisited(infoid)?' visited':'')+'" onclick="beforeRedirect(this,\''+infoid+'\',\''+relationinfo[i]["s_url"]+'\')">'+title+'</a>'
 							+'</div>'
 							+'</div>';
 					/*var province = relationinfo[i].s_province;
@@ -945,7 +930,7 @@ function isVisited(sid){
 	}
 	return false;
 }
-function beforeRedirect(obj,sid,link,isOld){
+function beforeRedirect(obj,sid,link){
 	if($(obj).hasClass("visited")){
 		newredirect("",link,sid);
 		return;

+ 0 - 9
src/jfw/modules/pushent/src/config.json

@@ -1,13 +1,4 @@
 {
-    "cassandra": {
-        "open": true,
-        "host": [
-            "192.168.3.207"
-        ],
-        "size": 5,
-        "cachesize": 5000,
-        "timeout": 20
-    },
     "durationMinutes": "30",
     "elasticPoolSize": 30,
     "elasticsearch": "http://192.168.3.128:9800",

+ 24 - 22
src/jfw/modules/pushent/src/followpush/push.go

@@ -2,13 +2,11 @@ package followpush
 
 import (
 	. "config"
-	"encoding/json"
 	"fmt"
 	"log"
+	. "qfw/mongodb"
 	"qfw/util"
 	"qfw/util/elastic"
-	"qfw/util/jy"
-	"qfw/util/mongodb"
 	"qfw/util/redis"
 	qrpc "qfw/util/rpc"
 	"rpccall"
@@ -39,7 +37,6 @@ var (
 	pushWaitGroup     = &sync.WaitGroup{}
 	searchWaitGroup   = &sync.WaitGroup{}
 	eachInfoWaitGroup = &sync.WaitGroup{}
-	Mongodb_ShowField = `{"_id":1,"title":1,"publishtime":1,"area":1,"type":1,"toptype":1,"subtype":1,"winner":1,"s_winner":1,"href":1,"infoformat":1,"s_subscopeclass":1}`
 )
 
 type PushUser struct {
@@ -95,7 +92,7 @@ func pushByEs(_id string, lastTime int64) bool {
 		}
 		users = append(users, &PushUser{
 			UserId:  userid,
-			Id:      util.BsonIdToSId(tmp["_id"]),
+			Id:      BsonIdToSId(tmp["_id"]),
 			EntName: entname,
 		})
 		tmp = make(map[string]interface{})
@@ -210,11 +207,24 @@ func InitBiddingCache(_id, lastid string, lastTime int64) (bool, *[]map[string]i
 	}
 	sess := tools.MQFW.GetMgoConn()
 	defer tools.MQFW.DestoryMongoConn(sess)
-	it := sess.DB("qfw").C("bidding").Find(c_query).Select(mongodb.ObjToOth(Mongodb_ShowField)).Sort("_id").Iter()
+	it := sess.DB("qfw").C("bidding").Find(c_query).Select(map[string]interface{}{
+		"_id":             1,
+		"title":           1,
+		"publishtime":     1,
+		"area":            1,
+		"type":            1,
+		"toptype":         1,
+		"subtype":         1,
+		"winner":          1,
+		"s_winner":        1,
+		"href":            1,
+		"infoformat":      1,
+		"s_subscopeclass": 1,
+	}).Sort("_id").Iter()
 	index := 0
 	for tmp := make(map[string]interface{}); it.Next(&tmp); {
 		index++
-		tmp["_id"] = util.BsonIdToSId(tmp["_id"])
+		tmp["_id"] = BsonIdToSId(tmp["_id"])
 		res = append(res, tmp)
 		if index%200 == 0 {
 			log.Println("当前加载数据:", index)
@@ -242,7 +252,7 @@ func push(fid, sname, userId string, res *[]map[string]interface{}) {
 		}
 		titleMap[util.ObjToString(info["title"])] = true
 		tmp := map[string]interface{}{}
-		sid := util.BsonIdToSId(info["_id"])
+		sid := BsonIdToSId(info["_id"])
 		tmp["s_id"] = sid
 		tmp["s_eid"] = util.EncodeArticleId2ByCheck(sid)
 		tmp["s_title"] = info["title"]
@@ -300,29 +310,21 @@ func push(fid, sname, userId string, res *[]map[string]interface{}) {
 			updateFlag = tools.MQFW.UpdateById(FOLLOW_COLLECTION, fid, updateMap)
 		}
 		if updateFlag {
-			userdata, userdata_ok := tools.MQFW.FindById("user", userId, `{"s_m_openid":1,"a_m_openid":1,"s_phone":1,"s_jpushid":1,"s_opushid":1,"s_appponetype":1,"i_applystatus":1,"i_ispush":1,"i_type":1,"a_mergeorder":1}`)
+			userdata, userdata_ok := tools.MQFW.FindById("user", userId, `{"s_m_openid":1,"s_jpushid":1,"s_opushid":1,"s_appponetype":1,"i_applystatus":1,"i_ispush":1}`)
 			if !userdata_ok || userdata == nil {
 				return
 			}
 			s_m_openid, _ := (*userdata)["s_m_openid"].(string)
-			a_m_openid, _ := (*userdata)["a_m_openid"].(string)
-			s_phone, _ := (*userdata)["s_phone"].(string)
 			jpushid, _ := (*userdata)["s_jpushid"].(string)
 			opushid, _ := (*userdata)["s_opushid"].(string)
 			phoneType, _ := (*userdata)["s_appponetype"].(string)
 			isPushWx := util.IntAllDef((*userdata)["i_ispush"], 1)
 			applystatus := util.IntAll((*userdata)["i_applystatus"])
-			usertype := util.IntAllDef((*userdata)["i_type"], 0)
-			a_mergeorder, _ := (*userdata)["a_mergeorder"].([]interface{})
-
 			//进入推送逻辑
-			md, _ := json.Marshal(pushArray)
 			isSaveOk := tools.MQFW.Save("jy_pushent", bson.M{
-				"id":      time.Now().Format(util.Date_Short_Layout),
-				"openid":  jy.GetOldOpenid(s_m_openid, a_m_openid, s_phone, a_mergeorder),
-				"date":    time.Now().UnixNano(),
-				"jpushid": jpushid,
-				"info":    string(md),
+				"userid":  userId,
+				"date":    time.Now(),
+				"info":    pushArray,
 				"entname": sname,
 				"fid":     fid,
 			})
@@ -332,7 +334,7 @@ func push(fid, sname, userId string, res *[]map[string]interface{}) {
 			}
 			pushnum := len(*pushArray)
 			//微信推送
-			if usertype == 0 && applystatus == 1 && isPushWx == 1 && s_m_openid != "" {
+			if applystatus == 1 && isPushWx == 1 && s_m_openid != "" {
 				lastTime := util.Int64All((*(*pushArray)[0])["l_publishtime"])
 				pushtt := fmt.Sprintf(WxTitle, sname)
 				Tip1 := ""
@@ -412,7 +414,7 @@ func push(fid, sname, userId string, res *[]map[string]interface{}) {
 					"userId":         userId,
 					"url":            "/jyapp/free/sess/" + se.EncodeString(userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",followEntDetail") + "__" + util.EncodeArticleId2ByCheck(fid),
 				})
-				log.Println("app推送", isPushOk, userId, s_m_openid, a_m_openid, s_phone, phoneType, jpushid, opushid, pushnum, sname)
+				log.Println("app推送", isPushOk, userId, s_m_openid, phoneType, jpushid, opushid, pushnum, sname)
 			}
 		}
 	}

+ 0 - 12
src/jfw/modules/pushent/src/main.go

@@ -9,7 +9,6 @@ import (
 	"qfw/util/elastic"
 	"qfw/util/redis"
 	"time"
-	ca "ucbsutil/cassandra"
 )
 
 func init() {
@@ -18,17 +17,6 @@ func init() {
 	followpush.MaxSearch = util.IntAllDef(config.Sysconfig["maxSearch"], 10000)
 	followpush.PushPool = make(chan bool, util.IntAllDef(config.Sysconfig["pushPool"], 30))
 	followpush.EachPool = make(chan bool, util.IntAllDef(config.Sysconfig["eachPool"], 30))
-	//初始化cassandra
-	cassandra := config.Sysconfig["cassandra"].(map[string]interface{})
-	ca.ViewCacheLen = true
-	ca.InitCassandra("jianyu",
-		util.IntAll(cassandra["size"]),
-		util.ObjArrToStringArr(cassandra["host"].([]interface{})),
-		map[string]int{
-			"cachesize": util.IntAll(cassandra["cachesize"]),
-			"timeout":   util.IntAll(cassandra["timeout"]),
-		},
-	)
 }
 
 func main() {

+ 1 - 1
src/jfw/modules/pushent/src/tools/mongo.go

@@ -2,8 +2,8 @@ package tools
 
 import (
 	. "config"
+	"qfw/mongodb"
 	"qfw/util"
-	"qfw/util/mongodb"
 )
 
 var MQFW mongodb.MongodbSim

+ 0 - 7
src/jfw/modules/pushproject/src/config.json

@@ -1,11 +1,4 @@
 {
-	"cassandra": {
-		"cachesize": 10000,
-		"host": ["192.168.3.207"],
-		"open": true,
-		"size": 5,
-		"timeout": 20
-	},
 	"durationMinutes": "3",
 	"elasticPoolSize": 30,
 	"elasticsearch": "http://192.168.3.128:9800",

+ 28 - 24
src/jfw/modules/pushproject/src/followpush/push.go

@@ -2,13 +2,11 @@ package followpush
 
 import (
 	. "config"
-	"encoding/json"
 	"fmt"
 	"log"
+	. "qfw/mongodb"
 	"qfw/util"
 	"qfw/util/elastic"
-	"qfw/util/jy"
-	"qfw/util/mongodb"
 	"qfw/util/redis"
 	qrpc "qfw/util/rpc"
 	"regexp"
@@ -41,7 +39,6 @@ var (
 	pushWaitGroup     = &sync.WaitGroup{}
 	searchWaitGroup   = &sync.WaitGroup{}
 	eachInfoWaitGroup = &sync.WaitGroup{}
-	Mongodb_ShowField = `{"_id":1,"title":1,"publishtime":1,"area":1,"type":1,"toptype":1,"subtype":1,"projectname":1,"projectcode":1,"href":1,"infoformat":1,"s_subscopeclass":1}`
 	reg1              = regexp.MustCompile(`\\+"`)
 	reg2              = regexp.MustCompile(`\\+`)
 )
@@ -224,11 +221,24 @@ func InitBiddingCache(_id, lastid string, lastTime int64) (bool, *[]map[string]i
 	}
 	sess := tools.MQFW.GetMgoConn()
 	defer tools.MQFW.DestoryMongoConn(sess)
-	it := sess.DB("qfw").C("bidding").Find(c_query).Select(mongodb.ObjToOth(Mongodb_ShowField)).Sort("_id").Iter()
+	it := sess.DB("qfw").C("bidding").Find(c_query).Select(map[string]interface{}{
+		"_id":             1,
+		"title":           1,
+		"publishtime":     1,
+		"area":            1,
+		"type":            1,
+		"toptype":         1,
+		"subtype":         1,
+		"projectname":     1,
+		"projectcode":     1,
+		"href":            1,
+		"infoformat":      1,
+		"s_subscopeclass": 1,
+	}).Sort("_id").Iter()
 	index := 0
 	for tmp := make(map[string]interface{}); it.Next(&tmp); {
 		index++
-		tmp["_id"] = util.BsonIdToSId(tmp["_id"])
+		tmp["_id"] = BsonIdToSId(tmp["_id"])
 		res = append(res, tmp)
 		if index%200 == 0 {
 			log.Println("当前加载数据:", index)
@@ -291,7 +301,7 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 			}
 			titleMap[util.ObjToString(info["title"])] = true
 			tmp := map[string]interface{}{}
-			sid := util.BsonIdToSId(info["_id"])
+			sid := BsonIdToSId(info["_id"])
 			if title != sid { //title在此处传的是关注信息id
 				tmp["s_id"] = sid
 				tmp["s_eid"] = util.EncodeArticleId2ByCheck(sid)
@@ -321,7 +331,7 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 				continue
 			}
 			titleMap[util.ObjToString(info["title"])] = true
-			sid := util.BsonIdToSId(info["_id"])
+			sid := BsonIdToSId(info["_id"])
 			if title == sid && !bpush {
 				continue
 			}
@@ -400,19 +410,16 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 				}
 			}
 			if updateFlag && bpush {
-				userdata, userdata_ok := tools.MQFW.FindById("user", userId, `{"s_m_openid":1,"a_m_openid":1,"s_phone":1,"s_jpushid":1,"s_opushid":1,"s_appponetype":1,"i_applystatus":1,"i_ispush":1,"i_type":1,"a_mergeorder":1}`)
+				userdata, userdata_ok := tools.MQFW.FindById("user", userId, `{"s_m_openid":1,"s_jpushid":1,"s_opushid":1,"s_appponetype":1,"i_applystatus":1,"i_ispush":1}`)
 				if !userdata_ok || userdata == nil {
 					return pushArray
 				}
 				s_m_openid, _ := (*userdata)["s_m_openid"].(string)
-				a_m_openid, _ := (*userdata)["a_m_openid"].(string)
-				s_phone, _ := (*userdata)["s_phone"].(string)
 				jpushid, _ := (*userdata)["s_jpushid"].(string)
 				opushid, _ := (*userdata)["s_opushid"].(string)
 				phoneType, _ := (*userdata)["s_appponetype"].(string)
 				isPushWx := util.IntAllDef((*userdata)["i_ispush"], 1)
 				applystatus := util.IntAll((*userdata)["i_applystatus"])
-				a_mergeorder, _ := (*userdata)["a_mergeorder"].([]interface{})
 				//进入推送逻辑
 				tit := sname
 				if tit == "" {
@@ -422,20 +429,17 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 					tit = scode
 				}
 				if tit != "" {
-					followid := util.BsonIdToSId(fid)
-					md, _ := json.Marshal(pushArray)
-					tmpid := fmt.Sprint(time.Now().UnixNano())
-					isSaveOk := tools.MQFW.Save("jy_pushproject", bson.M{
-						"id":     time.Now().Format(util.Date_Short_Layout),
-						"openid": jy.GetOldOpenid(s_m_openid, a_m_openid, s_phone, a_mergeorder),
-						"date":   tmpid,
-						"info":   string(md),
+					followid := BsonIdToSId(fid)
+					saveId := tools.MQFW.Save("jy_pushproject", bson.M{
+						"userid": userId,
+						"date":   time.Now().Unix(),
+						"info":   pushArray,
 						"title":  title,
 						"pcode":  scode,
 						"pname":  sname,
 						"fid":    followid,
 					})
-					if isSaveOk == "" {
+					if saveId == "" {
 						log.Println("保存到mongodb出错!", userId)
 						return pushArray
 					}
@@ -500,7 +504,7 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 							Service:     lastcreatetime,
 							Color:       WxColor,
 							DetailColor: WxDetailColor,
-							Url:         ViewDomain + "/front/sess/" + se.EncodeString(s_m_openid+",uid,"+strconv.Itoa(int(time.Now().Unix()))+",wxpushfollowlist") + "__" + tmpid + "__" + followid,
+							Url:         ViewDomain + "/front/sess/" + se.EncodeString(s_m_openid+",uid,"+strconv.Itoa(int(time.Now().Unix()))+",wxpushfollowlist") + "__" + saveId + "__" + followid,
 						}, userId)
 						log.Println("微信推送", isPushOk, userId, s_m_openid, pushnum, tit)
 					}
@@ -519,9 +523,9 @@ func push(fid interface{}, sname, scode, title, userId string, res *[]map[string
 							"descriptAppend": descriptAppend,
 							"type":           "project",
 							"userId":         userId,
-							"url":            "/jyapp/free/sess/" + se.EncodeString(userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",wxpushfollowlist") + "__" + tmpid + "__" + followid,
+							"url":            "/jyapp/free/sess/" + se.EncodeString(userId+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",wxpushfollowlist") + "__" + saveId + "__" + followid,
 						})
-						log.Println("app推送", userId, s_m_openid, a_m_openid, s_phone, phoneType, jpushid, opushid, isPushOk, pushnum, tit)
+						log.Println("app推送", userId, s_m_openid, phoneType, jpushid, opushid, isPushOk, pushnum, tit)
 					}
 				}
 			}

+ 0 - 12
src/jfw/modules/pushproject/src/main.go

@@ -14,7 +14,6 @@ import (
 	"rpcpush"
 	"time"
 	"timetask"
-	ca "ucbsutil/cassandra"
 )
 
 func init() {
@@ -23,17 +22,6 @@ func init() {
 	followpush.MaxSearch = util.IntAllDef(config.Sysconfig["maxSearch"], 10000)
 	followpush.PushPool = make(chan bool, util.IntAllDef(config.Sysconfig["pushPool"], 30))
 	followpush.EachPool = make(chan bool, util.IntAllDef(config.Sysconfig["eachPool"], 30))
-	//初始化cassandra
-	cassandra := config.Sysconfig["cassandra"].(map[string]interface{})
-	ca.ViewCacheLen = true
-	ca.InitCassandra("jianyu",
-		util.IntAll(cassandra["size"]),
-		util.ObjArrToStringArr(cassandra["host"].([]interface{})),
-		map[string]int{
-			"cachesize": util.IntAll(cassandra["cachesize"]),
-			"timeout":   util.IntAll(cassandra["timeout"]),
-		},
-	)
 }
 
 func main() {

+ 1 - 1
src/jfw/modules/pushproject/src/tools/mongo.go

@@ -2,8 +2,8 @@ package tools
 
 import (
 	. "config"
+	"qfw/mongodb"
 	"qfw/util"
-	"qfw/util/mongodb"
 )
 
 var MQFW mongodb.MongodbSim

+ 2 - 1
src/jfw/modules/subscribepay/src/entity/jyCourseOnlineStruct.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"fmt"
 	"pay"
+	. "qfw/mongodb"
 	qutil "qfw/util"
 	frpc "qfw/util/rpc"
 	"time"
@@ -57,7 +58,7 @@ func (this *jyCourseOnline) PayCallBack(param *CallBackParam) bool {
 			if update && courseId != "" {
 				//更新课程销量
 				util.MQFW.Update("jy_course", &map[string]interface{}{
-					"_id": qutil.StringTOBsonId(courseId),
+					"_id": StringTOBsonId(courseId),
 				}, &map[string]interface{}{
 					"$inc": bson.M{"i_tradeRate": 1},
 				}, false, false)

+ 62 - 84
src/jfw/modules/subscribepay/src/report/report.go

@@ -1,10 +1,8 @@
 package report
 
 import (
-	"encoding/json"
 	"fmt"
 	qutil "qfw/util"
-	"qfw/util/jy"
 	"sort"
 	"strings"
 	"time"
@@ -157,75 +155,68 @@ func (r *Report) Detail() {
 	subscribe["area"] = map[string][]string{}
 	subscribe["industry"] = []string{}
 	result["subscribe"] = subscribe
-	userdata, ok := util.MQFW.FindById("user", userId, `{"s_m_openid":1,"a_m_openid":1,"s_phone":1,"a_mergeorder":1}`)
-	if ok {
-		_, dateSection := getDateSection(start, end)
-		s_m_openid, _ := (*userdata)["s_m_openid"].(string)
-		a_m_openid, _ := (*userdata)["a_m_openid"].(string)
-		s_phone, _ := (*userdata)["s_phone"].(string)
-		a_mergeorder, _ := (*userdata)["a_mergeorder"].([]interface{})
-		openid := jy.GetOldOpenid(s_m_openid, a_m_openid, s_phone, a_mergeorder)
-		//关注项目
-		res, _ := util.MQFW.Find("jy_pushproject", map[string]interface{}{
-			"id": map[string]interface{}{
-				"$in": dateSection,
-			},
-			"openid": openid,
-		}, nil, `{"pcode":1,"pname":1,"info":1}`, false, -1, 100)
-		follow_project := *res
-		if follow_project != nil {
-			indexMap := map[string]int{}
-			projects := []map[string]interface{}{}
-			for _, v := range follow_project {
-				projectname := qutil.ObjToString(v["pname"])
-				if projectname == "" {
-					projectname = qutil.ObjToString(v["pcode"])
-				}
-				index, ok := indexMap[projectname]
-				//合并
-				if ok {
-					infos, _ := projects[index]["infos"].([]map[string]interface{})
-					infos = append(infos, formatInfo(qutil.ObjToString(v["info"]))...)
-					projects[index]["infos"] = infos
-				} else {
-					projects = append(projects, map[string]interface{}{
-						"projectname": projectname,
-						"infos":       formatInfo(qutil.ObjToString(v["info"])),
-					})
-					indexMap[projectname] = len(projects) - 1
-				}
+	//关注项目
+	res, _ := util.MQFW.Find("jy_pushproject", map[string]interface{}{
+		"date": map[string]interface{}{
+			"$gte": start,
+			"$lt":  end + 86400,
+		},
+		"userid": userId,
+	}, nil, `{"pcode":1,"pname":1,"info":1}`, false, -1, 100)
+	follow_project := *res
+	if follow_project != nil {
+		indexMap := map[string]int{}
+		projects := []map[string]interface{}{}
+		for _, v := range follow_project {
+			projectname := qutil.ObjToString(v["pname"])
+			if projectname == "" {
+				projectname = qutil.ObjToString(v["pcode"])
+			}
+			index, ok := indexMap[projectname]
+			//合并
+			if ok {
+				infos, _ := projects[index]["infos"].([]map[string]interface{})
+				infos = append(infos, formatInfo(v["info"])...)
+				projects[index]["infos"] = infos
+			} else {
+				projects = append(projects, map[string]interface{}{
+					"projectname": projectname,
+					"infos":       formatInfo(v["info"]),
+				})
+				indexMap[projectname] = len(projects) - 1
 			}
-			result["projects"] = projects
 		}
-		//关注企业
-		res_ent, _ := util.MQFW.Find("jy_pushent", map[string]interface{}{
-			"id": map[string]interface{}{
-				"$in": dateSection,
-			},
-			"openid": openid,
-		}, nil, `{"entname":1,"info":1}`, false, -1, 100)
-		follow_ent := *res_ent
-		if follow_ent != nil {
-			indexMap := map[string]int{}
-			ents := []map[string]interface{}{}
-			for _, v := range follow_ent {
-				entname := qutil.ObjToString(v["entname"])
-				index, ok := indexMap[entname]
-				//合并
-				if ok {
-					infos, _ := ents[index]["infos"].([]map[string]interface{})
-					infos = append(infos, formatInfo(qutil.ObjToString(v["info"]))...)
-					ents[index]["infos"] = infos
-				} else {
-					ents = append(ents, map[string]interface{}{
-						"entname": entname,
-						"infos":   formatInfo(qutil.ObjToString(v["info"])),
-					})
-					indexMap[entname] = len(ents) - 1
-				}
+		result["projects"] = projects
+	}
+	//关注企业
+	res_ent, _ := util.MQFW.Find("jy_pushent", map[string]interface{}{
+		"date": map[string]interface{}{
+			"$gte": start,
+			"$lt":  end + 86400,
+		},
+		"userid": userId,
+	}, nil, `{"entname":1,"info":1}`, false, -1, 100)
+	follow_ent := *res_ent
+	if follow_ent != nil {
+		indexMap := map[string]int{}
+		ents := []map[string]interface{}{}
+		for _, v := range follow_ent {
+			entname := qutil.ObjToString(v["entname"])
+			index, ok := indexMap[entname]
+			//合并
+			if ok {
+				infos, _ := ents[index]["infos"].([]map[string]interface{})
+				infos = append(infos, formatInfo(v["info"])...)
+				ents[index]["infos"] = infos
+			} else {
+				ents = append(ents, map[string]interface{}{
+					"entname": entname,
+					"infos":   formatInfo(v["info"]),
+				})
+				indexMap[entname] = len(ents) - 1
 			}
-			result["ents"] = ents
 		}
+		result["ents"] = ents
 	}
 	go util.MQFW.Update("pushspace_statistic", map[string]interface{}{
 		"userid":    userId,
@@ -326,11 +317,11 @@ func formatCity(area, city map[string]interface{}) AreaCitySorts {
 }
 
 //
-func formatInfo(text string) []map[string]interface{} {
-	var relationinfo []map[string]interface{}
-	json.Unmarshal([]byte(text), &relationinfo)
+func formatInfo(ri interface{}) []map[string]interface{} {
+	relationinfo, _ := ri.([]interface{})
 	infos := []map[string]interface{}{}
-	for _, v := range relationinfo {
+	for _, vv := range relationinfo {
+		v, _ := vv.(map[string]interface{})
 		infotype, _ := v["s_subtype"].(string)
 		if infotype == "" {
 			infotype, _ = v["s_toptype"].(string)
@@ -354,19 +345,6 @@ func formatInfo(text string) []map[string]interface{} {
 	return infos
 }
 
-func getDateSection(start, end int64) (string, []string) {
-	array := []string{}
-	s := time.Unix(start, 0)
-	e := time.Unix(end, 0)
-	for {
-		if s.After(e) {
-			break
-		}
-		array = append(array, qutil.FormatDate(&s, qutil.Date_Short_Layout))
-		s = s.AddDate(0, 0, 1)
-	}
-	return `'` + strings.Join(array, `','`) + `'`, array
-}
 func (r *Report) Tip() {
 	userId, _ := r.GetSession("userId").(string)
 	unread := util.MQFW.Count("pushspace_statistic", map[string]interface{}{

+ 3 - 2
src/jfw/modules/subscribepay/src/service/courseAction.go

@@ -8,6 +8,7 @@ import (
 	"errors"
 	"log"
 	"pay"
+	. "qfw/mongodb"
 	qutil "qfw/util"
 	"regexp"
 	"strconv"
@@ -119,7 +120,7 @@ func (this *CourseAction) CourseList() {
 			v["l_starttime"] = time.Unix(qutil.Int64All(v["l_starttime"]), 0).Format("2006-01-02 15:04")
 			v["l_endtime"] = time.Unix(qutil.Int64All(v["l_endtime"]), 0).Format(qutil.Date_Short_Layout)
 			v["l_publishtime"] = time.Unix(qutil.Int64All(v["l_publishtime"]), 0).Format(qutil.Date_Short_Layout)
-			v["_id"] = qutil.EncodeArticleId2ByCheck(qutil.BsonIdToSId(v["_id"]))
+			v["_id"] = qutil.EncodeArticleId2ByCheck(BsonIdToSId(v["_id"]))
 		}
 		return &entity.FuncResult{true, nil, map[string]interface{}{
 			"list":      rData, //数据
@@ -166,7 +167,7 @@ func (this *CourseAction) CourseContent() {
 				v["l_starttime"] = time.Unix(qutil.Int64All(v["l_starttime"]), 0).Format(qutil.Date_Short_Layout)
 				v["l_endtime"] = time.Unix(qutil.Int64All(v["l_endtime"]), 0).Format(qutil.Date_Short_Layout)
 				v["l_publishtime"] = time.Unix(qutil.Int64All(v["l_publishtime"]), 0).Format(qutil.Date_Short_Layout)
-				v["_id"] = qutil.EncodeArticleId2ByCheck(qutil.BsonIdToSId(v["_id"]))
+				v["_id"] = qutil.EncodeArticleId2ByCheck(BsonIdToSId(v["_id"]))
 			}
 			resultMap["aboutList"] = aboutList
 		}

+ 4 - 3
src/jfw/modules/subscribepay/src/service/userMergeAction.go

@@ -2,6 +2,7 @@ package service
 
 import (
 	"log"
+	. "qfw/mongodb"
 	qutil "qfw/util"
 	"qfw/util/jy"
 	"strings"
@@ -55,7 +56,7 @@ func (this *UserMerge) CanMerge() {
 			rData, _ := util.MQFW.FindOneByField("user", bson.M{"i_appid": 2, "s_phone": s_m_phone, "s_m_phone": bson.M{"$ne": s_m_phone}}, `{"_id":1,"i_vip_status":1}`)
 			if rData != nil && len(*rData) > 0 { //微信端合并 app端
 				thisVip := qutil.IntAll((*rData)["i_vip_status"]) > 0
-				r.Data["token"] = mergeEncry.EncodeString(userId + "&&" + qutil.BsonIdToSId((*rData)["_id"]))
+				r.Data["token"] = mergeEncry.EncodeString(userId + "&&" + BsonIdToSId((*rData)["_id"]))
 				r.Data["phone"] = s_m_phone
 				r.Data["nickname"] = (*res)["s_nickname"]
 				r.Data["vip"] = []bool{nowVip, thisVip}
@@ -64,7 +65,7 @@ func (this *UserMerge) CanMerge() {
 			rData, _ := util.MQFW.FindOneByField("user", bson.M{"i_appid": 2, "s_m_phone": s_phone, "s_phone": bson.M{"$ne": s_phone}}, `{"_id":1,"s_nickname":1,"i_vip_status":1}`)
 			if rData != nil && len(*rData) > 0 { //app端合并 微信端
 				thisVip := qutil.IntAll((*rData)["i_vip_status"]) > 0
-				r.Data["token"] = mergeEncry.EncodeString(qutil.BsonIdToSId((*rData)["_id"]) + "&&" + userId)
+				r.Data["token"] = mergeEncry.EncodeString(BsonIdToSId((*rData)["_id"]) + "&&" + userId)
 				r.Data["phone"] = s_phone
 				r.Data["nickname"] = (*rData)["s_nickname"]
 				r.Data["vip"] = []bool{thisVip, nowVip}
@@ -149,7 +150,7 @@ func (this *UserMerge) MergeSubmit() {
 			r.Message = "操作失败"
 			return
 		}
-		log.Printf("[%s,%s]账户合并 合并结果 %+v\n", qutil.BsonIdToSId((*finalUser)["_id"]), qutil.BsonIdToSId((*otherUser)["_id"]), finalUser)
+		log.Printf("[%s,%s]账户合并 合并结果 %+v\n", BsonIdToSId((*finalUser)["_id"]), BsonIdToSId((*otherUser)["_id"]), finalUser)
 		r.Message = "success"
 		go jy.MoveUser(util.MQFW, otherUser)
 		isWxclient := jy.WxClientReg.MatchString(strings.ToLower(this.Header("User-Agent")))

+ 5 - 4
src/jfw/modules/subscribepay/src/timetask/timetask.go

@@ -5,6 +5,7 @@ import (
 	"encoding/hex"
 	"fmt"
 	"log"
+	. "qfw/mongodb"
 	qutil "qfw/util"
 	qrpc "qfw/util/rpc"
 	"strconv"
@@ -39,7 +40,7 @@ func courseTask() {
 			},
 		}).Select(map[string]interface{}{"i_status": 1, "l_endtime": 1}).Iter()
 		for m := make(map[string]interface{}); it.Next(&m); {
-			_id := qutil.BsonIdToSId(m["_id"])
+			_id := BsonIdToSId(m["_id"])
 			util.MQFW.UpdateById("jy_course", _id, map[string]interface{}{
 				"$set": map[string]interface{}{
 					"i_status": -1,
@@ -81,7 +82,7 @@ func syncVipUpgrade() {
 			},
 		}).Select(map[string]interface{}{"s_userid": 1, "o_area": 1, "a_buyerclass": 1, "o_buyset": 1}).Iter()
 		for m := make(map[string]interface{}); it.Next(&m); {
-			_id := qutil.BsonIdToSId(m["_id"])
+			_id := BsonIdToSId(m["_id"])
 			s_userid := qutil.ObjToString(m["s_userid"])
 			if s_userid == "" {
 				log.Println("定时任务,同步vip升级数据有问题,userid是空", _id)
@@ -151,7 +152,7 @@ func checkIsExpire() {
 			},
 		}).Select(map[string]interface{}{"i_vip_status": 1, "l_vip_endtime": 1, "i_vip_expire_tip": 1}).Iter()
 		for m := make(map[string]interface{}); it.Next(&m); {
-			_id := qutil.BsonIdToSId(m["_id"])
+			_id := BsonIdToSId(m["_id"])
 			l_vip_endtime := qutil.Int64All(m["l_vip_endtime"])
 			i_vip_status := qutil.IntAll(m["i_vip_status"])
 			i_vip_expire_tip := qutil.IntAll(m["i_vip_expire_tip"])
@@ -221,7 +222,7 @@ func expireRemind() {
 			"i_vip_expire_tip": 1,
 		}).Iter()
 		for m := make(map[string]interface{}); it.Next(&m); {
-			_id := qutil.BsonIdToSId(m["_id"])
+			_id := BsonIdToSId(m["_id"])
 			log.Println("发送消息", _id)
 			i_vip_status := qutil.IntAll(m["i_vip_status"])
 			i_vip_expire_tip := qutil.IntAll(m["i_vip_expire_tip"])

+ 0 - 12
src/jfw/modules/subscribepay/src/util/db.go

@@ -7,26 +7,14 @@ import (
 	"qfw/util/elastic"
 	"qfw/util/mysql"
 	"qfw/util/redis"
-	ca "ucbsutil/cassandra"
 )
 
 var MQFW mg.MongodbSim
 var MQFWENT mg.MongodbSim
 var Mysql *mysql.Mysql
 var PushMysql *mysql.Mysql
-var Ca_Push = &ca.Cassandra{}
 
 func init() {
-	//初始化cassandra
-	ca_push := Config.Cassandra["push"].(map[string]interface{})
-	Ca_Push.ViewCacheLen = true
-	Ca_Push.InitCassandra("jianyu",
-		qutil.IntAll(ca_push["size"]),
-		qutil.ObjArrToStringArr(ca_push["host"].([]interface{})),
-		map[string]int{
-			"port": qutil.IntAll(ca_push["port"]),
-		},
-	)
 	//初始化elastic
 	elastic.InitElasticSize(
 		Config.Elasticsearch,

+ 3 - 3
src/jfw/modules/subscribepay/src/util/public.go

@@ -139,13 +139,13 @@ func HttpEs(ques, analyzer, esAddress string) (res string) {
 		var resmap map[string]interface{}
 		json.Unmarshal(result, &resmap)
 		if resmap != nil {
-			tokens := util.ObjArrToMapArr(resmap["tokens"].([]interface{}))
+			tokens := qutil.ObjArrToMapArr(resmap["tokens"].([]interface{}))
 			for k, v := range tokens {
-				if FilteKey(util.ObjToString(v["token"])) != "" {
+				if FilteKey(qutil.ObjToString(v["token"])) != "" {
 					if k > 0 {
 						res += "+"
 					}
-					res += util.ObjToString(v["token"])
+					res += qutil.ObjToString(v["token"])
 				}
 			}
 		}

+ 3 - 10
src/web/templates/weixin/follow/notice.html

@@ -66,7 +66,7 @@ $(function(){
 		var html = '<ul>';
 		for(var i=0;i<a_relationinfo.length;i++){
 			var title = a_relationinfo[i].s_title;
-			var id = ""
+			var id = a_relationinfo[i].s_eid;
 			if(projectname != "" && title.toLowerCase().indexOf(projectname.toLowerCase()) > -1){
 				title = keyWordHighlight(title,projectname,"<span class='keyword'>$1</span>");
 			}else if(projectcode != "" && title.toLowerCase().indexOf(projectcode.toLowerCase()) > -1){
@@ -78,13 +78,6 @@ $(function(){
 			}else{
 				tdf = '<i class="glyphicon bofangjilu" style="color:#7a7a7a;margin-right:5px;margin-left: 2px;"></i>'+tdf;
 			}
-			var isOld = 0;
-			if(a_relationinfo[i].s_eid != undefined){
-				id = a_relationinfo[i].s_eid
-			}else{
-				id = a_relationinfo[i].s_id
-				isOld = 1;
-			}
 			datatype="";
 			if(a_relationinfo[i].s_subtype != ""&&a_relationinfo[i].s_subtype != null){
 				datatype='<span class="type">'+a_relationinfo[i].s_subtype+'</span>'
@@ -119,7 +112,7 @@ $(function(){
 			}
 			html += '<li>'
 					+'<div class="index">'+(i+1)+'.</div>'
-					+'<a href="javascript:void(0)" class="title'+(isVisited(id)?' visited':'')+'" onclick="beforeRedirect(this,\''+id+'\',\''+a_relationinfo[i].s_url+'\','+isOld+')">'+title+'</a>'
+					+'<a href="javascript:void(0)" class="title'+(isVisited(id)?' visited':'')+'" onclick="beforeRedirect(this,\''+id+'\',\''+a_relationinfo[i].s_url+'\')">'+title+'</a>'
 					+'<div class="time">'+datatype+area+industry+tdf+'</div>'
 				+'</li>';
 		}
@@ -136,7 +129,7 @@ function isVisited(sid){
 	}
 	return false;
 }
-function beforeRedirect(obj,sid,link,isOld){
+function beforeRedirect(obj,sid,link){
 	if($(obj).hasClass("visited")){
 		newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
 		return;

+ 7 - 34
src/web/templates/weixin/follow/set.html

@@ -478,12 +478,7 @@ $(function(){
 			}else if(projectcode && projectcode != "" && mytitle != null && mytitle.toLowerCase().indexOf(projectcode.toLowerCase()) > -1){
 				mytitle = keyWordHighlight(mytitle,projectcode,"<span class='keyword'>$1</span>");
 			};
-			var isOld_1 = 0;
 			var myid = mySelf["s_eid"]
-			if (myid==undefined){
-				myid = mySelf["s_id"];
-				isOld_1 = 1;
-			}
 			var myhtml = '';
 			if(mytitle!=undefined){
 				myhtml = '<div class="jynoticelist">'
@@ -493,7 +488,7 @@ $(function(){
 							+'</div>'
 							+'<div class="timeaxis"><span></span></div>'
 							+'<div>'
-								+'<a href="javascript:void(0)" class="title'+(isVisited(mySelf["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+myid+'\',\''+mySelf["s_url"]+'\','+isOld_1+')">'+mytitle+'</a>'
+								+'<a href="javascript:void(0)" class="title'+(isVisited(mySelf["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+myid+'\',\''+mySelf["s_url"]+'\')">'+mytitle+'</a>'
 							+'</div>'
 						+'</div>';
 
@@ -526,12 +521,7 @@ $(function(){
 					title = keyWordHighlight(title,projectcode,"<span class='keyword'>$1</span>");
 				}
 				no = no + i + 1;
-				var isOld_3 = 0;
 				var relId = relationinfo[i]["s_eid"];
-				if(relId==undefined){
-					relId = relationinfo[i]["s_id"];
-					isOld_3 = 1;
-				}
 				var type = relationinfo[i].s_subtype;
 				if(typeof(type) == "undefined" || type == "" || type == null){
 					type = relationinfo[i].s_toptype;
@@ -560,7 +550,7 @@ $(function(){
 								+'</div>'
 								+'<div class="timeaxis"><span></span></div>'
 								+'<div>'
-									+'<a href="javascript:void(0)" class="title'+(isVisited(relationinfo[i]["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+relId+'\',\''+relationinfo[i]["s_url"]+'\','+isOld_3+')">'+title+'</a>'
+									+'<a href="javascript:void(0)" class="title'+(isVisited(relationinfo[i]["s_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+relId+'\',\''+relationinfo[i]["s_url"]+'\')">'+title+'</a>'
 								+'</div>'
 							+'</div>';
 				/*var province = relationinfo[i].s_province;
@@ -586,12 +576,7 @@ $(function(){
 			var listhtml = "";
 			if (relationinfo!=null&&relationinfo != ""){
 				for(var i =0;i<relationinfo.length;i++){
-					var isOld_2 = 0;
 					var infoid = relationinfo[i]["s_eid"]
-					if (infoid == undefined){
-						infoid = relationinfo[i]["s_id"];
-						isOld_2 = 1;
-					}
 					var no = i+1;
 					var title = "";
 					/*if (lastpushids != null&&lastpushids != ""){
@@ -638,7 +623,7 @@ $(function(){
 									+'</div>'
 									+'<div class="timeaxis"><span></span></div>'
 									+'<div>'
-										+'<a href="javascript:void(0)" class="title'+(isVisited(infoid)?' visited':'')+'" onclick="beforeRedirect(this,\''+infoid+'\',\''+relationinfo[i]["s_url"]+'\','+isOld_2+')">'+title+'</a>'
+										+'<a href="javascript:void(0)" class="title'+(isVisited(infoid)?' visited':'')+'" onclick="beforeRedirect(this,\''+infoid+'\',\''+relationinfo[i]["s_url"]+'\')">'+title+'</a>'
 									+'</div>'
 								+'</div>';
 					/*var province = relationinfo[i].s_province;
@@ -852,30 +837,18 @@ function isVisited(sid){
 	}
 	return false;
 }
-function beforeRedirect(obj,sid,link,isOld){
+function beforeRedirect(obj,sid,link){
 	if($(obj).hasClass("visited")){
-		if(isOld){
-			myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-		}else{
-			newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-		}
+    newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
 		return;
 	}
 	$(obj).addClass("visited");
 	if(typeof(sid) != "undefined" && sid != null && sid != "" && _id != ""){
 		$.post("/follow/notice/visited",{id:_id,sid:sid,type:1},function(r){
-			if(isOld){
-				myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-			}else{
-				newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-			}
+			newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
 		});
 	}else{
-		if(isOld){
-			myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-		}else{
-			newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
-		}
+		newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
 	}
 }
 function afterRemindtimeSelect(date){