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