wangchuanjin 5 месяцев назад
Родитель
Сommit
78ffbf11e0

+ 10 - 14
pushmember/match/db.json

@@ -1,32 +1,28 @@
 {
 {
 	"mongodb": {
 	"mongodb": {
 		"main": {
 		"main": {
-			"address": "192.168.3.149:27180",
+			"address": "172.20.45.129:27002",
 	 		"size": 5,
 	 		"size": 5,
 	 		"dbName": "qfw",
 	 		"dbName": "qfw",
 			"replSet": ""
 			"replSet": ""
 		},
 		},
 		"bidding": {
 		"bidding": {
-			"address": "192.168.3.149:27102",
+			"address": "172.20.45.129:27002",
 	 		"size": 5,
 	 		"size": 5,
-	 		"dbName": "qfw_data",
+	 		"dbName": "qfw",
 			"replSet": "",
 			"replSet": "",
-			"collection": "bidding",
-			"userName": "jyDevGroup",
-			"password": "jy@DevGroup"
+			"collection": "bidding"
 		},
 		},
 		"log": {
 		"log": {
-			"address": "192.168.3.149:27190",
+			"address": "172.20.45.129:27002",
 	 		"size": 5,
 	 		"size": 5,
 	 		"dbName": "push",
 	 		"dbName": "push",
-			"replSet": "",
-			"userName": "admin",
-			"password": "123456"
+			"replSet": ""
 		}
 		}
 	},
 	},
 	"elasticsearch": {
 	"elasticsearch": {
 		"main": {
 		"main": {
-			"address": "http://192.168.3.149:9200",
+			"address": "http://172.20.45.129:9206",
 	    	"size": 5,
 	    	"size": 5,
 			"version": "v7",
 			"version": "v7",
 			"userName":"",
 			"userName":"",
@@ -35,13 +31,13 @@
     },
     },
     "redis": {
     "redis": {
     	"main": {
     	"main": {
-			"address": "pushcache_1=192.168.3.128:5000,pushcache_2_a=192.168.3.128:5001,pushcache_2_b=192.168.3.128:5002"
+			"address": "pushcache_1=172.20.45.129:5000,pushcache_2_a=172.20.45.129:5001,pushcache_2_b=172.20.45.129:5002"
 		}
 		}
     },
     },
     "mysql": {
     "mysql": {
     	"main": {
     	"main": {
 	        "dbName": "jianyu",
 	        "dbName": "jianyu",
-	        "address": "192.168.3.217:4000",
+	        "address": "172.20.45.129:4000",
 	        "userName": "root",
 	        "userName": "root",
 	        "passWord": "=PDT49#80Z!RVv52_z",
 	        "passWord": "=PDT49#80Z!RVv52_z",
 			"maxOpenConns": 5,
 			"maxOpenConns": 5,
@@ -49,7 +45,7 @@
 	    },
 	    },
 	    "push": {
 	    "push": {
 	        "dbName": "push",
 	        "dbName": "push",
-	        "address": "192.168.3.217:4000",
+	        "address": "172.20.45.129:4000",
 	        "userName": "root",
 	        "userName": "root",
 	        "passWord": "=PDT49#80Z!RVv52_z",
 	        "passWord": "=PDT49#80Z!RVv52_z",
 			"maxOpenConns": 5,
 			"maxOpenConns": 5,

+ 1 - 1
pushsubscribe/go.mod

@@ -4,7 +4,7 @@ go 1.18
 
 
 require (
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b
 	app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b
-	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250221011523-c843a4b8a1b1
+	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250303082531-520112dd2b3d
 	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
 	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
 )
 )
 
 

+ 2 - 2
pushsubscribe/go.sum

@@ -2,8 +2,8 @@ app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d h1:WPsYuuptAd3UEgN+j
 app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d/go.mod h1:91/lSD/hS+ckMVP3WdidRzDhC60lLMdyce9QHy0cSMA=
 app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d/go.mod h1:91/lSD/hS+ckMVP3WdidRzDhC60lLMdyce9QHy0cSMA=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b h1:IjAmZuaG4voMYPuIh+phJYI4fwMM/cLfZ5LEz7wrEos=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b h1:IjAmZuaG4voMYPuIh+phJYI4fwMM/cLfZ5LEz7wrEos=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
 app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250221011523-c843a4b8a1b1 h1:JRPRUWtJo08IVg8FrOSR/SFLPdIK42Onpl12thiRKDY=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250221011523-c843a4b8a1b1/go.mod h1:Q+r+DRzSIHAsYBA7i39O2UrZB6ZhRtfCjVpN7n1p+Fg=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250303082531-520112dd2b3d h1:637puZhy1jMhlsOzK286aHpcRqajHb1pjnVIjluKOkw=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20250303082531-520112dd2b3d/go.mod h1:Q+r+DRzSIHAsYBA7i39O2UrZB6ZhRtfCjVpN7n1p+Fg=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0 h1:60fFbyRAnn5vrnsPk99pVB2aJVin6nDIkNnmekdpFso=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0 h1:60fFbyRAnn5vrnsPk99pVB2aJVin6nDIkNnmekdpFso=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.0/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.17 h1:QHjAuAYPJjml8e19ytWxgKAboo9+f6aQUH/s1UUEfrA=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.17 h1:QHjAuAYPJjml8e19ytWxgKAboo9+f6aQUH/s1UUEfrA=

+ 2 - 1
pushsubscribe/push/config.json

@@ -83,7 +83,8 @@
 		"retain":100000,
 		"retain":100000,
 		"wx":{
 		"wx":{
 			"id":"ahEQafQBYZX8cVYXko-XaU1QkJ8MHiR-O9UNv_BRMzk",
 			"id":"ahEQafQBYZX8cVYXko-XaU1QkJ8MHiR-O9UNv_BRMzk",
-			"url":"/jy_mobile/tabbar/recommendedlist"
+			"url":"/jy_mobile/tabbar/recommendedlist",
+			"unbindUrl":"/article/content/%s.html?wxpush=bind&pushdate=%d"
 		},
 		},
 		"app":{
 		"app":{
 			"title":"剑鱼推送消息!",
 			"title":"剑鱼推送消息!",

+ 3 - 2
pushsubscribe/push/config/config.go

@@ -63,8 +63,9 @@ type config struct {
 		Count               int64 `json:"count"`
 		Count               int64 `json:"count"`
 		Retain              int64 `json:"retain"`
 		Retain              int64 `json:"retain"`
 		Wx                  struct {
 		Wx                  struct {
-			Id  string
-			Url string
+			Id        string
+			Url       string
+			UnbindUrl string
 		} `json:"wx"`
 		} `json:"wx"`
 		App struct {
 		App struct {
 			Title    string `json:"title"`
 			Title    string `json:"title"`

+ 13 - 5
pushsubscribe/push/job/nomsgtipjob.go

@@ -14,6 +14,7 @@ import (
 
 
 	util "app.yhyue.com/moapp/jybase/common"
 	util "app.yhyue.com/moapp/jybase/common"
 	. "app.yhyue.com/moapp/jybase/date"
 	. "app.yhyue.com/moapp/jybase/date"
+	"app.yhyue.com/moapp/jybase/encrypt"
 	"app.yhyue.com/moapp/jybase/logger"
 	"app.yhyue.com/moapp/jybase/logger"
 	. "app.yhyue.com/moapp/jybase/mongodb"
 	. "app.yhyue.com/moapp/jybase/mongodb"
 	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/jybase/redis"
@@ -162,10 +163,13 @@ func (n *NoMsgTipJob) beforeTip(taskType int, allTip []*UserInfo, wxTplSurplus i
 
 
 //
 //
 func (n *NoMsgTipJob) toTip(taskType int, user *UserInfo, wxTplSurplus int64, noMsgTipLastId atomic.Value) {
 func (n *NoMsgTipJob) toTip(taskType int, user *UserInfo, wxTplSurplus int64, noMsgTipLastId atomic.Value) {
-	firstTitle, area, jcly, mailContent, infoCount, firstAutoId := n.SubRecommend(user)
+	firstTitle, area, jcly, mailContent, infoCount, firstAutoId, firstId, isNewestBid := n.SubRecommend(user)
 	if infoCount == 0 {
 	if infoCount == 0 {
 		logger.Info("无消息提醒任务", taskType, "没有要推荐的信息,过滤掉", user.Id)
 		logger.Info("无消息提醒任务", taskType, "没有要推荐的信息,过滤掉", user.Id)
 		return
 		return
+	} else if user.Phone != "" && isNewestBid {
+		logger.Info("无消息提醒任务", taskType, "有手机号不再推送最新标讯", user.Id)
+		return
 	}
 	}
 	now := time.Now()
 	now := time.Now()
 	redis.Put(Pushcache_2_c, NoMsgTipKey(user.Id), 1, OneDaySecond)
 	redis.Put(Pushcache_2_c, NoMsgTipKey(user.Id), 1, OneDaySecond)
@@ -194,7 +198,7 @@ func (n *NoMsgTipJob) toTip(taskType int, user *UserInfo, wxTplSurplus int64, no
 		}
 		}
 		if isWxPush {
 		if isWxPush {
 			logger.Info("无消息提醒任务", taskType, "开始微信推送", user.Id)
 			logger.Info("无消息提醒任务", taskType, "开始微信推送", user.Id)
-			isWxPushOk = n.sendWeixin(user, firstTitle, area, jcly, infoCount)
+			isWxPushOk = n.sendWeixin(user, firstTitle, area, jcly, infoCount, firstId, isNewestBid)
 			logger.Info("无消息提醒任务", taskType, "微信推送结束", isWxPushOk, user.Id)
 			logger.Info("无消息提醒任务", taskType, "微信推送结束", isWxPushOk, user.Id)
 		} else {
 		} else {
 			if noMsgTipLastId.Load().(string) < user.Id {
 			if noMsgTipLastId.Load().(string) < user.Id {
@@ -228,7 +232,7 @@ func (n *NoMsgTipJob) toTip(taskType int, user *UserInfo, wxTplSurplus int64, no
 }
 }
 
 
 //推送微信
 //推送微信
-func (n *NoMsgTipJob) sendWeixin(user *UserInfo, firstTitle, area, jcly string, infoCount int) bool {
+func (n *NoMsgTipJob) sendWeixin(user *UserInfo, firstTitle, area, jcly string, infoCount int, firstId string, isNewestBid bool) bool {
 	tmplData := map[string]*qrpc.TmplItem{
 	tmplData := map[string]*qrpc.TmplItem{
 		"thing3": &qrpc.TmplItem{
 		"thing3": &qrpc.TmplItem{
 			Value: area,
 			Value: area,
@@ -246,17 +250,21 @@ func (n *NoMsgTipJob) sendWeixin(user *UserInfo, firstTitle, area, jcly string,
 			Value: fmt.Sprintf("%d条", infoCount),
 			Value: fmt.Sprintf("%d条", infoCount),
 		},
 		},
 	}
 	}
+	thisUrl := Config.NoMsgTip.Wx.Url
+	if user.Phone == "" && isNewestBid {
+		thisUrl = fmt.Sprintf(Config.NoMsgTip.Wx.UnbindUrl, encrypt.CommonEncodeArticle("content", firstId), time.Now().Unix())
+	}
 	ok := putil.SendWeixin(user, &qrpc.WxTmplMsg{
 	ok := putil.SendWeixin(user, &qrpc.WxTmplMsg{
 		OpenId:   user.S_m_openid,
 		OpenId:   user.S_m_openid,
 		TplId:    Config.NoMsgTip.Wx.Id,
 		TplId:    Config.NoMsgTip.Wx.Id,
 		TmplData: tmplData,
 		TmplData: tmplData,
-		Url:      Config.WxDomain + "/front/sess/" + Se.EncodeString(user.Id+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(Config.NoMsgTip.Wx.Url),
+		Url:      Config.WxDomain + "/front/sess/" + Se.EncodeString(user.Id+",_id,"+strconv.Itoa(int(time.Now().Unix()))+",") + "__" + Se.EncodeString(thisUrl),
 	})
 	})
 	return ok
 	return ok
 }
 }
 
 
 //
 //
-func (n *NoMsgTipJob) SubRecommend(user *UserInfo) (string, string, string, string, int, int64) {
+func (n *NoMsgTipJob) SubRecommend(user *UserInfo) (string, string, string, string, int, int64, string, bool) {
 	n.selectPool <- true
 	n.selectPool <- true
 	defer func() {
 	defer func() {
 		<-n.selectPool
 		<-n.selectPool

+ 1 - 1
pushsubscribe/push/job/pushjob.go

@@ -158,7 +158,7 @@ func (p *PushJob) doPush(pusher Pusher, taskType int, u *UserInfo, sl *SortList,
 		} else {
 		} else {
 			pushResult.WxStatus = -1
 			pushResult.WxStatus = -1
 		}
 		}
-		logger.Info("推送任务", taskType, "	", isPushOk, u.Id)
+		logger.Info("推送任务", taskType, "微信推送结束", isPushOk, u.Id)
 	}
 	}
 	if u.PushSet.SubSet.AppPush == 1 {
 	if u.PushSet.SubSet.AppPush == 1 {
 		logger.Info("推送任务", taskType, "开始app推送", u.Id)
 		logger.Info("推送任务", taskType, "开始app推送", u.Id)