diff --git a/gm-server/app/service/users.ts b/gm-server/app/service/users.ts index 559b97355..32cd056f5 100644 --- a/gm-server/app/service/users.ts +++ b/gm-server/app/service/users.ts @@ -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, _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, _eid: string, _ecount: string, _ehid: string) {