Quellcode durchsuchen

Merge remote-tracking branch 'origin/dev_v4.9.69_wh' into dev_v4.9.69_wh1

# Conflicts:
#	src/jfw/modules/publicapply/src/go.sum
WH01243 vor 8 Monaten
Ursprung
Commit
baeadf0389

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

@@ -22,8 +22,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20240412015757-6d8429bb4dae/go.mod h1:XHNATN6t
 app.yhyue.com/moapp/jyfs v0.0.0-20231024061508-480c270480d4/go.mod h1:61hzZ3dZHXL28BNl8BOgZsvM2S5UVY5YFzOkEUPrSu4=
 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.22.6 h1:38q9rpOWOwWtPEW6+Y95rcf0eI1Fvcejdq5rK92XNPs=
-app.yhyue.com/moapp/jypkg v1.22.6/go.mod h1:FylaC4MJ4G36WndktgeZfc8jTq3uvBGWIwbk02xfdQI=
+app.yhyue.com/moapp/jypkg v1.23.2 h1:FOjnWKd1GBZBwzqDd9q4H4X291lgGZugmoR5/rpKN3o=
+app.yhyue.com/moapp/jypkg v1.23.2/go.mod h1:FylaC4MJ4G36WndktgeZfc8jTq3uvBGWIwbk02xfdQI=
 app.yhyue.com/moapp/jypkg v1.23.2/go.mod h1:FylaC4MJ4G36WndktgeZfc8jTq3uvBGWIwbk02xfdQI=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 h1:WGi4OEIoqw6NpNFGioUEBZnjK9aBa+xJqf/5WY+QyhM=
 app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161/go.mod h1:0Oj8SB4pVjdCLD28sy2zyM3hS0WHGpNuVcakLW43GmI=

+ 2 - 0
src/jfw/modules/publicapply/src/config/config.go

@@ -53,6 +53,8 @@ type config struct {
 	Criticality        int    `json:"criticality"`
 	TaskStartTime      int64
 	Configuration      map[string]interface{}
+	ScreenNumb         int64
+	FrequentContinuous int64
 }
 type BidColl struct {
 	PayUserCollLimit      int    //付费用户收藏数量最大限制

+ 15 - 5
src/jfw/modules/publicapply/src/db.json

@@ -39,8 +39,8 @@
       "address": "http://192.168.3.241:9205,http://192.168.3.149:9200",
       "size": 30,
       "version": "v7",
-      "userName":"",
-      "password":""
+      "userName": "",
+      "password": ""
     },
     "free": {
       "address": "http://192.168.3.241:9205,http://192.168.3.149:9200",
@@ -53,7 +53,7 @@
     }
   },
   "redis": {
-    "main":{
+    "main": {
       "address": "other=192.168.3.149:1712,session=192.168.3.149:1713,newother=192.168.3.149:1712,poly=192.168.3.149:1713,limitation=192.168.3.149:1713"
     }
   },
@@ -91,8 +91,8 @@
       "maxIdleConns": 5
     }
   },
-  "bdcollection":"bdcollection",
-  "bdlabel":"bdlabel",
+  "bdcollection": "bdcollection",
+  "bdlabel": "bdlabel",
   "base": {
     "dBName": "base_service",
     "address": "192.168.3.217:4000",
@@ -100,5 +100,15 @@
     "passWord": "=PDT49#80Z!RVv52_z",
     "maxOpenConns": 5,
     "maxIdleConns": 5
+  },
+  "clickhouse": {
+    "jianyu": {
+      "dBName": "jianyu",
+      "address": "192.168.3.207:19000",
+      "userName": "jytop",
+      "passWord": "pwdTopJy123",
+      "maxOpenConns": 5,
+      "maxIdleConns": 5
+    }
   }
 }

+ 50 - 0
src/jfw/modules/publicapply/src/db/db.go

