后台:删除账号

This commit is contained in:
luying
2021-09-09 15:34:49 +08:00
parent f26a3c6ed0
commit 4c42c45fba

View File

@@ -36,6 +36,71 @@ import { addSkin, addEquips, addBags } from '@pubUtils/itemUtils';
import { GiftCodeModel } from '@db/GiftCode';
import { GiftCodeDetailModel } from '@db/GiftCodeDetail';
import { CreateHeroes } from '@pubUtils/roleUtil';
import { ActivityBuyRecordsModel } from '@db/ActivityBuyRecords';
import { ActivityDailyChallengesModel } from '@db/ActivityDailyChallenges';
import { ActivityDailyCoinModel } from '@db/ActivityDailyCoin';
import { ActivityDailyGiftsModel } from '@db/ActivityDailyGifts';
import { ActivityDailyGKModel } from '@db/ActivityDailyGK';
import { ActivityDailyMealModel } from '@db/ActivityDailyMeal';
import { ActivityDailyRMBGiftsModel } from '@db/ActivityDailyRMBGifts';
import { ActivityFirstGiftModel } from '@db/ActivityFirstGift';
import { ActivityGrowthFundModel } from '@db/ActivityGrowthFund';
import { ActivityGrowthModel } from '@db/ActivityGrowth';
import { ActivityGrowthPointModel } from '@db/ActivityGrowthPoint';
import { ActivityMonopolyModel } from '@db/ActivityMonopoly';
import { ActivityMonopolyLandModel } from '@db/ActivityMonopolyLand';
import { ActivityMonthlyTicketModel } from '@db/ActivityMonthlyTicket';
import { ActivityNewHeroGachaModel } from '@db/ActivityNewHeroGacha';
import { ActivityNewHeroGiftModel } from '@db/ActivityNewHeroGift';
import { ActivityNewHeroGKModel } from '@db/ActivityNewHeroGK';
import { ActivityPopUpShopModel } from '@db/ActivityPopUpShop';
import { ActivityPopUpShopRecordModel } from '@db/ActivityPopUpShopRecord';
import { ActivityRechargeMoneyModel } from '@db/ActivityRechargeMoney';
import { ActivityRefreshShopModel } from '@db/ActivityRefreshShop';
import { ActivityRefreshTaskModel } from '@db/ActivityRefreshTask';
import { ActivityRefreshTaskPointModel } from '@db/ActivityRefreshTaskPoint';
import { ActivitySelfServiceGoodsModel } from '@db/ActivitySelfServiceGoods';
import { ActivitySelfServiceModel } from '@db/ActivitySelfService';
import { ActivitySelfServiceShopModel } from '@db/ActivitySelfServiceShop';
import { ActivityShopModel } from '@db/ActivityShop';
import { ActivitySignInModel } from '@db/ActivitySignIn';
import { ActivityTaskPointModel } from '@db/ActivityTaskPoint';
import { ActivityThirtyDaysModel } from '@db/ActivityThirtyDays';
import { ActivityThirtyDaysPointRewardModel } from '@db/ActivityThirtyDaysPointReward';
import { ActivityTreasureHuntFirstPageModel } from '@db/ActivityTreasureHuntFirstPage';
import { ActivityTreasureHuntShopModel } from '@db/ActivityTreasureHuntShop';
import { ActivityTreasureHuntTaskModel } from '@db/ActivityTreasureHuntTask';
import { ActivityTreasureHuntTreasureShopModel } from '@db/ActivityTreasureHuntTreasureShop';
import { ActivityVipRechargeMoneyModel } from '@db/ActivityVipRechargeMoney';
import { BattleBlueprtDropModel } from '@db/BattleBlueprtDrop';
import { ChatInfoModel } from '@db/ChatInfo';
import { DungeonFirstModel } from '@db/DungeonFirst';
import { EquipPrintDropModel } from '@db/EquipPrintDrop';
import { FriendPointModel } from '@db/FriendPoint';
import { FriendPresentLogModel } from '@db/FriendPresentLog';
import { GroupMailModel } from '@db/GroupMail';
import { GuildModel } from '@db/Guild';
import { UserGuildModel } from '@db/UserGuild';
import { UserGuildApplyModel } from '@db/UserGuildApply';
import { GuildRecModel } from '@db/GuildRec';
import { MailModel } from '@db/Mail';
import { MessageModel } from '@db/Message';
import { PrivateMessageModel } from '@db/PrivateMessage';
import { RScriptRecordModel } from '@db/RScriptRecord';
import { ScriptBarrageModel } from '@db/ScriptBarrage';
import { ServerMailModel } from '@db/ServerMail';
import { SkinModel } from '@db/Skin';
import { UserGachaModel } from '@db/UserGacha';
import { UserGachaRecModel } from '@db/UserGachaRec';
import { UserGiftCodeModel } from '@db/UserGiftCode';
import { UserGuildActivityRecModel } from '@db/UserGuildActivityRec';
import { UserOrderModel } from '@db/UserOrder';
import { UserShopModel } from '@db/UserShop';
import { UserTaskModel } from '@db/UserTask';
import { UserTaskHistoryModel } from '@db/UserTaskHistory';
import { UserTaskRecModel } from '@db/UserTaskRec';
import { WishPoolReportModel } from '@db/WishPoolReport';
// import { resResult } from '@pubUtils/util';
// import * as fs from 'fs';
@@ -151,30 +216,118 @@ export default class GMUsers extends Service {
public async deleteRole(roleId: string) {
console.log('enter Auth deleteRole');
const ctx = this.ctx;
await ActionPointModel.deleteAccount(roleId);
await BattleDropModel.deleteAccount(roleId);
await BattleRecordModel.deleteAccount(roleId);
await BattleSweepRecordModel.deleteAccount(roleId);
await DailyRecordModel.deleteAccount(roleId);
await EquipModel.deleteAccount(roleId);
await EventRecordModel.deleteAccount(roleId);
await ExpeditionPointModel.deleteAccount(roleId);
await ExpeditionRecordModel.deleteAccount(roleId);
await ExpeditionWarRecordModel.deleteAccount(roleId);
await HangUpSpdUpRecModel.deleteAccount(roleId);
await HangUpRecordModel.deleteAccount(roleId);
await HeroModel.deleteAccount(roleId);
await RoleModel.deleteAccount(roleId);
await SearchRecordModel.deleteAccount(roleId);
await TowerTaskRecModel.deleteAccount(roleId);
await TowerRecordModel.deleteAccount(roleId);
await PvpDefenseModel.deleteAccount(roleId);
await ItemModel.deleteAccount(roleId);
await SchoolModel.deleteAccount(roleId);
await FriendShipModel.deleteAccount(roleId);
await FriendApplyModel.deleteAccount(roleId);
await FriendRelationModel.deleteAccount(roleId);
let role = await RoleModel.findByRoleId(roleId);
if(!role) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
await ActionPointModel.deleteMany({roleId});
await ActivityBuyRecordsModel.deleteMany({ roleId });
await ActivityDailyChallengesModel.deleteMany({ roleId });
await ActivityDailyCoinModel.deleteMany({ roleId });
await ActivityDailyGiftsModel.deleteMany({ roleId });
await ActivityDailyGKModel.deleteMany({ roleId });
await ActivityDailyMealModel.deleteMany({ roleId });
await ActivityDailyRMBGiftsModel.deleteMany({ roleId });
await ActivityFirstGiftModel.deleteMany({ roleId });
await ActivityGrowthModel.deleteMany({ roleId });
await ActivityGrowthPointModel.deleteMany({ roleId });
await ActivityGrowthFundModel.deleteMany({ roleId });
await ActivityMonopolyModel.deleteMany({ roleId });
await ActivityMonopolyLandModel.deleteMany({ roleId });
await ActivityMonthlyTicketModel.deleteMany({ roleId });
await ActivityNewHeroGachaModel.deleteMany({ roleId });
await ActivityNewHeroGiftModel.deleteMany({ roleId });
await ActivityNewHeroGKModel.deleteMany({ roleId });
await ActivityPopUpShopModel.deleteMany({ roleId });
await ActivityPopUpShopRecordModel.deleteMany({ roleId });
await ActivityRechargeMoneyModel.deleteMany({ roleId });
await ActivityRefreshShopModel.deleteMany({ roleId });
await ActivityRefreshTaskModel.deleteMany({ roleId });
await ActivityRefreshTaskPointModel.deleteMany({ roleId });
await ActivitySelfServiceModel.deleteMany({ roleId });
await ActivitySelfServiceGoodsModel.deleteMany({ roleId });
await ActivitySelfServiceShopModel.deleteMany({ roleId });
await ActivityShopModel.deleteMany({ roleId });
await ActivitySignInModel.deleteMany({ roleId });
await ActivityTaskPointModel.deleteMany({ roleId });
await ActivityThirtyDaysModel.deleteMany({ roleId });
await ActivityThirtyDaysPointRewardModel.deleteMany({ roleId });
await ActivityTreasureHuntFirstPageModel.deleteMany({ roleId });
await ActivityTreasureHuntShopModel.deleteMany({ roleId });
await ActivityTreasureHuntTaskModel.deleteMany({ roleId });
await ActivityTreasureHuntTreasureShopModel.deleteMany({ roleId });
await ActivityVipRechargeMoneyModel.deleteMany({ roleId });
await BattleBlueprtDropModel.deleteMany({ roleId });
await BattleDropModel.deleteMany({ roleId });
await BattleRecordModel.deleteMany({ roleId });
await BattleSweepRecordModel.deleteMany({ roleId });
await ChatInfoModel.deleteMany({ roleId });
await ChatInfoModel.updateMany({ 'recentPrivateChats.targetRoleId': roleId }, { $pull: { recentPrivateChats: { targetRoleId: roleId } } });
await DailyRecordModel.deleteMany({ roleId });
await DungeonFirstModel.deleteMany({ roleId });
await EquipModel.deleteMany({ roleId });
await EquipPrintDropModel.deleteMany({ roleId });
await EventRecordModel.deleteMany({ roleId });
await ExpeditionPointModel.deleteMany({ roleId });
await ExpeditionRecordModel.deleteMany({ roleId });
await ExpeditionWarRecordModel.deleteMany({ roleId });
await FriendApplyModel.deleteMany({ roleId });
await FriendApplyModel.deleteMany({ frdRoleId: roleId });
await FriendPointModel.deleteMany({ roleId });
await FriendPresentLogModel.deleteMany({ roleId });
await FriendPresentLogModel.deleteMany({ hisRoleId: roleId });
await FriendRelationModel.deleteMany({ roleId });
await FriendRelationModel.updateMany({ 'friends.roleId': roleId }, { $pull: { friends: { roleId }} });
await FriendRelationModel.updateMany({ 'blacklist.roleId': roleId }, { $pull: { blacklist: { roleId }} });
await FriendShipModel.deleteMany({ roleIdA: roleId });
await FriendShipModel.deleteMany({ roleIdB: roleId });
await GroupMailModel.updateMany({ 'roleStatus.roleId': roleId }, { $pull: { roleStatus: { roleId } } });
await GroupMailModel.deleteMany({ roleId });
await GroupMailModel.deleteMany({ targetRoleId: roleId });
let userGuild = await UserGuildModel.getMyGuild(roleId);
if(userGuild.auth == 1) {
const guild = await GuildModel.dismiss(userGuild.guildCode, role.serverId);
await UserGuildModel.dismiss(userGuild.guildCode);
const { members } = guild;
await RoleModel.dissmissGuild(members);
await UserGuildApplyModel.deleteApplyByGuild(userGuild.guildCode);
} else {
await GuildModel.update({ members: { $in: [roleId] } }, { $pull: { members: roleId }, $inc: { memberCnt: -1, managerCnt: userGuild.auth == 2? -1: 0, guildCe: -role.ce }, $set: { isMemberMax: false } })
}
await GuildModel.updateMany({ invitedMembers: { $in: [roleId] } }, { $pull: { invitedMembers: roleId } });
await GuildRecModel.deleteMany({ roleId });
await HangUpSpdUpRecModel.deleteMany({ roleId });
await HangUpRecordModel.deleteMany({ roleId });
await HeroModel.deleteMany({ roleId });
await ItemModel.deleteMany({ roleId });
await MailModel.deleteMany({ roleId });
await MessageModel.deleteMany({ roleId });
await MessageModel.deleteMany({ targetRoleId: roleId });
await PrivateMessageModel.deleteMany({ roleId });
await PrivateMessageModel.deleteMany({ targetRoleId: roleId });
await PvpDefenseModel.deleteMany({ roleId });
await RScriptRecordModel.deleteMany({ roleId });
await SchoolModel.deleteMany({ roleId });
await ScriptBarrageModel.deleteMany({ roleId });
await SearchRecordModel.deleteMany({ roleId });
await ServerMailModel.updateMany({ 'roleStatus.roleId': roleId }, { $pull: { roleStatus: { roleId } } });
await SkinModel.deleteMany({ roleId });
await TowerRecordModel.deleteMany({ roleId });
await TowerTaskRecModel.deleteMany({ roleId });
await UserGachaModel.deleteMany({ roleId });
await UserGachaRecModel.deleteMany({ roleId });
await UserGiftCodeModel.deleteMany({ roleId });
await UserGuildModel.deleteMany({ roleId });
await UserGuildActivityRecModel.deleteMany({ roleId });
await UserGuildApplyModel.deleteMany({ roleId });
await UserOrderModel.deleteMany({ roleId });
await UserShopModel.deleteMany({ roleId });
await UserTaskModel.deleteMany({ roleId });
await UserTaskHistoryModel.deleteMany({ roleId });
await UserTaskRecModel.deleteMany({ roleId });
await WishPoolReportModel.deleteMany({ wishRoleId: roleId});
await WishPoolReportModel.deleteMany({ dntRoleId: roleId});
await RoleModel.deleteMany({ roleId });
return ctx.service.utils.resResult(STATUS.SUCCESS);
}
@@ -241,37 +394,32 @@ export default class GMUsers extends Service {
public async createHero(uids: Array<string>, _hid: string, _hlv: string) {
const { ctx } = this;
try {
console.log('gm createHero', uids, _hid, _hlv);
let hlv = parseInt(_hlv);
if (isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let hids = (_hid as string).split('&').map(cur => parseInt(cur));
for (let hid of hids) {
if (isNaN(hid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
for (let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if (role) {
let heroInfos = new Map();
for (let hid of hids) {
let heroInfo = ctx.service.utils.getInitHeroById(hid);
heroInfos.set(hid, {...heroInfo});
}
let createHero = new CreateHeroes(roleId, role.roleName, role.serverId);
await createHero.createWithHeroInfo(heroInfos);
} else {
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, '未找到角色' + roleId)
}
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
} catch (e) {
console.error(e.stack)
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, e.stack);
console.log('gm createHero', uids, _hid, _hlv);
let hlv = parseInt(_hlv);
if (isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let hids = (_hid as string).split('&').map(cur => parseInt(cur));
for (let hid of hids) {
if (isNaN(hid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
for (let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if (role) {
let heroInfos = new Map();
for (let hid of hids) {
let heroInfo = ctx.service.utils.getInitHeroById(hid);
heroInfos.set(hid, {...heroInfo});
}
let createHero = new CreateHeroes(roleId, role.roleName, role.serverId);
await createHero.createWithHeroInfo(heroInfos);
} else {
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, '未找到角色' + roleId)
}
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
}
public async createEquip(uids: Array<string>, _eid: string, _ecount: string, _ehid: string) {