浏览代码

Merge branch 'master' into feature/v4.8.75

lianbingjie 1 年之前
父节点
当前提交
1b391806f1

+ 3 - 2
src/jfw/front/login.go

@@ -255,13 +255,14 @@ func (l *Login) Login() error {
 	}()
 	if status >= 1 && isLogin {
 		//登录source 更新 p414
+		mgoUserId := qutil.ObjToString(l.GetSession("mgoUserId"))
 		us := jy.UserSource{
-			UserId:           qutil.ObjToString(l.GetSession("mgoUserId")),
+			UserId:           mgoUserId,
 			PositionId:       qutil.Int64All(l.GetSession("positionId")),
 			Phone:            qutil.ObjToString(l.GetSession("phone")),
 			State:            qutil.If(status == 2, status, 1).(int), //注册/登录标志 1:登录;2:注册
 			ChannelCode:      channelCode,
-			EncryptionUserId: encrypt.SE.Encode2Hex(qutil.ObjToString(l.GetSession("userId"))),
+			EncryptionUserId: encrypt.SE.EncodeString(mgoUserId),
 			CreateTime:       time.Now().Format(date.Date_Full_Layout),
 			LoginWay:         qutil.If(status == 1, status, 2).(int), //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 			Platform:         1,

+ 9 - 6
src/jfw/modules/app/src/app/front/login.go

@@ -319,13 +319,14 @@ func (l *Login) Login() error {
 		return 0, -1
 	}()
 	//登录source 更新 p414
+	mgoUserId := qutil.ObjToString(l.GetSession("mgoUserId"))
 	us := jy.UserSource{
-		UserId:           qutil.ObjToString(l.GetSession("mgoUserId")),
+		UserId:           mgoUserId,
 		PositionId:       qutil.Int64All(l.GetSession("positionId")),
 		Phone:            qutil.ObjToString(l.GetSession("phone")),
 		State:            qutil.If(state == 3, 2, 1).(int), //注册/登录标志 1:登录;2:注册
 		ChannelCode:      channelCode,
-		EncryptionUserId: encrypt.SE.Encode2Hex(qutil.ObjToString(l.GetSession("userId"))),
+		EncryptionUserId: encrypt.SE.EncodeString(mgoUserId),
 		CreateTime:       time.Now().Format(date.Date_Full_Layout),
 		LoginWay:         qutil.If(state == 1, state, 2).(int),                         //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 		Platform:         qutil.If(strings.Contains(l.Request.Host, "h5"), 4, 3).(int), //登录端;1:PC;2:WX;3:APP;4:H5
@@ -620,13 +621,14 @@ func (l *Login) Register() error {
 						"positionId": l.GetSession("positionId"),
 					})
 					//登录source 更新 p414
+					mgoUserId := qutil.ObjToString(l.GetSession("mgoUserId"))
 					us := jy.UserSource{
-						UserId:           qutil.ObjToString(l.GetSession("mgoUserId")),
+						UserId:           mgoUserId,
 						PositionId:       qutil.Int64All(l.GetSession("positionId")),
 						Phone:            qutil.ObjToString(l.GetSession("phone")),
 						State:            2, //注册/登录标志 1:登录;2:注册
 						ChannelCode:      channelCode,
-						EncryptionUserId: encrypt.SE.Encode2Hex(qutil.ObjToString(l.GetSession("userId"))),
+						EncryptionUserId: encrypt.SE.EncodeString(mgoUserId),
 						CreateTime:       time.Now().Format(date.Date_Full_Layout),
 						LoginWay:         1,                                                            //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 						Platform:         qutil.If(strings.Contains(l.Request.Host, "h5"), 4, 3).(int), //登录端;1:PC;2:WX;3:APP;4:H5
@@ -828,13 +830,14 @@ func (l *Login) WxLogin() {
 	})
 	if status > 0 {
 		//登录source 更新 p414
+		mgoUserId := qutil.ObjToString(l.GetSession("mgoUserId"))
 		us := jy.UserSource{
-			UserId:           qutil.ObjToString(l.GetSession("mgoUserId")),
+			UserId:           mgoUserId,
 			PositionId:       qutil.Int64All(l.GetSession("positionId")),
 			Phone:            qutil.ObjToString(l.GetSession("phone")),
 			State:            status, //注册/登录标志 1:登录;2:注册
 			ChannelCode:      channelCode,
-			EncryptionUserId: encrypt.SE.Encode2Hex(qutil.ObjToString(l.GetSession("userId"))),
+			EncryptionUserId: encrypt.SE.EncodeString(mgoUserId),
 			CreateTime:       time.Now().Format(date.Date_Full_Layout),
 			LoginWay:         3,                                                            //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 			Platform:         qutil.If(strings.Contains(l.Request.Host, "h5"), 4, 3).(int), //登录端;1:PC;2:WX;3:APP;4:H5

+ 30 - 30
src/jfw/modules/publicapply/src/oneclick/entity/entity.go

@@ -1,34 +1,34 @@
 package entity
 
 import (
-    "encoding/json"
-    "errors"
-    "fmt"
-    "jy/src/jfw/modules/publicapply/src/config"
-    "jy/src/jfw/modules/publicapply/src/db"
-    "jy/src/jfw/modules/publicapply/src/jyutil"
-    "jy/src/jfw/modules/publicapply/src/oneclick/initjson"
-    "log"
-    "net/http"
-    "strings"
-    "sync"
-    "time"
+	"encoding/json"
+	"errors"
+	"fmt"
+	"jy/src/jfw/modules/publicapply/src/config"
+	"jy/src/jfw/modules/publicapply/src/db"
+	"jy/src/jfw/modules/publicapply/src/jyutil"
+	"jy/src/jfw/modules/publicapply/src/oneclick/initjson"
+	"log"
+	"net/http"
+	"strings"
+	"sync"
+	"time"
 
-    "app.yhyue.com/moapp/jybase/common"
-    "app.yhyue.com/moapp/jybase/date"
-    "app.yhyue.com/moapp/jybase/encrypt"
-    "app.yhyue.com/moapp/jybase/go-xweb/httpsession"
-    "app.yhyue.com/moapp/jybase/mongodb"
-    "app.yhyue.com/moapp/jybase/redis"
-    qrpc "app.yhyue.com/moapp/jybase/rpc"
-    "app.yhyue.com/moapp/jybase/usercenter"
-    "app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
-    "app.yhyue.com/moapp/jypkg/public"
-    "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
-    openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
-    dypnsapi20170525 "github.com/alibabacloud-go/dypnsapi-20170525/v2/client"
-    util "github.com/alibabacloud-go/tea-utils/v2/service"
-    "github.com/alibabacloud-go/tea/tea"
+	"app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/date"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
+	"app.yhyue.com/moapp/jybase/mongodb"
+	"app.yhyue.com/moapp/jybase/redis"
+	qrpc "app.yhyue.com/moapp/jybase/rpc"
+	"app.yhyue.com/moapp/jybase/usercenter"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
+	"app.yhyue.com/moapp/jypkg/public"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
+	dypnsapi20170525 "github.com/alibabacloud-go/dypnsapi-20170525/v2/client"
+	util "github.com/alibabacloud-go/tea-utils/v2/service"
+	"github.com/alibabacloud-go/tea/tea"
 )
 
 type OneClickInfo struct {
@@ -435,17 +435,17 @@ func (o *OneClickInfo) phoneLogin(phone string) (map[string]interface{}, error)
 		if err != nil {
 			log.Println(mgoUserId, "下载app任务,发送nsq消息错误-->", err)
 		}
-		log.Println("一键登录  session信息:", o.Session.GetMultiple())
 		//登录source 更新 p414
 		phone, _ := o.Session.Get("phone").(string)
-		positionId, _ := o.Session.Get("positionId").(int64)
+		//positionId, _ := o.Session.Get("positionId").(int64)
+		positionId := common.Int64All(o.Session.Get("positionId"))
 		us := jy.UserSource{
 			UserId:           mgoUserId,
 			PositionId:       positionId,
 			Phone:            phone,
 			State:            status, //注册/登录标志 1:登录;2:注册
 			ChannelCode:      channelCode,
-			EncryptionUserId: encrypt.SE.Encode2Hex(mgoUserId),
+			EncryptionUserId: encrypt.SE.EncodeString(mgoUserId),
 			CreateTime:       time.Now().Format(date.Date_Full_Layout),
 			LoginWay:         4,                                                                  //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 			Platform:         common.If(strings.Contains(o.Host, "h5.jianyu360.cn"), 4, 3).(int), //登录端;1:PC;2:WX;3:APP;4:H5

+ 1 - 1
src/jfw/modules/weixin/src/go.mod

@@ -5,7 +5,7 @@ go 1.18
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.0.4-0.20231108013952-a37ecebda2ed
+	app.yhyue.com/moapp/jypkg v1.0.4-0.20231109032304-2da6db20132a
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/gogf/gf/v2 v2.3.1

+ 2 - 2
src/jfw/modules/weixin/src/go.sum

@@ -9,8 +9,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b h1:Wtytm2QqQWtBV+s
 app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b/go.mod h1:D40Ae0rQilH8Hc5o2Vtt04Tjh/DNEFpcS3/WkJMPJb8=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545 h1:+Lak4m1zgsigQloOsvp8AJ+0XeX/+PGp9QP550xlbBQ=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545/go.mod h1:uFrsdUBFbETiJlEmr4PtJWPsZlUpPj2bHQRhryu6ggk=
-app.yhyue.com/moapp/jypkg v1.0.4-0.20231108013952-a37ecebda2ed h1:rd5FDHAWiM1MLbgi79KBpRTMQfH5e2Y+knkk2JMsFP4=
-app.yhyue.com/moapp/jypkg v1.0.4-0.20231108013952-a37ecebda2ed/go.mod h1:76Kz6+MuxcRJRyFad9W8R4AByiQlVGzuGFzklY+2m38=
+app.yhyue.com/moapp/jypkg v1.0.4-0.20231109032304-2da6db20132a h1:mUqyzXj24uoi9gE9P+EVoiMi/deUHH2+0jbTnwLhOZ0=
+app.yhyue.com/moapp/jypkg v1.0.4-0.20231109032304-2da6db20132a/go.mod h1:76Kz6+MuxcRJRyFad9W8R4AByiQlVGzuGFzklY+2m38=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae h1:6rDDaz6yxvE8viTSzEBwKYOFWq14TMfuBivSazUZMz4=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae/go.mod h1:b0zZHev3gmJao1Fo+2Z2KPVjsuLOJVvVxf+kCnu9WkA=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e h1:h+VEI3o1qC0jeCzkFGTrLI4f27cfa/W/y+0sXokWMgE=

+ 5 - 3
src/jfw/modules/weixin/src/service/usersource.go

@@ -15,15 +15,17 @@ import (
 func SaveUserSource(channelCode, userId, phone, ip string, state int, positionId int64) {
 	us := jy.UserSource{
 		UserId:           userId,
+		PositionId:       positionId,
 		Phone:            phone,
 		State:            state, //注册/登录标志 1:登录;2:注册
 		ChannelCode:      qutil.If(channelCode == "", fmt.Sprintf("%s%s", "jy_wx", qutil.If(state == 1, "_scan", "_sub")), channelCode).(string),
-		EncryptionUserId: encrypt.SE.Encode2Hex(userId),
+		EncryptionUserId: encrypt.SE.EncodeString(userId),
 		CreateTime:       time.Now().Format(date.Date_Full_Layout),
 		LoginWay:         3,                                       //登录方式;1:手机号密码;2:手机号验证码;3:微信;4:手机号一键登录
 		Platform:         qutil.If(channelCode != "", 1, 2).(int), //登录端;1:PC;2:WX;3:APP;4:H5
 		Ip:               ip,
 	}
-	b := jy.SaveUserSource(tools.Mysql, jy.ChannelTableName, qutil.StructToMapMore(us))
-	log.Println("user source  保存 状态:", b)
+	if b := jy.SaveUserSource(tools.Mysql, jy.ChannelTableName, qutil.StructToMapMore(us)); !b {
+		log.Println("user source  保存 状态:", b, userId)
+	}
 }

+ 25 - 22
src/jfw/modules/weixin/src/wx/wx.go

@@ -924,35 +924,38 @@ func ScanHandler(w ResponseWriter, r *Request) {
 		log.Println("scan-error,mongodb-conn-error")
 	}
 	//P414
-	if r.EventKey != "" {
-		go SaveUserSource(r.EventKey, openid, 1)
-	}
+	go SaveUserSource(r.EventKey, openid, 1)
 }
 
 // SaveUserSource state 1:扫码 2:关注
 func SaveUserSource(erCode, openid string, state int) {
-	log.Println("-------userSource---信息 收集 开始----------")
-	userData := redis.Get("sso", "p_shareData_"+erCode)
-	channelCode := ""
-	ip := ""
-	if userData != nil {
-		infoData := map[string]interface{}{}
-		tmp, err := json.Marshal(userData)
-		if err == nil {
-			if err = json.Unmarshal(tmp, &infoData); err == nil {
-				channelCode = util.ObjToString(infoData["channelCode"])
-				ip = util.ObjToString(infoData["Rip"])
-			} else {
-				log.Println("序列化异常 infoData")
+	if openid != "" {
+		channelCode := ""
+		ip := ""
+		if erCode != "" {
+			userData := redis.Get("sso", "p_shareData_"+erCode)
+			if userData != nil {
+				infoData := map[string]interface{}{}
+				tmp, err := json.Marshal(userData)
+				if err == nil {
+					if err = json.Unmarshal(tmp, &infoData); err == nil {
+						channelCode = util.ObjToString(infoData["channelCode"])
+						ip = util.ObjToString(infoData["Rip"])
+					} else {
+						log.Println("序列化异常 infoData")
+					}
+				} else {
+					log.Println("序列化异常 userData")
+				}
 			}
-		} else {
-			log.Println("序列化异常 userData")
 		}
+		if strings.Contains(channelCode, "JyChCoop") && state == 2 { //关注后 注册信息 更新
+			tools.MQFW.Update("user", "{'s_m_openid':'"+openid+"'}", &map[string]interface{}{"$set": &map[string]interface{}{"s_sourceid": channelCode}}, false, false)
+		}
+		time.Sleep(userCTS)
+		userId, phone, positionId := FindUserId(openid)
+		service.SaveUserSource(channelCode, userId, phone, ip, state, positionId)
 	}
-	time.Sleep(userCTS)
-	userId, phone, positionId := FindUserId(openid)
-	service.SaveUserSource(channelCode, userId, phone, ip, state, positionId)
-	log.Println("-------userSource---信息 收集 结束----------")
 }
 func WxBind(code, openId string, w ResponseWriter, newUnionId string) bool {
 	//获取信息