@@ -1,9 +1,14 @@
 package db
 
 import (
+	"context"
 	"encoding/json"
+	"fmt"
+	"github.com/ClickHouse/clickhouse-go/v2"
+	"github.com/ClickHouse/clickhouse-go/v2/lib/driver"
 	"jy/src/jfw/modules/publicapply/src/config"
 	"log"
+	"time"
 
 	util "app.yhyue.com/moapp/jybase/common"
 	elastic "app.yhyue.com/moapp/jybase/es"
@@ -39,6 +44,9 @@ type dbConf struct {
 	}
 	Bdcollection string
 	Bdlabel      string
+	Clickhouse   struct {
+		Jianyu *mysqlConf
+	}
 }
 type mgoConf struct {
 	Address           string
@@ -86,6 +94,7 @@ type areaCodeInfo struct {
 var (
 	DbConf                        *dbConf
 	Mgo                           m.MongodbSim
+	ClickhouseConn                driver.Conn
 	Mgo_Log                       m.MongodbSim
 	Mgo_Bidding                   m.MongodbSim
 	Mgo_Ent                       m.MongodbSim
@@ -228,6 +237,7 @@ func init() {
 			MysqlMedical.Init()
 		}
 		config.Compatible = compatible.NewCompatible(&Mgo, BaseMysql, Mysql, config.Middleground)
+		connectClickhouse(DbConf.Clickhouse.Jianyu)
 	}
 }
 
@@ -272,3 +282,43 @@ func AreaInit() {
 		}
 	}
 }
+
+type CHouseConfig struct {
+	Addr         string
+	UserName     string
+	Password     string
+	DbName       string
+	MaxIdleConns int
+	MaxOpenConns int
+}
+
+func connectClickhouse(cHouseConfig *mysqlConf) error {
+	var (
+		ctx = context.Background()
+		err error
+	)
+	ClickhouseConn, err = clickhouse.Open(&clickhouse.Options{
+		Addr:         []string{cHouseConfig.Address},
+		DialTimeout:  10 * time.Second,
+		MaxIdleConns: cHouseConfig.MaxIdleConns,
+		MaxOpenConns: cHouseConfig.MaxOpenConns,
+		Auth: clickhouse.Auth{
+			Database: cHouseConfig.DbName,
+			Username: cHouseConfig.UserName,
+			Password: cHouseConfig.PassWord,
+		},
+		Debugf: func(format string, v ...interface{}) {
+			fmt.Printf(format, v)
+		},
+	})
+	if err != nil {
+		return err
+	}
+	if err := ClickhouseConn.Ping(ctx); err != nil {
+		if exception, ok := err.(*clickhouse.Exception); ok {
+			fmt.Printf("Exception [%d] %s \n%s\n", exception.Code, exception.Message, exception.StackTrace)
+		}
+		return err
+	}
+	return nil
+}

+ 7 - 1
src/jfw/modules/publicapply/src/go.mod

@@ -1,6 +1,8 @@
 module jy/src/jfw/modules/publicapply/src
 
