Bläddra i källkod

Merge remote-tracking branch 'origin/0.0.1' into debug

Roc 3 år sedan
förälder
incheckning
2963c27b41
2 ändrade filer med 21 tillägg och 0 borttagningar
  1. 8 0
      models/tables/admin_record/admin_record.go
  2. 13 0
      services/admin.go

+ 8 - 0
models/tables/admin_record/admin_record.go

@@ -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()

+ 13 - 0
services/admin.go

@@ -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
+			return
+		}
+		//返回状态为 用户未绑定 逻辑代码
+		err = ERR_ADMIN_NOT_BIND
+		adminRecord.UserId = 0
+		//格式化返回用户数据
+		formatWxUserAndUserRecord(item, adminRecord)
+		return
+
 		err = adminInfoErr
 
 		//如果是下面这个错误,那么这个可能是用户信息被删除,然后user_record表没有移除该条记录所绑定的user_id信息