wangchuanjin 5 ani în urmă
părinte
comite
eb465d4341
1 a modificat fișierele cu 25 adăugiri și 5 ștergeri
  1. 25 5
      src/jfw/modules/weixin/src/wx/wx.go

+ 25 - 5
src/jfw/modules/weixin/src/wx/wx.go

@@ -619,6 +619,7 @@ func Subscribe(w ResponseWriter, r *Request) {
 	} else if strings.Count(r.EventKey, "_") >= 2 {
 		source = strings.SplitN(r.EventKey, "_", 2)[1]
 	}
+	go saveFixedCode(openid, r.Event, source)
 	log.Println("source:", source)
 	var shareData interface{}
 	shareData = redis.Get("sso", "p_shareData_"+source)
@@ -949,6 +950,7 @@ func ScanHandler(w ResponseWriter, r *Request) {
 		return
 	}
 	log.Println("openid======", openid, r.EventKey)
+	go saveFixedCode(openid, r.Event, r.EventKey)
 	if r.EventKey == "69" { //数据报告-扫码回复图文
 		datareportReply := util.ObjToMap(config.Sysconfig["datareportUserReply"])
 		if datareportReply != nil && len(*datareportReply) > 0 {
@@ -1773,13 +1775,17 @@ func downloadUserFace(url string) string {
 		util.Try(func() {
 			os.MkdirAll(config.Sysconfig["headimage"].(string)+fmt.Sprintf("/upload/%s/%s/%s", tn.Format("2006"), tn.Format("01"), tn.Format("02")), 0777)
 			fi, err := os.OpenFile(config.Sysconfig["headimage"].(string)+filename, os.O_CREATE|os.O_TRUNC|os.O_SYNC|os.O_RDWR, 0x666)
-			defer fi.Close()
-			resp, err := http.Get(url)
-			defer resp.Body.Close()
 			if err == nil {
-				io.Copy(fi, resp.Body)
+				log.Println("download userface OpenFile err:", err.Error())
 			} else {
-				log.Println("download userface err:", err.Error())
+				defer fi.Close()
+				resp, err := http.Get(url)
+				if err == nil {
+					defer resp.Body.Close()
+					io.Copy(fi, resp.Body)
+				} else {
+					log.Println("download userface err:", err.Error())
+				}
 			}
 		}, func(e interface{}) {})
 	}()
@@ -1809,3 +1815,17 @@ func HashVal(src string) int {
 	}
 	return check
 }
+
+//记录固定码的扫码日志
+func saveFixedCode(openid, t, code string) {
+	defer util.Catch()
+	if !numCodeReg.MatchString(code) {
+		return
+	}
+	tools.MQFW.Save("wxfixedcode", map[string]interface{}{
+		"createtime": time.Now().Unix(),
+		"type":       t,
+		"code":       code,
+		"openid":     openid,
+	})
+}