@@ -53,6 +53,14 @@ func BindAdminRecordByOpenid(adminId int, openId string) (err error) {
return
}
+//根据openid解除绑定用户关系
+func UnBindAdminRecordByOpenid(openId string) (err error) {
+ o := orm.NewOrm()
+ msql := ` UPDATE admin_record SET user_id = 0 WHERE open_id = ? `
+ _, err = o.Raw(msql, openId).Exec()
+ return
+}
+
//修改用户微信信息
func ModifyAdminRecordInfo(openId, nickName, headimgUrl, city, province, country string, sex, adminId int) (err error) {
o := orm.NewOrm()
@@ -48,6 +48,19 @@ func GetAdminUserItemByOpenId(openid string) (item *custom.AdminWx, err error) {
item, adminInfoErr := admin.GetAdminWxById(adminRecord.UserId)
if adminInfoErr != nil {
+ //用户被删除了,但是user_record没有删除对应的关系,那么去解除绑定
+ userUnbindErr := admin_record.UnBindAdminRecordByOpenid(openid)
+ if userUnbindErr != nil {
+ err = userUnbindErr
+ }
+ //返回状态为 用户未绑定 逻辑代码
+ err = ERR_ADMIN_NOT_BIND
+ adminRecord.UserId = 0
+ //格式化返回用户数据
+ formatWxUserAndUserRecord(item, adminRecord)
err = adminInfoErr
//如果是下面这个错误,那么这个可能是用户信息被删除,然后user_record表没有移除该条记录所绑定的user_id信息