Merge branch 'refs/heads/feat-user-sync'
This commit is contained in:
commit
8187c36585
|
|
@ -396,7 +396,7 @@ func GetSyncUserInfo(c *gin.Context) {
|
||||||
if res == nil {
|
if res == nil {
|
||||||
c.JSON(200, gin.H{"code": proto.SuccessCode, "message": "success", "data": "success"})
|
c.JSON(200, gin.H{"code": proto.SuccessCode, "message": "success", "data": "success"})
|
||||||
} else {
|
} else {
|
||||||
c.JSON(200, gin.H{"code": proto.OperationFailed, "message": "failed", "data": "failed"})
|
c.JSON(200, gin.H{"code": proto.OperationFailed, "message": "failed:" + res.Error(), "data": "failed"})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.JSON(200, gin.H{"code": proto.ParameterError, "message": "type is error", "data": dao.UserSyncResp{}})
|
c.JSON(200, gin.H{"code": proto.ParameterError, "message": "type is error", "data": dao.UserSyncResp{}})
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -202,6 +203,7 @@ func GetUserSyncData(device string) dao.UserSyncResp {
|
||||||
|
|
||||||
func setSyncUserDataSet(t string, id int) error {
|
func setSyncUserDataSet(t string, id int) error {
|
||||||
devices := worker.GetRedisSetMembers("sync_devices_ids") //主服务器查看从服务器的设备列表
|
devices := worker.GetRedisSetMembers("sync_devices_ids") //主服务器查看从服务器的设备列表
|
||||||
|
fmt.Println("set sync user data set devices:", devices, "t:", t, "id:", id)
|
||||||
var err error
|
var err error
|
||||||
for _, device := range devices {
|
for _, device := range devices {
|
||||||
key := device + "_sync_user_ids"
|
key := device + "_sync_user_ids"
|
||||||
|
|
@ -232,7 +234,8 @@ func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
add_key := device + "_sync_user_ids_add_confirm"
|
add_key := device + "_sync_user_ids_add_confirm"
|
||||||
isSuccess := worker.SetRedisSetAddBatchWithExpire(add_key, ids_add, time.Second*30)
|
isSuccess := worker.SetRedisSetAddBatchWithExpire(add_key, ids_add, time.Second*30)
|
||||||
if !isSuccess {
|
if !isSuccess {
|
||||||
err = errors.New("set confirm error")
|
err = errors.New("set add confirm error")
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
var ids_update []string
|
var ids_update []string
|
||||||
for _, v := range data.Update {
|
for _, v := range data.Update {
|
||||||
|
|
@ -241,7 +244,8 @@ func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
update_key := device + "_sync_user_ids_update_confirm"
|
update_key := device + "_sync_user_ids_update_confirm"
|
||||||
isSuccess = worker.SetRedisSetAddBatchWithExpire(update_key, ids_update, time.Second*30)
|
isSuccess = worker.SetRedisSetAddBatchWithExpire(update_key, ids_update, time.Second*30)
|
||||||
if !isSuccess {
|
if !isSuccess {
|
||||||
err = errors.New("set confirm error")
|
err = errors.New("set update confirm error")
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var ids_delete []string
|
var ids_delete []string
|
||||||
|
|
@ -251,7 +255,8 @@ func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
del_key := device + "_sync_user_ids_delete_confirm"
|
del_key := device + "_sync_user_ids_delete_confirm"
|
||||||
isSuccess = worker.SetRedisSetAddBatchWithExpire(del_key, ids_delete, time.Second*30)
|
isSuccess = worker.SetRedisSetAddBatchWithExpire(del_key, ids_delete, time.Second*30)
|
||||||
if !isSuccess {
|
if !isSuccess {
|
||||||
err = errors.New("set confirm error")
|
err = errors.New("set del confirm error")
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//待确认集合暂存
|
//待确认集合暂存
|
||||||
|
|
@ -265,6 +270,7 @@ func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
delete_diff := worker.SetRedisSetDiffAndStore(ids_delete_confirm_temp, del_key)
|
delete_diff := worker.SetRedisSetDiffAndStore(ids_delete_confirm_temp, del_key)
|
||||||
if add_diff != true || update_diff != true || delete_diff != true {
|
if add_diff != true || update_diff != true || delete_diff != true {
|
||||||
err = errors.New("confirm error")
|
err = errors.New("confirm error")
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -297,12 +297,12 @@ func SetRedisSetAddBatchWithExpire(key string, values []string, expire time.Dura
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
err := RedisClient.SAdd(ctx, key, values).Err()
|
err := RedisClient.SAdd(ctx, key, values).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetAddBatchWithExpire Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
err = RedisClient.Expire(ctx, key, expire).Err()
|
err = RedisClient.Expire(ctx, key, expire).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetAddBatchWithExpire Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
@ -314,12 +314,12 @@ func SetRedisSetAddWithExpire(key string, value string, expire time.Duration) bo
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
err := RedisClient.SAdd(ctx, key, value).Err()
|
err := RedisClient.SAdd(ctx, key, value).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetAddWithExpire Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
err = RedisClient.Expire(ctx, key, expire).Err()
|
err = RedisClient.Expire(ctx, key, expire).Err()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetAddWithExpire Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
@ -422,7 +422,7 @@ func SetRedisSetDiffAndStore(key1 string, key2 string) bool {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
err := RedisClient.SDiffStore(ctx, key1, key1, key2).Err() //将key1和key2的差集存入key1
|
err := RedisClient.SDiffStore(ctx, key1, key1, key2).Err() //将key1和key2的差集存入key1
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetDiffAndStore Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
@ -433,7 +433,7 @@ func SetRedisSetUnionAndStore(key1 string, key2 string) bool {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
err := RedisClient.SUnionStore(ctx, key1, key1, key2).Err() //将key1和key2的并集存入key1
|
err := RedisClient.SUnionStore(ctx, key1, key1, key2).Err() //将key1和key2的并集存入key1
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error setting key: %v", err)
|
fmt.Println("SetRedisSetUnionAndStore Error setting key: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue