- mini program login
This commit is contained in:
@@ -22,13 +22,14 @@ type StoreUserInfo struct {
|
||||
func GetStoreUsers(ctx *jxcontext.Context, storeID int) (storeUserInfos []*StoreUserInfo, err error) {
|
||||
sql := `
|
||||
SELECT t1.id, t1.jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid, t3.tel parent_mobile,
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"parentID":', t2.parentid, ',"openID":"', IF(t2.openid IS NULL, "", t2.openid), '","tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"parentID":', t2.parentid, ',"tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
FROM weixins t1
|
||||
LEFT JOIN weixins t2 ON t2.parentid = t1.id
|
||||
LEFT JOIN weixins t3 ON t1.parentid = t3.id
|
||||
WHERE t1.parentid = -1 AND t1.jxstoreid = ?
|
||||
GROUP BY t1.id, t1.jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid;
|
||||
GROUP BY 1,2,3,4,5,6,7;
|
||||
`
|
||||
globals.SugarLogger.Debug(sql)
|
||||
if err = dao.GetRows(nil, &storeUserInfos, sql, storeID); err == nil {
|
||||
for _, storeUserInfo := range storeUserInfos {
|
||||
if storeUserInfo.MembersStr != "" {
|
||||
@@ -42,12 +43,12 @@ func GetStoreUsers(ctx *jxcontext.Context, storeID int) (storeUserInfos []*Store
|
||||
func GetUserInfo(ctx *jxcontext.Context, mobile string) (storeUserInfo *StoreUserInfo, err error) {
|
||||
sql := `
|
||||
SELECT t1.id, IF(t3.id IS NULL, t1.jxstoreid, t3.jxstoreid) jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid, t3.tel parent_mobile,
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"openID":"', IF(t2.openid IS NULL, "", t2.openid), '","tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
FROM weixins t1
|
||||
LEFT JOIN weixins t2 ON t2.parentid = t1.id
|
||||
LEFT JOIN weixins t3 ON t1.parentid = t3.id
|
||||
WHERE t1.tel = ?
|
||||
GROUP BY t1.id, t1.jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid;
|
||||
GROUP BY 1,2,3,4,5,6,7;
|
||||
`
|
||||
storeUserInfo = new(StoreUserInfo)
|
||||
if err = dao.GetRow(nil, storeUserInfo, sql, mobile); err == nil {
|
||||
@@ -61,12 +62,12 @@ func GetUserInfo(ctx *jxcontext.Context, mobile string) (storeUserInfo *StoreUse
|
||||
func GetSelfInfo(ctx *jxcontext.Context, openID string) (storeUserInfo *StoreUserInfo, err error) {
|
||||
sql := `
|
||||
SELECT t1.id, IF(t3.id IS NULL, t1.jxstoreid, t3.jxstoreid) jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid, t3.tel parent_mobile,
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"openID":"', IF(t2.openid IS NULL, "", t2.openid), '","tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
|
||||
FROM weixins t1
|
||||
LEFT JOIN weixins t2 ON t2.parentid = t1.id
|
||||
LEFT JOIN weixins t3 ON t1.parentid = t3.id
|
||||
WHERE t1.openid = ?
|
||||
GROUP BY t1.id, t1.jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid;
|
||||
GROUP BY 1,2,3,4,5,6,7;
|
||||
`
|
||||
storeUserInfo = new(StoreUserInfo)
|
||||
if err = dao.GetRow(nil, storeUserInfo, sql, openID); err == nil || err == orm.ErrNoRows { // todo
|
||||
@@ -80,7 +81,7 @@ func GetSelfInfo(ctx *jxcontext.Context, openID string) (storeUserInfo *StoreUse
|
||||
|
||||
func UnbindMobile(ctx *jxcontext.Context, mobile string) (num int64, err error) {
|
||||
return dao.UpdateEntityByKV(nil, &legacymodel.WeiXins{}, map[string]interface{}{
|
||||
"JxStoreID": nil,
|
||||
"JxStoreID": 0,
|
||||
"ParentID": -1,
|
||||
}, map[string]interface{}{
|
||||
"Tel": mobile,
|
||||
@@ -96,7 +97,7 @@ func BindMobile2Store(ctx *jxcontext.Context, mobile string, storeID int) (num i
|
||||
num, err = dao.UpdateEntity(db, user, "JxStoreID")
|
||||
} else {
|
||||
user.ParentID = -1
|
||||
if err = createUserAndSetOpenIDNull(db, user); err == nil {
|
||||
if err = dao.CreateWeiXins(db, user); err == nil {
|
||||
num = 1
|
||||
}
|
||||
}
|
||||
@@ -118,7 +119,7 @@ func AddMobile2Mobile(ctx *jxcontext.Context, parentMobile, mobile string) (num
|
||||
if err == nil {
|
||||
num, err = dao.UpdateEntity(db, user, "ParentID")
|
||||
} else {
|
||||
if err = createUserAndSetOpenIDNull(db, user); err == nil {
|
||||
if err = dao.CreateWeiXins(db, user); err == nil {
|
||||
num = 1
|
||||
}
|
||||
}
|
||||
@@ -186,17 +187,3 @@ func verifyMobileHasNoMembers(db *dao.DaoDB, mobile string) (err error) {
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func createUserAndSetOpenIDNull(db *dao.DaoDB, user *legacymodel.WeiXins) (err error) {
|
||||
dao.Begin(db)
|
||||
if err = dao.CreateEntity(db, user); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
if _, err = dao.ExecuteSQL(db, "UPDATE weixins SET openid = NULL WHERE tel = ?", user.Tel); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user