Преглед на файлове

Merge branch 'feature/v3.0.6'

123456 преди 3 години
родител
ревизия
d8e246be99
променени са 6 файла, в които са добавени 64 реда и са изтрити 9 реда
  1. 2 0
      README.md
  2. 6 0
      src/config.json
  3. 20 0
      src/service/action/ent.go
  4. 14 1
      src/service/action/info.go
  5. 22 8
      src/service/config/config.go
  6. BIN
      src/src.exe

+ 2 - 0
README.md

@@ -1 +1,3 @@
 留资程序
+v3.0.6
+引导留资优化 

+ 6 - 0
src/config.json

@@ -28,6 +28,12 @@
 			"maxOpenConns": 5,
 			"maxIdleConns": 5
 	    }
+    },
+	"elasticsearch": {
+		"main": {
+			"address": "http://192.168.3.206:9800",
+	    	"size": 30
+		}
     },
     "source":{
 		"info_supplier_recom":{

+ 20 - 0
src/service/action/ent.go

@@ -0,0 +1,20 @@
+package action
+
+import (
+	"fmt"
+	"qfw/util/elastic"
+)
+
+var (
+	qyxy = "qyxy"
+)
+
+func EnterpriseValidation(entName string) (B bool) {
+	if len([]rune(entName)) > 2 {
+		query := fmt.Sprintf(`{"query": {"bool": {"must": [{"term": {"qyxy.name.ent_name": "%s"}}]}}}`, entName)
+		if elastic.Count(qyxy, qyxy, query) > 0 {
+			B = true
+		}
+	}
+	return
+}

+ 14 - 1
src/service/action/info.go

@@ -69,9 +69,22 @@ func (i *Info) CollectInfo() {
 		phone := qu.ObjToString(infoMap["phone"])   //手机号
 		mail := qu.ObjToString(infoMap["mail"])     //邮箱
 		source := qu.ObjToString(infoMap["source"]) //来源
+		i.Session().Set("sales_MyPhone", phone)
+		if infoMap["code"] != nil {
+			phoneCode := qu.ObjToString(infoMap["code"])
+			i.Session().Set("sales_MsgCode", phoneCode)
+		}
 		if publishId := qu.ObjToString(infoMap["publish_id"]); publishId != "" {
 			infoMap["publish_id"] = strings.Join(qu.DecodeArticleId2ByCheck(publishId), ",")
-		} //三级页面留资带有发布id时解密
+		}
+		//企业验证
+		if Sysconfig.Source[source] != nil && Sysconfig.Source[source].EntValidation {
+			entName := qu.ObjToString(infoMap["company"])
+			if entName == "" || (entName != "" && !EnterpriseValidation(entName)) {
+				return NewResultSales{Data: nil, Error_msg: "暂无此企业信息"}
+			}
+		}
+		//三级页面留资带有发布id时解密
 		//手机号验证码验证
 		if Sysconfig.Source[source] != nil && Sysconfig.Source[source].CheckCode {
 			code := qu.ObjToString(infoMap["code"]) //手机号验证码

+ 22 - 8
src/service/config/config.go

@@ -4,6 +4,7 @@ import (
 	"log"
 	mg "mongodb"
 	"qfw/util"
+	"qfw/util/elastic"
 	"qfw/util/mail"
 	"qfw/util/mysql"
 	"qfw/util/redis"
@@ -23,6 +24,9 @@ type config struct {
 	Mysql struct {
 		Main *mysqlConf
 	}
+	Elasticsearch struct {
+		Main *esConf
+	}
 	Source            map[string]*Attribute
 	BindPhoneLimitDay int64
 	Probability       float64
@@ -42,15 +46,20 @@ type config struct {
 	SmsServiceRpc   string
 }
 
+type esConf struct {
+	Address string
+	Size    int
+}
 type Attribute struct {
-	Passive   bool
-	Enabled   bool
-	Force     bool
-	Frequency string
-	Once      bool
-	Exclude   []string
-	CheckCode bool
-	Ismail    bool
+	Passive       bool
+	Enabled       bool
+	Force         bool
+	Frequency     string
+	Once          bool
+	Exclude       []string
+	CheckCode     bool
+	Ismail        bool
+	EntValidation bool //是否验证企业存在性
 }
 
 type mgoConf struct {
@@ -85,6 +94,11 @@ var (
 func init() {
 	util.ReadConfig(&Sysconfig)
 	if Sysconfig != nil {
+		//
+		if Sysconfig.Elasticsearch.Main != nil {
+			log.Println("初始化 elasticsearch")
+			elastic.InitElasticSize(Sysconfig.Elasticsearch.Main.Address, Sysconfig.Elasticsearch.Main.Size)
+		}
 		//初始化redis
 		if Sysconfig.Redis.Main != nil {
 			log.Println("初始化 redis")

BIN
src/src.exe