重写确认部分
This commit is contained in:
parent
8187c36585
commit
36b0862db7
|
|
@ -225,9 +225,10 @@ func setSyncUserDataSet(t string, id int) error {
|
||||||
|
|
||||||
// 确认同步数据
|
// 确认同步数据
|
||||||
func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
|
|
||||||
var ids_add []string
|
|
||||||
var err error
|
var err error
|
||||||
|
if len(data.Add) > 0 {
|
||||||
|
var ids_add []string
|
||||||
|
|
||||||
for _, v := range data.Add {
|
for _, v := range data.Add {
|
||||||
ids_add = append(ids_add, strconv.Itoa(int(v.ID)))
|
ids_add = append(ids_add, strconv.Itoa(int(v.ID)))
|
||||||
}
|
}
|
||||||
|
|
@ -237,40 +238,57 @@ func ConfirmSyncUserData(device string, data proto.UserSyncConfirm) error {
|
||||||
err = errors.New("set add confirm error")
|
err = errors.New("set add confirm error")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
ids_add_confirm_temp := device + "_sync_user_ids_add_confirm_temp"
|
||||||
|
//取差集
|
||||||
|
add_diff := worker.SetRedisSetDiffAndStore(ids_add_confirm_temp, add_key)
|
||||||
|
if add_diff == false {
|
||||||
|
err = errors.New("add diff error")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(data.Update) > 0 {
|
||||||
|
|
||||||
var ids_update []string
|
var ids_update []string
|
||||||
for _, v := range data.Update {
|
for _, v := range data.Update {
|
||||||
ids_update = append(ids_update, strconv.Itoa(int(v.ID)))
|
ids_update = append(ids_update, strconv.Itoa(int(v.ID)))
|
||||||
}
|
}
|
||||||
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 update confirm error")
|
err = errors.New("set update confirm error")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
ids_update_confirm_temp := device + "_sync_user_ids_update_confirm_temp"
|
||||||
|
|
||||||
|
update_diff := worker.SetRedisSetDiffAndStore(ids_update_confirm_temp, update_key)
|
||||||
|
if update_diff == false {
|
||||||
|
err = errors.New("update diff error")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(data.Delete) == 0 {
|
||||||
|
|
||||||
var ids_delete []string
|
var ids_delete []string
|
||||||
for _, v := range data.Delete {
|
for _, v := range data.Delete {
|
||||||
ids_delete = append(ids_delete, strconv.Itoa(int(v.ID)))
|
ids_delete = append(ids_delete, strconv.Itoa(int(v.ID)))
|
||||||
}
|
}
|
||||||
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 del confirm error")
|
err = errors.New("set del confirm error")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//待确认集合暂存
|
//待确认集合暂存
|
||||||
ids_add_confirm_temp := device + "_sync_user_ids_add_confirm_temp"
|
|
||||||
ids_update_confirm_temp := device + "_sync_user_ids_update_confirm_temp"
|
|
||||||
ids_delete_confirm_temp := device + "_sync_user_ids_delete_confirm_temp"
|
ids_delete_confirm_temp := device + "_sync_user_ids_delete_confirm_temp"
|
||||||
|
|
||||||
//取差集
|
|
||||||
add_diff := worker.SetRedisSetDiffAndStore(ids_add_confirm_temp, add_key)
|
|
||||||
update_diff := worker.SetRedisSetDiffAndStore(ids_update_confirm_temp, update_key)
|
|
||||||
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 delete_diff == false {
|
||||||
err = errors.New("confirm error")
|
err = errors.New("delete diff error")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue