Files
jx-callback/business/model/dao/dao_user.go
gazebo a61d047f5e - add dao.SetWeiXinsEmpty2Null
- call SetWeiXinsEmpty2Null in BindMobile2Store and AddMobile2Mobile
2019-01-30 14:13:58 +08:00

90 lines
2.0 KiB
Go

package dao
import (
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
)
func CreateWeiXins(db *DaoDB, user *legacymodel.WeiXins) (err error) {
Begin(db)
if err = CreateEntity(db, user); err != nil {
Rollback(db)
return err
}
if err = SetWeiXinsEmpty2Null(db, user); err != nil {
Rollback(db)
return err
}
Commit(db)
return err
}
func SetWeiXinsEmpty2Null(db *DaoDB, user *legacymodel.WeiXins) (err error) {
_, err = ExecuteSQL(db, `
UPDATE weixins
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),
parentid = IF(parentid = 0, -1, parentid)
WHERE id = ?
`, user.ID)
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
}