Browse Source

Merge branch 'comein'

zwxi 11 months ago
parent
commit
55d52b18f8
2 changed files with 37 additions and 10 deletions
  1. 7 0
      models/comein_white_user.go
  2. 30 10
      services/comein/comein.go

+ 7 - 0
models/comein_white_user.go

@@ -32,4 +32,11 @@ func DelComeinWhiteUserMulti(delIds []int) (err error) {
 	o:=orm.NewOrm()
 	_, err=o.Raw(sql, delIds).Exec()
 	return
+}
+
+func GetComeinWhiteUser(mobiles,emails []string) (items []*ComeinWhiteUser, err error) {
+	sql:=`SELECT * fromBy comein_white_user WHERE mobile IN (` + utils.GetOrmInReplace(len(mobiles)) + `) OR email IN (` + utils.GetOrmInReplace(len(emails)) + `)`
+	o:=orm.NewOrm()
+	_, err=o.Raw(sql,mobiles,emails).QueryRows(&items)
+	return
 }

+ 30 - 10
services/comein/comein.go

@@ -477,27 +477,36 @@ func SyncWhiteList(cont context.Context) (err error) {
 		fmt.Println("GetUserMobileFormal Err:", err.Error())
 		return
 	}
+	addMobiles := make([]string, 0)
+	addemails := make([]string, 0)
 	addList := make([]*models.ComeinWhiteUser, 0)
 	for _, v := range needAddList {
 		if _, ok := syncedMap[v.Mobile+v.Email]; !ok {
 			user := models.ComeinWhiteUser{
 				UserId:      v.UserId,
 				Mobile:      v.Mobile,
-				CountryCode: v.CountryCode,
+				CountryCode: "+"+v.CountryCode,
 				Email:       v.Email,
 				IsFake:      0,
 			}
 			addList = append(addList, &user)
+
+
+			if v.Mobile != "" {
+				addMobiles = append(addMobiles,"'"+ v.Mobile+"'")
+			} else if v.Email != "" {
+				addemails = append(addemails,"'"+ v.Email+"'")
+			}
 		}
 	}
-	err = syncWhiteList(addList, 1)
+	err = models.AddComeinWhiteUserMulti(addList)
 	if err != nil {
-		fmt.Println("新增白名单失败", err.Error())
+		fmt.Println("新增白名单失败,AddComeinWhiteUserMulti", err.Error())
 		return
 	}
-	err = models.AddComeinWhiteUserMulti(addList)
+	err = syncWhiteList(addMobiles,addemails, 1)
 	if err != nil {
-		fmt.Println("新增白名单失败,AddComeinWhiteUserMulti", err.Error())
+		fmt.Println("新增白名单失败", err.Error())
 		return
 	}
 
@@ -507,20 +516,27 @@ func SyncWhiteList(cont context.Context) (err error) {
 		fmt.Println("GetUserMobileFormal Err:", err.Error())
 		return
 	}
+	delMobiles := make([]string, 0)
+	delEmials := make([]string, 0)
 	delList := make([]*models.ComeinWhiteUser, 0)
 	for _, v := range needDelList {
 		if _, ok := syncedMap[v.Mobile+v.Email]; ok {
 			user := models.ComeinWhiteUser{
-				UserId:      v.UserId,
 				Mobile:      v.Mobile,
-				CountryCode: v.CountryCode,
+				CountryCode: "+"+v.CountryCode,
 				Email:       v.Email,
 				IsFake:      0,
 			}
 			delList = append(delList, &user)
+
+			if v.Mobile != "" {
+				delMobiles = append(delMobiles, "'"+v.Mobile+"'")
+			} else if v.Email != "" {
+				delEmials = append(delEmials, "'"+v.Email+"'")
+			}
 		}
 	}
-	err = syncWhiteList(delList, 2)
+	err = syncWhiteList(delMobiles, delEmials, 2)
 	if err != nil {
 		fmt.Println("删除白名单失败", err.Error())
 		return
@@ -538,7 +554,7 @@ func SyncWhiteList(cont context.Context) (err error) {
 	return
 }
 
-func syncWhiteList(list []*models.ComeinWhiteUser, opt int) (err error) {
+func syncWhiteList(mobiles, emails []string, opt int) (err error) {
 	postUrl := utils.COMEIN_URL
 
 	timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
@@ -553,11 +569,15 @@ func syncWhiteList(list []*models.ComeinWhiteUser, opt int) (err error) {
 	}
 
 	whiteList := make([]yb.Whitelist, 0)
+	list, err := models.GetComeinWhiteUser(mobiles, emails)
+	if err != nil {
+		return
+	}
 	for _, v := range list {
 		whiteUser := yb.Whitelist{}
 		if v.Mobile != "" {
 			whiteUser.Phone = v.Mobile
-			whiteUser.Areacode = "+" + v.CountryCode
+			whiteUser.Areacode = v.CountryCode
 			whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
 
 			whiteList = append(whiteList, whiteUser)