- refactor weixin and mini program login
This commit is contained in:
@@ -15,6 +15,7 @@ func CreateWeiXins(db *DaoDB, user *legacymodel.WeiXins) (err error) {
|
||||
SET
|
||||
openid = IF(openid = '', NULL, openid),
|
||||
openid_mini = IF(openid_mini = '', NULL, openid_mini),
|
||||
openid_union = IF(openid_union = '', NULL, openid_union),
|
||||
tel = IF(tel = '', NULL, tel)
|
||||
WHERE id = ?
|
||||
`, user.ID); err != nil {
|
||||
@@ -24,3 +25,59 @@ func CreateWeiXins(db *DaoDB, user *legacymodel.WeiXins) (err error) {
|
||||
Commit(db)
|
||||
return err
|
||||
}
|
||||
|
||||
func GetWeiXinUserByIDs(db *DaoDB, tel, unionID, openID, miniOpenID string) (user *legacymodel.WeiXins, err error) {
|
||||
fieldList := []string{
|
||||
"Tel",
|
||||
"OpenIDUnion",
|
||||
"OpenID",
|
||||
"OpenIDMini",
|
||||
}
|
||||
valueList := []string{
|
||||
tel,
|
||||
unionID,
|
||||
openID,
|
||||
miniOpenID,
|
||||
}
|
||||
user = &legacymodel.WeiXins{
|
||||
Tel: tel,
|
||||
OpenIDUnion: unionID,
|
||||
OpenID: openID,
|
||||
OpenIDMini: miniOpenID,
|
||||
}
|
||||
for index := range valueList {
|
||||
if valueList[index] != "" {
|
||||
if err = GetEntity(db, user, fieldList[index]); err == nil {
|
||||
return user, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
func UpdateWeiXinUser(db *DaoDB, tel, nickname, unionID, openID, miniOpenID string) (err error) {
|
||||
user := &legacymodel.WeiXins{
|
||||
Tel: tel,
|
||||
}
|
||||
if err = GetEntity(db, user, "Tel"); err == nil {
|
||||
updateFields := []string{}
|
||||
if openID != "" {
|
||||
user.OpenID = openID
|
||||
updateFields = append(updateFields, "OpenID")
|
||||
}
|
||||
if unionID != "" {
|
||||
user.OpenIDUnion = unionID
|
||||
updateFields = append(updateFields, "OpenIDUnion")
|
||||
}
|
||||
if miniOpenID != "" {
|
||||
user.OpenIDMini = miniOpenID
|
||||
updateFields = append(updateFields, "OpenIDMini")
|
||||
}
|
||||
if nickname != "" {
|
||||
user.NickName = nickname
|
||||
updateFields = append(updateFields, "NickName")
|
||||
}
|
||||
_, err = UpdateEntity(db, user, updateFields...)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
34
business/model/dao/dao_user_test.go
Normal file
34
business/model/dao/dao_user_test.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
func TestCreateWeiXins(t *testing.T) {
|
||||
err := CreateWeiXins(GetDB(), &legacymodel.WeiXins{
|
||||
Tel: "12345",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(places, false))
|
||||
}
|
||||
|
||||
func TestGetWeiXinUserByIDs(t *testing.T) {
|
||||
user, err := GetWeiXinUserByIDs(GetDB(), "", "unionid", "", "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
globals.SugarLogger.Debug(utils.Format4Output(user, false))
|
||||
}
|
||||
|
||||
func TestUpdateWeiXinUser(t *testing.T) {
|
||||
err := UpdateWeiXinUser(GetDB(), "12345", "nickname", "unionid", "openid", "miniid")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ const (
|
||||
ErrCodeSuccess = "0"
|
||||
ErrCodeGeneralFailed = "-1"
|
||||
ErrCodeTokenIsInvalid = "-2"
|
||||
ErrCodeUserNotExist = "-3"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package legacymodel
|
||||
|
||||
type WeiXins struct {
|
||||
ID int `orm:"column(id)" json:"id"`
|
||||
JxStoreID int `orm:"column(jxstoreid);index" json:"storeID"`
|
||||
OpenID string `orm:"column(openid);size(70);unique;null" json:"-"`
|
||||
OpenIDMini string `orm:"column(openid_mini);size(70);unique;null" json:"-"`
|
||||
Tel string `orm:"size(15);null;unique" json:"tel"`
|
||||
ParentID int `orm:"column(parentid);default(-1);index" json:"parentID"`
|
||||
NickName string `orm:"column(nickname);size(30)" json:"nickname"`
|
||||
ID int `orm:"column(id)" json:"id"`
|
||||
JxStoreID int `orm:"column(jxstoreid);index" json:"storeID"`
|
||||
OpenID string `orm:"column(openid);size(70);unique;null" json:"-"`
|
||||
OpenIDMini string `orm:"column(openid_mini);size(70);unique;null" json:"-"`
|
||||
OpenIDUnion string `orm:"column(openid_union);size(70);unique;null" json:"-"`
|
||||
Tel string `orm:"size(15);null;unique" json:"tel"`
|
||||
ParentID int `orm:"column(parentid);default(-1);index" json:"parentID"`
|
||||
NickName string `orm:"column(nickname);size(30)" json:"nickname"`
|
||||
}
|
||||
|
||||
func (*WeiXins) TableName() string {
|
||||
|
||||
Reference in New Issue
Block a user