|
@@ -4,6 +4,7 @@ import (
|
|
|
. "config"
|
|
|
"encoding/json"
|
|
|
"entity"
|
|
|
+ elastic "es"
|
|
|
"fmt"
|
|
|
"io/ioutil"
|
|
|
"log"
|
|
@@ -11,7 +12,6 @@ import (
|
|
|
"os"
|
|
|
"path/filepath"
|
|
|
"qfw/util"
|
|
|
- "qfw/util/elastic"
|
|
|
"qfw/util/redis"
|
|
|
"strings"
|
|
|
"sync"
|
|
@@ -21,10 +21,10 @@ import (
|
|
|
|
|
|
const (
|
|
|
DB = "bidding"
|
|
|
- MaxId = `{"query":{"filtered":{"filter":{"bool":{"must":{"range":{"id":{"gt":"%s"}}}}}}},"_source":["_id","comeintime"],"sort":{"id":"desc"},"from":0,"size":1}`
|
|
|
+ MaxId = `{"query":{"bool":{"must":{"range":{"id":{"gt":"%s"}}}}},"_source":["id","comeintime"],"sort":{"_id":"desc"},"from":0,"size":1}`
|
|
|
)
|
|
|
|
|
|
-//加载全部脚本
|
|
|
+// 加载全部脚本
|
|
|
func loadAllLuaScript(qyfwUsers map[string]*entity.QyfwUser, p string) map[string]*MyJobs {
|
|
|
jobs := map[string]*MyJobs{}
|
|
|
filepath.Walk(p, func(path string, info os.FileInfo, err error) error {
|
|
@@ -75,7 +75,7 @@ func loadAllLuaScript(qyfwUsers map[string]*entity.QyfwUser, p string) map[strin
|
|
|
return jobs
|
|
|
}
|
|
|
|
|
|
-//初始化脚本
|
|
|
+// 初始化脚本
|
|
|
func NewLuaScript(name, luafile string) (*Script, string) {
|
|
|
defer util.Catch()
|
|
|
//只是单纯的验证一下,lua脚本是否有问题
|
|
@@ -104,7 +104,7 @@ func RunJob() bool {
|
|
|
if endId == "" {
|
|
|
resId := elastic.Get(DB, DB, idQuery)
|
|
|
if resId != nil && *resId != nil && len(*resId) == 1 {
|
|
|
- endId = util.ObjToString((*resId)[0]["_id"])
|
|
|
+ endId = util.ObjToString((*resId)[0]["id"])
|
|
|
comeinTime = (*resId)[0]["comeintime"]
|
|
|
} else {
|
|
|
log.Println("获取本次查询的最大id的时候,未查找到数据...", idQuery)
|
|
@@ -152,7 +152,7 @@ func RunJob() bool {
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
-//加载数据到内存中
|
|
|
+// 加载数据到内存中
|
|
|
func Match(startId *string, endId string, lastTime int64, proUsers, luaJobs map[string]*MyJobs, qyfwUsers map[string]*entity.QyfwUser) {
|
|
|
defer util.Catch()
|
|
|
query := map[string]interface{}{}
|
|
@@ -235,7 +235,7 @@ func Match(startId *string, endId string, lastTime int64, proUsers, luaJobs map[
|
|
|
log.Println("数据匹配完成", *startId)
|
|
|
}
|
|
|
|
|
|
-//加载pro用户
|
|
|
+// 加载pro用户
|
|
|
func loadProUsers(qyfwUsers map[string]*entity.QyfwUser, proJobs map[string]*MyJobs) map[string]*MyJobs {
|
|
|
log.Println("开始加载pro用户")
|
|
|
allUsers := map[string]*MyJobs{}
|
|
@@ -339,7 +339,7 @@ func loadProUsers(qyfwUsers map[string]*entity.QyfwUser, proJobs map[string]*MyJ
|
|
|
return allUsers
|
|
|
}
|
|
|
|
|
|
-//获取所有用户的其他信息
|
|
|
+// 获取所有用户的其他信息
|
|
|
func getQyfwUsers() map[string]*entity.QyfwUser {
|
|
|
users := map[string]*entity.QyfwUser{}
|
|
|
/*sess := mongodbutil.GetMgoConn("j")
|
|
@@ -373,7 +373,7 @@ func getQyfwUsers() map[string]*entity.QyfwUser {
|
|
|
return users
|
|
|
}
|
|
|
|
|
|
-//用户是否有效
|
|
|
+// 用户是否有效
|
|
|
func isValidUser(qyfwUser *entity.QyfwUser, enterprisename, _id, appid string) bool {
|
|
|
if qyfwUser == nil {
|
|
|
log.Println(enterprisename, "用户不存在", "_id", _id, "appid", appid)
|
|
@@ -388,7 +388,7 @@ func isValidUser(qyfwUser *entity.QyfwUser, enterprisename, _id, appid string) b
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
-//数据加载完,执行脚本
|
|
|
+// 数据加载完,执行脚本
|
|
|
func runLuaScript(qyfwUsers map[string]*entity.QyfwUser, luaJobs map[string]*MyJobs, list map[string]interface{}) {
|
|
|
for _, my := range luaJobs {
|
|
|
my.QyfwUser = qyfwUsers[my.Appid]
|
|
@@ -398,7 +398,7 @@ func runLuaScript(qyfwUsers map[string]*entity.QyfwUser, luaJobs map[string]*MyJ
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//pro规则匹配
|
|
|
+// pro规则匹配
|
|
|
func runPro(proUsers map[string]*MyJobs, list map[string]interface{}) {
|
|
|
for _, my := range proUsers {
|
|
|
for _, j := range my.Jobs {
|