|
@@ -60,8 +60,10 @@ func TaskWinner(mapinfo *map[string]interface{}) {
|
|
|
if tmp["winner"] == nil || tmp["winner"] == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ mgoId:=tmp["_id"].(primitive.ObjectID).Hex()
|
|
|
+ delete(tmp,"_id")
|
|
|
bytes, _ := json.Marshal(tmp)
|
|
|
- if err := conn.Set(tmp["_id"].(primitive.ObjectID).Hex(), string(bytes), 0).Err(); err != nil {
|
|
|
+ if err := conn.Set(mgoId, string(bytes), 0).Err(); err != nil {
|
|
|
log.Println(err)
|
|
|
}
|
|
|
}
|
|
@@ -73,12 +75,13 @@ func TaskWinner(mapinfo *map[string]interface{}) {
|
|
|
iterator := scan.Iterator()
|
|
|
for iterator.Next() {
|
|
|
redisId := iterator.Val() //redis key
|
|
|
- redisvalue := conn.Get(iterator.Val()).String() //redis val
|
|
|
+ redisvalue := conn.Get(iterator.Val()).Val() //redis val
|
|
|
tmp := make(map[string]interface{})
|
|
|
json.Unmarshal([]byte(redisvalue),&tmp)
|
|
|
//重复增量操作
|
|
|
//redis查询是否存在
|
|
|
rdb := RedisPool.Get()
|
|
|
+ rdb.Do("SELECT","1")
|
|
|
if reply, err := redis.String(rdb.Do("GET", tmp["winner"])); err != nil {
|
|
|
//redis不存在,存到临时表,定时任务处理
|
|
|
FClient.DbName = Config["mgodb_extract_kf"]
|
|
@@ -236,6 +239,7 @@ func TaskWinner(mapinfo *map[string]interface{}) {
|
|
|
}
|
|
|
//redis查询是否存在
|
|
|
rdb := RedisPool.Get()
|
|
|
+ rdb.Do("SELECT","1")
|
|
|
if reply, err := redis.String(rdb.Do("GET", tmp["winner"])); err != nil {
|
|
|
//redis不存在存到临时表,定时任务处理
|
|
|
FClient.DbName = Config["mgodb_extract_kf"]
|
|
@@ -415,6 +419,7 @@ func TimedTaskWinner() {
|
|
|
tmpId := tmp["_id"].(primitive.ObjectID).Hex()
|
|
|
//再重新查找redis,存在发udp处理,不存在走新增合并
|
|
|
rdb := RedisPool.Get()
|
|
|
+ rdb.Do("SELECT","1")
|
|
|
if _, err := redis.String(rdb.Do("GET", tmp["winner"])); err == nil {
|
|
|
//{"gtid":"57d7ad2f61a0721f152d2ad5","lteid":"5e20968d85a9271abf0ad6c2","stype":""}
|
|
|
//redis存在发送udp进行处理
|
|
@@ -445,6 +450,7 @@ func TimedTaskWinner() {
|
|
|
}
|
|
|
//查询redis不存在新增
|
|
|
FClient.DbName = Config["mgodb_enterprise"]
|
|
|
+
|
|
|
resulttmp := FClient.FindOne(Config["mgodb_enterprise_c"], bson.M{"company_name": tmp["winner"]})
|
|
|
if resulttmp["_id"] == nil {
|
|
|
//log.Println(r)
|
|
@@ -594,6 +600,7 @@ func TimedTaskWinner() {
|
|
|
if saveid != nil {
|
|
|
//保存redis
|
|
|
rc := RedisPool.Get()
|
|
|
+ rc.Do("SELECT","1")
|
|
|
var _id string
|
|
|
if v, ok := saveid.(primitive.ObjectID); ok {
|
|
|
_id = v.Hex()
|