|
@@ -22,7 +22,7 @@ import (
|
|
|
"tools"
|
|
|
|
|
|
"github.com/SKatiyar/qr"
|
|
|
- "github.com/influxdata/influxdb-client"
|
|
|
+ _ "github.com/influxdata/influxdb-client"
|
|
|
. "github.com/wizjin/weixin"
|
|
|
)
|
|
|
|
|
@@ -639,81 +639,55 @@ func Subscribe(w ResponseWriter, r *Request) {
|
|
|
func saveUserLog(shareId, openid string) {
|
|
|
defer util.Catch()
|
|
|
date := time.Now()
|
|
|
- userData := redis.Get("sso", "p_shareData_"+shareId)
|
|
|
+ userData_redis := redis.Get("sso", "p_shareData_"+shareId)
|
|
|
var pccodepre = ""
|
|
|
user, _ := Mux.GetUserInfo(openid)
|
|
|
nickname := user.Nickname
|
|
|
province := user.Province
|
|
|
+ userData := map[string]interface{}{}
|
|
|
action := "关注"
|
|
|
- model := ""
|
|
|
- referer := ""
|
|
|
- paramkey := ""
|
|
|
- activecode := ""
|
|
|
- usersource := ""
|
|
|
- os := ""
|
|
|
- browse := ""
|
|
|
- //infoTime := date.Unix()
|
|
|
- if userData != nil {
|
|
|
+ infoTime := date.Unix()
|
|
|
+ if userData_redis != nil {
|
|
|
infoData := map[string]interface{}{}
|
|
|
- tmp, _ := json.Marshal(userData)
|
|
|
+ tmp, _ := json.Marshal(userData_redis)
|
|
|
json.Unmarshal(tmp, &infoData)
|
|
|
- //log.Println("weixinuserdata:", infoData)
|
|
|
+ userData["s_action"] = action
|
|
|
pccodepre = util.ObjToString(infoData["action"])
|
|
|
- model = util.ObjToString(infoData["RModule"])
|
|
|
- referer = util.ObjToString(infoData["RReferer"])
|
|
|
- usersource = util.ObjToString(infoData["RSource"])
|
|
|
- paramkey = util.ObjToString(infoData["Rparamkey"])
|
|
|
- activecode = util.ObjToString(infoData["RActiveCode"])
|
|
|
- os = util.ObjToString(infoData["Ros"])
|
|
|
- browse = util.ObjToString(infoData["Rbrowse"])
|
|
|
+ userData["s_module"] = util.ObjToString(infoData["RModule"])
|
|
|
+ userData["s_referer"] = util.ObjToString(infoData["RReferer"])
|
|
|
+ userData["s_source"] = util.ObjToString(infoData["RSource"])
|
|
|
+ userData["s_paramkey"] = util.ObjToString(infoData["Rparamkey"])
|
|
|
+ userData["s_activeCode"] = util.ObjToString(infoData["RActiveCode"])
|
|
|
+ userData["s_os"] = util.ObjToString(infoData["Ros"])
|
|
|
+ userData["s_browse"] = util.ObjToString(infoData["Rbrowse"])
|
|
|
} else {
|
|
|
- model = "首页"
|
|
|
- referer = "剑鱼网站"
|
|
|
- usersource = "剑鱼网站"
|
|
|
+ userData["s_module"] = "首页"
|
|
|
+ userData["s_referer"] = "剑鱼网站"
|
|
|
+ userData["s_source"] = "剑鱼网站"
|
|
|
}
|
|
|
if strings.HasPrefix(pccodepre, "32") {
|
|
|
- usersource = "用户分享"
|
|
|
- model = "微信用户分享"
|
|
|
- referer = ""
|
|
|
+ userData["s_source"] = "用户分享"
|
|
|
+ userData["s_module"] = "微信用户分享"
|
|
|
+ userData["s_referer"] = ""
|
|
|
}
|
|
|
- if province == "" {
|
|
|
- province = "中国"
|
|
|
+ userData["s_province"] = province
|
|
|
+ if userData["s_os"] == "" {
|
|
|
+ userData["s_os"] = "其他"
|
|
|
}
|
|
|
- if os == "" {
|
|
|
- os = "其他"
|
|
|
+ if userData["s_browse"] == "" {
|
|
|
+ userData["s_browse"] = "其他"
|
|
|
}
|
|
|
- if browse == "" {
|
|
|
- browse = "其他"
|
|
|
- }
|
|
|
- //timelog := time.Unix(infoTime, 0).Format("2006-01-02 15:04:05")
|
|
|
- //timestamp, _ := time.Parse("2006-01-02 15:04:05", timelog) //新用户关注取关日期
|
|
|
- err := util.InsertInto("jy_logs",
|
|
|
- "user_log",
|
|
|
- []influxdb.Tag{
|
|
|
- {Key: "province", Value: province},
|
|
|
- {Key: "action", Value: action},
|
|
|
- {Key: "usersource", Value: usersource},
|
|
|
- {Key: "model", Value: model},
|
|
|
- {Key: "s_date", Value: util.FormatDate(&date, util.Date_Short_Layout)},
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "openid": openid,
|
|
|
- "nickname": nickname,
|
|
|
- "referer": referer,
|
|
|
- "paramkey": paramkey,
|
|
|
- "activecode": activecode,
|
|
|
- "browse": browse,
|
|
|
- "os": os,
|
|
|
- "sourceid": shareId,
|
|
|
- //"s_date": util.FormatDate(&date, util.Date_Full_Layout),
|
|
|
- },
|
|
|
- time.Now(),
|
|
|
- "autogen",
|
|
|
- )
|
|
|
- if err != nil {
|
|
|
- log.Println("influxdb:", err.Error())
|
|
|
+ userData["i_year"] = date.Year()
|
|
|
+ userData["i_month"] = getMonth(date.Month().String())
|
|
|
+ userData["i_day"] = date.Day()
|
|
|
+ userData["l_timestamp"] = infoTime
|
|
|
+ userData["s_nickname"] = nickname
|
|
|
+ userData["s_openid"] = openid
|
|
|
+ id := tools.MQFW.Save("register_log", userData)
|
|
|
+ if len(id) > 0 {
|
|
|
+ log.Println("register-success:")
|
|
|
} else {
|
|
|
- log.Println(err, "---", nickname)
|
|
|
+ log.Println("register-err:", nickname)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -914,92 +888,23 @@ func updateUserLog(openid string) {
|
|
|
return
|
|
|
}
|
|
|
date := time.Now()
|
|
|
- //infoTime := date.Unix()
|
|
|
- nickname := ""
|
|
|
- province := ""
|
|
|
- action := "取关"
|
|
|
- model := ""
|
|
|
- referer := ""
|
|
|
- paramkey := ""
|
|
|
- activecode := ""
|
|
|
- usersource := ""
|
|
|
- os := ""
|
|
|
- browse := ""
|
|
|
- shareId := ""
|
|
|
- sdate := ""
|
|
|
- err := util.Search("jy_logs",
|
|
|
- func(row influxdb.Row) error {
|
|
|
- model = util.ObjToString(row.ValueByName("model"))
|
|
|
- referer = util.ObjToString(row.ValueByName("referer"))
|
|
|
- activecode = util.ObjToString(row.ValueByName("activecode"))
|
|
|
- usersource = util.ObjToString(row.ValueByName("usersource"))
|
|
|
- nickname = util.ObjToString(row.ValueByName("nickname"))
|
|
|
- province = util.ObjToString(row.ValueByName("province"))
|
|
|
- os = util.ObjToString(row.ValueByName("os"))
|
|
|
- browse = util.ObjToString(row.ValueByName("browse"))
|
|
|
- paramkey = util.ObjToString(row.ValueByName("paramkey"))
|
|
|
- shareId = util.ObjToString(row.ValueByName("sourceid"))
|
|
|
- sdate = util.ObjToString(row.ValueByName("s_date"))
|
|
|
- return nil
|
|
|
- },
|
|
|
- `select "model","referer","paramkey","activecode","usersource","nickname","sourceid","province","os","browse","s_date" from autogen.user_log where openid=$openid order by time desc limit 1`,
|
|
|
- influxdb.Param("openid", openid),
|
|
|
- )
|
|
|
- if err != nil {
|
|
|
- log.Println("取消关注用户信息报错:", err.Error())
|
|
|
- util.InsertInto("jy_logs",
|
|
|
- "user_log",
|
|
|
- []influxdb.Tag{
|
|
|
- {Key: "province", Value: "中国"},
|
|
|
- {Key: "action", Value: "取关"},
|
|
|
- {Key: "usersource", Value: "no-source"},
|
|
|
- {Key: "model", Value: "no-model"},
|
|
|
- {Key: "s_date", Value: util.FormatDate(&date, util.Date_Short_Layout)},
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "openid": openid,
|
|
|
- "nickname": nickname,
|
|
|
- "referer": referer,
|
|
|
- "paramkey": paramkey,
|
|
|
- "activecode": activecode,
|
|
|
- "browse": browse,
|
|
|
- "os": os,
|
|
|
- "sourceid": shareId,
|
|
|
- //"s_date": util.FormatDate(&date, util.Date_Full_Layout),
|
|
|
- },
|
|
|
- time.Now().Add(time.Duration(rand.Intn(100000))*time.Millisecond),
|
|
|
- "autogen",
|
|
|
- )
|
|
|
- } else {
|
|
|
- //timelog := time.Unix(infoTime, 0).Format("2006-01-02 15:04:05")
|
|
|
- //timestamp, _ := time.Parse("2006-01-02 15:04:05", timelog) //新用户关注取关日期
|
|
|
- err := util.InsertInto("jy_logs",
|
|
|
- "user_log",
|
|
|
- []influxdb.Tag{
|
|
|
- {Key: "province", Value: province},
|
|
|
- {Key: "action", Value: action},
|
|
|
- {Key: "usersource", Value: usersource},
|
|
|
- {Key: "model", Value: model},
|
|
|
- {Key: "s_date", Value: util.FormatDate(&date, util.Date_Short_Layout)},
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "openid": openid,
|
|
|
- "nickname": nickname,
|
|
|
- "referer": referer,
|
|
|
- "paramkey": paramkey,
|
|
|
- "activecode": activecode,
|
|
|
- "browse": browse,
|
|
|
- "os": os,
|
|
|
- "sourceid": shareId,
|
|
|
- //"s_date": util.FormatDate(&date, util.Date_Full_Layout),
|
|
|
- },
|
|
|
- time.Now().Add(time.Duration(rand.Intn(100000))*time.Millisecond),
|
|
|
- "autogen",
|
|
|
- )
|
|
|
- if err != nil {
|
|
|
- log.Println("influxdb11:", err.Error())
|
|
|
+ infoTime := date.Unix()
|
|
|
+ userData, ok := tools.MQFW.Find("register_log", `{"s_openid": `+openid+`}`, `{"l_timestamp":-1}`, nil, false, 0, 1)
|
|
|
+ if ok && len(*userData) > 0 {
|
|
|
+ data := (*userData)[0]
|
|
|
+ data["s_action"] = "取关"
|
|
|
+ data["l_timestamp"] = infoTime
|
|
|
+ data["i_year"] = date.Year()
|
|
|
+ data["i_month"] = getMonth(date.Month().String())
|
|
|
+ data["i_day"] = date.Day()
|
|
|
+ id := tools.MQFW.Save("register_log", data)
|
|
|
+ if len(id) > 0 {
|
|
|
+ log.Println("update_register_success:")
|
|
|
}
|
|
|
+ } else {
|
|
|
+ log.Println("update_register_err:")
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//
|