fix facebook账号删除

This commit is contained in:
sk 2025-02-06 14:38:38 +08:00
parent e94c653ae1
commit 2512994ee8
1 changed files with 69 additions and 57 deletions

View File

@ -2428,28 +2428,13 @@ func init() {
var err error
err = proto.Unmarshal(params, msg)
if err != nil || msg.Snid <= 0 {
if err != nil {
pack.Tag = webapiproto.TagCode_FAILED
pack.Msg = "参数错误"
return common.ResponseTag_ParamError, pack
}
logger.Logger.Tracef("/api/player/delete %v", msg)
// 踢掉玩家
p := PlayerMgrSington.GetPlayerBySnId(msg.GetSnid())
if p != nil {
ls := LoginStateMgrSington.GetLoginStateBySid(p.sid)
if ls != nil {
if ls.als != nil && ls.als.acc != nil {
ls.als.acc.State = time.Now().AddDate(0, 0, 1).Unix()
}
}
p.Kick(common.KickReason_Freeze)
PlayerMgrSington.DelPlayer(p.SnId)
LoginStateMgrSington.DelAccountByAccid(p.AccountId)
}
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
if msg.GetFaceBookId() != "" {
fb, err := model.GetByFaceBookId(msg.GetFaceBookId())
@ -2462,54 +2447,81 @@ func init() {
msg.Platform = fb.Platform
msg.Snid = fb.SnId
}
pd, _ := model.GetPlayerDataBySnId(msg.Platform, msg.Snid, false, false)
if pd == nil || pd.SnId == 0 {
err = errors.New("player not found")
return nil
}
// 冻结
err = model.FreezeAccount(pd.Platform, pd.AccountId, 24*60)
if err != nil {
return nil
}
// 备份账号
var account *model.Account
account, err = model.GetAccount(pd.Platform, pd.AccountId)
if err != nil {
return nil
}
err = model.SaveToDelBackupAccount(account)
if err != nil {
return nil
}
//if !model.SaveDelBackupPlayerData(pd) {
// err = errors.New("SaveDelBackupPlayerData failed")
// return nil
//}
// 删除账号
err = model.RemoveAccount(pd.Platform, pd.AccountId)
if err != nil {
return nil
}
err = model.ResetPlayer(pd.Platform, pd.SnId)
if err != nil {
return nil
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if err != nil {
logger.Logger.Errorf("player delete %v err: %v", msg, err)
pack.Tag = webapiproto.TagCode_FAILED
pack.Msg = "删除失败"
} else {
pack.Tag = webapiproto.TagCode_SUCCESS
pack.Msg = "删除成功"
tNode.TransRep.RetFiels = pack
tNode.Resume()
logger.Logger.Tracef("player delete %v ret: %v", msg.GetSnid(), pack)
return
}
tNode.TransRep.RetFiels = pack
tNode.Resume()
logger.Logger.Tracef("player delete %v ret: %v", msg.GetSnid(), pack)
})).StartByExecutor(fmt.Sprint(msg.GetSnid()))
// 踢掉玩家
p := PlayerMgrSington.GetPlayerBySnId(msg.GetSnid())
if p != nil {
ls := LoginStateMgrSington.GetLoginStateBySid(p.sid)
if ls != nil {
if ls.als != nil && ls.als.acc != nil {
ls.als.acc.State = time.Now().AddDate(0, 0, 1).Unix()
}
}
p.Kick(common.KickReason_Freeze)
PlayerMgrSington.DelPlayer(p.SnId)
LoginStateMgrSington.DelAccountByAccid(p.AccountId)
}
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
pd, _ := model.GetPlayerDataBySnId(msg.Platform, msg.Snid, false, false)
if pd == nil || pd.SnId == 0 {
err = errors.New("player not found")
return nil
}
// 冻结
err = model.FreezeAccount(pd.Platform, pd.AccountId, 24*60)
if err != nil {
return nil
}
// 备份账号
var account *model.Account
account, err = model.GetAccount(pd.Platform, pd.AccountId)
if err != nil {
return nil
}
err = model.SaveToDelBackupAccount(account)
if err != nil {
return nil
}
//if !model.SaveDelBackupPlayerData(pd) {
// err = errors.New("SaveDelBackupPlayerData failed")
// return nil
//}
// 删除账号
err = model.RemoveAccount(pd.Platform, pd.AccountId)
if err != nil {
return nil
}
err = model.ResetPlayer(pd.Platform, pd.SnId)
if err != nil {
return nil
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if err != nil {
logger.Logger.Errorf("player delete %v err: %v", msg, err)
pack.Tag = webapiproto.TagCode_FAILED
pack.Msg = "删除失败"
} else {
pack.Tag = webapiproto.TagCode_SUCCESS
pack.Msg = "删除成功"
}
tNode.TransRep.RetFiels = pack
tNode.Resume()
logger.Logger.Tracef("player delete %v ret: %v", msg.GetSnid(), pack)
}), "player_delete").StartByExecutor(fmt.Sprint(msg.GetSnid()))
}), "player_delete").StartByExecutor(fmt.Sprint(msg.GetSnid()))
return common.ResponseTag_TransactYield, pack
}))