From c68413f680d64ad9343ec7a2c0a7fec8fc4531a6 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期三, 12 八月 2020 14:48:47 +0800
Subject: [PATCH] add unbind alias

---
 service/userService.go |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/service/userService.go b/service/userService.go
index 8f66c41..71bf37f 100644
--- a/service/userService.go
+++ b/service/userService.go
@@ -58,6 +58,13 @@
 				if cid != "" {
 					go func() {
 						var uc models.UserClient
+						ucList := uc.GetByCid(cid)
+						if ucList != nil && len(ucList) >0 {
+							if len(ucList) >1 || ucList[0].PhoneNum != phoneNum {
+								unbindB, unE := UnbindAlias(cid)
+								fmt.Println("unbindB:", unbindB, "err:", unE)
+							}
+						}
 						if !uc.ExistByCid(phoneNum, cid) {
 							new := models.UserClient{
 								Id:uuid.NewV4().String(),
@@ -66,9 +73,9 @@
 								BindTime: time.Now().Format("2006-01-02 15:04:05"),
 							}
 							new.Insert()
+							bindR, bindE := BindAlias(cid, phoneNum)
+							fmt.Println("bind cid:",cid, "phoneNum:",phoneNum,"result:", bindR, "err:", bindE)
 						}
-						bindR, bindE := BindAlias(cid, phoneNum)
-						fmt.Println("bind cid:",cid, "phoneNum:",phoneNum,"result:", bindR, "err:", bindE)
 					}()
 				}
 				return true, &vo.UserInfo{
@@ -97,6 +104,13 @@
 			if cid != "" {
 				go func() {
 					var uc models.UserClient
+					ucList := uc.GetByCid(cid)
+					if ucList != nil && len(ucList) >0 {
+						if len(ucList) >1 || ucList[0].PhoneNum != phoneNum {
+							unbindB, unE := UnbindAlias(cid)
+							fmt.Println("unbindB:", unbindB, "err:", unE)
+						}
+					}
 					if !uc.ExistByCid(phoneNum, cid) {
 						new := models.UserClient{
 							Id:uuid.NewV4().String(),
@@ -105,9 +119,9 @@
 							BindTime: time.Now().Format("2006-01-02 15:04:05"),
 						}
 						new.Insert()
+						bindR, bindE := BindAlias(cid, phoneNum)
+						fmt.Println("bind cid:",cid, "phoneNum:",phoneNum,"result:", bindR, "err:", bindE)
 					}
-					bindR, bindE := BindAlias(cid, phoneNum)
-					fmt.Println("bind cid:",cid, "phoneNum:",phoneNum,"result:", bindR, "err:", bindE)
 				}()
 			}
 			return true, &vo.UserInfo{

--
Gitblit v1.8.0