|
@@ -443,7 +443,7 @@ func (l *Login) Register() error {
|
|
|
}
|
|
|
return l.Render("/me/register.html", &l.T)
|
|
|
}
|
|
|
- returnSign := ""
|
|
|
+ var returnSign string
|
|
|
status := func() string {
|
|
|
reqType := l.GetString("reqType")
|
|
|
if reqType == "sendIdentCode" { //发短信
|
|
@@ -476,23 +476,8 @@ func (l *Login) Register() error {
|
|
|
if !passwordReg.MatchString(password) {
|
|
|
return "passwordError"
|
|
|
}
|
|
|
- RegLock.Lock()
|
|
|
- reg := RegMap[phone]
|
|
|
- if reg == nil {
|
|
|
- reg = &RegStruct{}
|
|
|
- reg.Lock = sync.Mutex{}
|
|
|
- reg.MapR = make(map[string]int64)
|
|
|
- reg.MapR[phone] = time.Now().Unix()
|
|
|
- RegMap[phone] = reg
|
|
|
- }
|
|
|
- RegLock.Unlock()
|
|
|
+
|
|
|
retVal := func() string {
|
|
|
- reg.Lock.Lock()
|
|
|
- defer reg.Lock.Unlock()
|
|
|
- if userIsExists(phone) { //用户已存在
|
|
|
- return "userExists"
|
|
|
- }
|
|
|
- saveid := ""
|
|
|
rid := l.GetString("rid")
|
|
|
oid := l.GetString("oid")
|
|
|
phoneType := l.GetString("phoneType")
|
|
@@ -501,9 +486,8 @@ func (l *Login) Register() error {
|
|
|
s_entname := strings.TrimSpace(l.GetString("s_entname")) //p19.3用户信息采集 公司名称
|
|
|
//保存用户之前,先清理rid
|
|
|
//clearRidByRid(rid)
|
|
|
-
|
|
|
+ var errStr string
|
|
|
//是否存在微信账户
|
|
|
- saveSuccess := false
|
|
|
data := map[string]interface{}{
|
|
|
"s_phone": phone,
|
|
|
"s_unique": phone,
|
|
@@ -513,64 +497,9 @@ func (l *Login) Register() error {
|
|
|
"s_appponetype": phoneType,
|
|
|
"s_company": s_entname,
|
|
|
}
|
|
|
- //注册邮箱
|
|
|
email := l.GetString("email")
|
|
|
- if jy.IsEmail(email) {
|
|
|
- data["s_email"] = email
|
|
|
- }
|
|
|
- if wxuid := findWxExistsId(phone); wxuid != nil {
|
|
|
- saveSuccess = mongodb.Update("user", map[string]interface{}{"s_m_phone": phone}, map[string]interface{}{
|
|
|
- "$set": data,
|
|
|
- "$unset": map[string]interface{}{"s_m_phone": ""},
|
|
|
- }, false, false)
|
|
|
- data["_id"] = wxuid
|
|
|
- //用户中台同步
|
|
|
- func(userid string) {
|
|
|
- // ck, _ := l.GetCookie("SESSIONID")
|
|
|
- // usercenter.UpdateBaseUser(mongodb, qutil.ObjToString(config.Sysconfig["userCenterApi"]), userid, ck)
|
|
|
- if uinfo := jy.GetInfoForBaseUser(mongodb, userid); uinfo != nil {
|
|
|
- jy.UpdateUser(mongodb, userid, *uinfo, *config.Middleground)
|
|
|
- }
|
|
|
- }(qutil.ObjToString(wxuid))
|
|
|
- } else {
|
|
|
- data["i_appid"] = 2
|
|
|
- data["l_registedate"] = time.Now().Unix()
|
|
|
- data["i_ts_guide"] = 2
|
|
|
- data["o_jy"] = map[string]interface{}{
|
|
|
- "i_apppush": 1,
|
|
|
- "i_ratemode": 2,
|
|
|
- "l_modifydate": time.Now().Unix(),
|
|
|
- }
|
|
|
- data["s_regsource"] = isAndroidOrIOS(l.Header("User-Agent"))
|
|
|
- data["s_platform"] = "app"
|
|
|
- saveid = mongodb.Save("user", data)
|
|
|
- saveSuccess = saveid != ""
|
|
|
- }
|
|
|
- if saveSuccess && saveid != "" {
|
|
|
- //用户中台同步
|
|
|
- func(userid string) {
|
|
|
- // formdata := map[string]interface{}{
|
|
|
- // "appid": "10000",
|
|
|
- // "phone": phone,
|
|
|
- // "password": qutil.GetMd5String(password),
|
|
|
- // "company": s_entname,
|
|
|
- // }
|
|
|
- // ck, _ := l.GetCookie("SESSIONID")
|
|
|
- // usercenter.AddBaseUser(mongodb, qutil.ObjToString(config.Sysconfig["userCenterApi"]), userid, formdata, ck)
|
|
|
- if ok := jy.AddUser(mongodb, userid, pb.UserAddReq{
|
|
|
- Appid: "10000",
|
|
|
- Phone: phone,
|
|
|
- Password: qutil.GetMd5String(password),
|
|
|
- Company: s_entname,
|
|
|
- }, *config.Middleground); !ok {
|
|
|
- log.Println("usercenter add error", userid, phone)
|
|
|
- }
|
|
|
- }(saveid)
|
|
|
- baseId, ok := mongodb.FindById("user", saveid, `{"base_user_id":1}`)
|
|
|
- if ok && baseId != nil && len(*baseId) > 0 {
|
|
|
- data["base_user_id"] = (*baseId)["base_user_id"]
|
|
|
- }
|
|
|
-
|
|
|
+ registerclient := jy.NewRegister(jyutil.Compatible.Mgo, jyutil.Compatible.BaseService, jyutil.Compatible.MainMysql, jyutil.Compatible.Middleground)
|
|
|
+ _, returnSign, errStr = registerclient.PublicRegister(phone, email, isAndroidOrIOS(l.Header("User-Agent")), data, func(saveid string) string {
|
|
|
addr := config.Sysconfig["nsq"].(string)
|
|
|
topic := config.Sysconfig["nsq_topic"].(string)
|
|
|
go func() {
|
|
@@ -597,10 +526,10 @@ func (l *Login) Register() error {
|
|
|
}()
|
|
|
l.DelSession("registerStep")
|
|
|
jy.ClearPhoneIdentSession(l.Session())
|
|
|
- returnSign = afterLogin(data, l.Session(), rid, oid, phoneType, channel, deviceId, true, l.ResponseWriter)
|
|
|
- return "y"
|
|
|
- }
|
|
|
- return "saveError"
|
|
|
+ returnSign := afterLogin(data, l.Session(), rid, oid, phoneType, channel, deviceId, true, l.ResponseWriter)
|
|
|
+ return returnSign
|
|
|
+ })
|
|
|
+ return errStr
|
|
|
}()
|
|
|
return retVal
|
|
|
}
|