-go 1.20
+go 1.21
+
+toolchain go1.22.0
 
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20240226084952-7e7b38ef8a66
@@ -8,6 +10,7 @@ require (
 	app.yhyue.com/moapp/jypkg v1.22.9
 	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20240607062231-ae1d02891843
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.20
+	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.5
 	github.com/alibabacloud-go/dypnsapi-20170525/v2 v2.2.1
@@ -90,7 +93,9 @@ require (
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/olivere/elastic v6.2.37+incompatible // indirect
 	github.com/openzipkin/zipkin-go v0.4.2 // indirect
+	github.com/paulmach/orb v0.7.1 // indirect
 	github.com/pelletier/go-toml/v2 v2.2.0 // indirect
+	github.com/pierrec/lz4/v4 v4.1.17 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/prometheus/client_golang v1.18.0 // indirect
 	github.com/prometheus/client_model v0.5.0 // indirect
@@ -98,6 +103,7 @@ require (
 	github.com/prometheus/procfs v0.12.0 // indirect
 	github.com/redis/go-redis/v9 v9.4.0 // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
+	github.com/shopspring/decimal v1.3.1 // indirect
 	github.com/sirupsen/logrus v1.8.3 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
 	github.com/spf13/afero v1.9.3 // indirect

+ 47 - 6
src/jfw/modules/publicapply/src/subscribe/entity/entity.go

@@ -1,20 +1,22 @@
 package entity
 
 import (
+	qutil "app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/es"
 	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
+	"app.yhyue.com/moapp/jybase/redis"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	"context"
 	"fmt"
 	"github.com/gogf/gf/v2/util/gconv"
+	"github.com/zeromicro/go-zero/core/logx"
 	"jy/src/jfw/modules/publicapply/src/config"
+	"jy/src/jfw/modules/publicapply/src/db"
 	"log"
 	"time"
 
-	qutil "app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	elastic "app.yhyue.com/moapp/jybase/es"
-	"app.yhyue.com/moapp/jybase/redis"
-	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
-
 	// "reflect"
 	//"strconv"
 	. "jy/src/jfw/modules/publicapply/src/subscribePush/entity"
@@ -120,6 +122,45 @@ func (this *ParamInfo) IsSub() bool {
 	return true
 }
 
+type RuleStruct struct {
+	Browse string `ch:"browse"`
+}
+
+// 浏览记录查询
+func (this *ParamInfo) HistorySearch(userId string) (string, string, string) {
+	ass := []RuleStruct{}
+	rows, err1 := db.ClickhouseConn.Query(context.TODO(), "select  browse from  sub_recommend_rule where  userid=?", userId)
+	if err1 != nil {
+		logx.Error(err1)
+		return "", "", ""
+	}
+	defer rows.Close()
+	for rows.Next() {
+		as := RuleStruct{}
+		if err := rows.ScanStruct(&as); err != nil {
+			logx.Error(err)
+			continue
+		}
+		ass = append(ass, as)
+	}
+	if len(ass) == 0 {
+		return "", "", ""
+	}
+	browseArr := gconv.Maps(ass[0].Browse)
+	if len(browseArr) == 0 {
+		return "", "", ""
+	}
+	for _, v := range browseArr {
+		area := gconv.String(v["area"])
+		city := gconv.String(v["city"])
+		district := gconv.String(v["district"])
+		if area != "" && area != "全国" {
+			return area, city, district
+		}
+	}
+	return "", "", ""
+}
+
 type UserSubMsg struct {
 	Area        map[string]interface{} `json:"area"`        //地区
 	Infotype    []interface{}          `json:"infotype"`    //信息类型

+ 6 - 0
src/jfw/modules/publicapply/src/subscribe/service/service.go

@@ -4,6 +4,7 @@ import (
 	. "app.yhyue.com/moapp/jybase/api"
 	qu "app.yhyue.com/moapp/jybase/common"
 	"fmt"
+	"github.com/gogf/gf/v2/util/gconv"
 	"jy/src/jfw/modules/publicapply/src/config"
 	"jy/src/jfw/modules/publicapply/src/subscribe/entity"
 	"strings"
@@ -29,10 +30,15 @@ func (this *ServiceStruct) IsSub() {
 			return Result{Data: nil, Error_msg: Error_msg_1005}
 		}
 		newFN := entity.NewParamInfo(userId, this.Session())
+		area, city, district := newFN.HistorySearch(userId)
 		returnData := map[string]interface{}{
 			"frequentContinuous": config.Config.FrequentContinuous,
 			"screenNumb":         config.Config.ScreenNumb,
 			"isSubscribe":        newFN.IsSub(),
+			"area":               area,
+			"city":               city,
+			"district":           district,
+			"positionType":       gconv.Int64(this.GetSession("userId")),
 		}
 		return Result{Data: returnData}
 	}()