活动存入内存中

This commit is contained in:
luying
2021-09-13 09:51:57 +08:00
parent 7a5722aca4
commit aef511b1aa
35 changed files with 189 additions and 59 deletions
@@ -4,7 +4,7 @@ import { ENCRYPT_IV, ENCRYPT_KEY, STATUS, TASK_TYPE } from '../../../consts';
import { checkActivityTask } from '../../../services/taskService'; import { checkActivityTask } from '../../../services/taskService';
import { ActivityGroupModel } from '../../../db/ActivityGroup'; import { ActivityGroupModel } from '../../../db/ActivityGroup';
import { ServerlistModel } from '../../../db/Serverlist'; import { ServerlistModel } from '../../../db/Serverlist';
import { getActivity } from '../../../services/activity/activityService'; import { getActivity, getActivityById } from '../../../services/activity/activityService';
import { ActivityModel } from '../../../db/Activity'; import { ActivityModel } from '../../../db/Activity';
export default function (app: Application) { export default function (app: Application) {
@@ -39,7 +39,7 @@ export class ActivityHandler {
for (let groupData of groups) { for (let groupData of groups) {
let playerGroupActivityArray = []; let playerGroupActivityArray = [];
for (let activityId of groupData.activities) { for (let activityId of groupData.activities) {
let activityData = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (activityData) { if (activityData) {
let playerActivityData = await getActivity(serverId, roleId, activityId, activityData.type) let playerActivityData = await getActivity(serverId, roleId, activityId, activityData.type)
if (playerActivityData) playerGroupActivityArray.push(playerActivityData); if (playerActivityData) playerGroupActivityArray.push(playerActivityData);
@@ -13,6 +13,7 @@ import { UserGachaRecModel } from "../../../db/UserGachaRec";
import { ActivityModel } from "../../../db/Activity"; import { ActivityModel } from "../../../db/Activity";
import { checkActivityTask, checkTask } from "../../../services/taskService"; import { checkActivityTask, checkTask } from "../../../services/taskService";
import { RECRUIT } from "../../../pubUtils/dicParam"; import { RECRUIT } from "../../../pubUtils/dicParam";
import { getActivityById } from "../../../services/activity/activityService";
export default function (app: Application) { export default function (app: Application) {
new HandlerService(app, {}); new HandlerService(app, {});
@@ -238,7 +239,7 @@ export class GachaHandler {
let heroes: number[] = []; let heroes: number[] = [];
if (gachaId == GACHA_ID.TIMELIMIT) { if (gachaId == GACHA_ID.TIMELIMIT) {
let activityData = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -9,6 +9,7 @@ import { addReward, stringToRewardParam } from '../../../services/activity/giftP
import { RewardParam } from '../../../domain/activityField/rewardField'; import { RewardParam } from '../../../domain/activityField/rewardField';
import { handleCost } from '../../../services/rewardService'; import { handleCost } from '../../../services/rewardService';
import moment = require('moment'); import moment = require('moment');
import { getActivityById } from '../../../services/activity/activityService';
export default function (app: Application) { export default function (app: Application) {
new HandlerService(app, {}); new HandlerService(app, {});
@@ -54,7 +55,7 @@ export class PopUpShopHandler {
let beginTime = moment(beginTimeStamp).toDate(); let beginTime = moment(beginTimeStamp).toDate();
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING); return resResult(STATUS.ACTIVITY_MISSING);
} }
@@ -11,6 +11,7 @@ import { addSelfServiceShopGiftReward, getSelfServiceShopActivityData, getPlayer
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService'; import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { random } from 'underscore'; import { random } from 'underscore';
import { RoleModel } from '../../../db/Role'; import { RoleModel } from '../../../db/Role';
import { getActivityById } from '../../../services/activity/activityService';
export default function (app: Application) { export default function (app: Application) {
new HandlerService(app, {}); new HandlerService(app, {});
@@ -54,7 +55,7 @@ export class SelfServiceShopHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime); let playerData = new SelfServiceShopData(activityData, createTime);
let item = playerData.getItem(index); let item = playerData.getItem(index);
@@ -114,7 +115,7 @@ export class SelfServiceShopHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime); let playerData = new SelfServiceShopData(activityData, createTime);
let unitPrice = playerData.unitPrice;//购买价格 let unitPrice = playerData.unitPrice;//购买价格
@@ -1,5 +1,8 @@
import { Application, ChannelService, HandlerService, } from 'pinus'; import { Application, ChannelService, HandlerService, } from 'pinus';
import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { ServerlistModel } from '../../../db/Serverlist';
import { reloadResources } from '../../../pubUtils/data'; import { reloadResources } from '../../../pubUtils/data';
import { _getActivitiesByType, _getActivityById } from '../../../services/activity/activityService';
export default function (app: Application) { export default function (app: Application) {
new HandlerService(app, {}); new HandlerService(app, {});
@@ -11,9 +14,13 @@ export class ActivityRemote {
constructor(private app: Application) { constructor(private app: Application) {
this.app = app; this.app = app;
this.channelService = app.get('channelService'); this.channelService = app.get('channelService');
this.loadActivities();
} }
private channelService: ChannelService; private channelService: ChannelService;
private activityByServer: Map<number, number[]> = new Map(); // serverId => activityId[];
private activities: Map<number, ActivityModelType> = new Map(); // activityId => activity
private activityByType: Map<number, Map<number, number[]>> = new Map(); // serverId => type => activityId[]
/** /**
* 重载json资源 * 重载json资源
@@ -21,4 +28,49 @@ export class ActivityRemote {
public async reloadResources() { public async reloadResources() {
reloadResources(); reloadResources();
} }
private async loadActivities() {
let servers = await ServerlistModel.getAllServerList();
let groupToServer = new Map<number, number[]>();
for(let { serverId, activityGroupId } of servers) {
for(let groupId of activityGroupId) {
if(!groupToServer.has(groupId)) {
groupToServer.set(groupId, []);
}
groupToServer.get(groupId).push(serverId);
}
}
let activities = await ActivityModel.findOpenAndComingActivityes();
for(let activity of activities) {
this.activities.set(activity.activityId, activity);
let servers = groupToServer.get(activity.activityId)||[];
for(let serverId of servers) {
if(!this.activityByServer.has(serverId)) {
this.activityByServer.set(serverId, []);
}
this.activityByServer.get(serverId).push(activity.activityId);
if(!this.activityByType.has(serverId)) {
this.activityByType.set(serverId, new Map());
}
if(!this.activityByType.get(serverId).has(activity.type)) {
this.activityByType.get(serverId).set(activity.type, []);
}
this.activityByType.get(serverId).get(activity.type).push(activity.activityId);
}
}
this.app.set('activityByServer', this.activityByServer);
this.app.set('activityByType', this.activityByType);
this.app.set('activities', this.activities);
}
public getActivityById(activityId: number) {
return _getActivityById(activityId);
}
public getActivitiesByType(serverId: number, type: number) {
return _getActivitiesByType(serverId, type);
}
} }
@@ -12,6 +12,7 @@ import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { ServerlistModel } from '../../../db/Serverlist'; import { ServerlistModel } from '../../../db/Serverlist';
import { addVipRechargeMoney } from '../../../services/activity/vipRechargeMoneyService'; import { addVipRechargeMoney } from '../../../services/activity/vipRechargeMoneyService';
import { checkActivityTask } from '../../../services/taskService'; import { checkActivityTask } from '../../../services/taskService';
import { getActivityById } from '../../../services/activity/activityService';
export default function (app: Application) { export default function (app: Application) {
new HandlerService(app, {}); new HandlerService(app, {});
@@ -250,7 +251,7 @@ export class orderHandler {
// if (activityArray.length === 0) { // if (activityArray.length === 0) {
// return resResult(STATUS.ACTIVITY_MISSING); // return resResult(STATUS.ACTIVITY_MISSING);
// } // }
let activityData = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING);
await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message); await UserOrderModel.applyOrder(serverId, roleId, productID, localOrderID, orderID, price, payType, activityId, paramStr, message);
@@ -25,6 +25,9 @@ import { getPlayerMonopolyData } from './monopolyService';
import { getPlayerNewHeroGiftsData } from './newHeroGiftsService'; import { getPlayerNewHeroGiftsData } from './newHeroGiftsService';
import { getPlayerNewHeroGKData } from './newHeroGKService'; import { getPlayerNewHeroGKData } from './newHeroGKService';
import { getPlayerNewHeroGachaData } from './newHeroGachaService'; import { getPlayerNewHeroGachaData } from './newHeroGachaService';
import { pinus } from 'pinus';
import { ActivityModelType } from '../../db/Activity';
import { getRandSingleEelm } from '../../pubUtils/util';
/** /**
* 获取活动数据 * 获取活动数据
@@ -191,3 +194,41 @@ export async function getActivity(serverId: number, roleId: string, activityId:
return activityData; return activityData;
} }
export async function getActivityById(activityId: number) {
let serverType = pinus.app.getServerType();
if(serverType == 'activity') {
return _getActivityById(activityId);
} else {
let servers = pinus.app.getServersByType('activity');
let server = getRandSingleEelm(servers);
return <ActivityModelType>await pinus.app.rpc.activity.activityRemote.getActivityById.toServer(server.id, activityId);
}
}
export async function getActivitiesByType(serverId: number, type: number) {
let serverType = pinus.app.getServerType();
if(serverType == 'activity') {
return _getActivitiesByType(serverId, type);
} else {
let servers = pinus.app.getServersByType('activity');
let server = getRandSingleEelm(servers);
return <ActivityModelType[]>await pinus.app.rpc.activity.activityRemote.getActivitiesByType.toServer(server.id, serverId, type);
}
}
export function _getActivityById(activityId: number) {
return <ActivityModelType>pinus.app.get('activities')?.get(activityId);
}
export function _getActivitiesByType(serverId: number, type: number) {
let activityByType = pinus.app.get('activityByType')?.get(serverId)?.get(type)||[];
let activities: Map<number, ActivityModelType> = pinus.app.get('activities');
let result: ActivityModelType[] = [];
for(let activityId of activityByType) {
let activity = activities.get(activityId);
if(activity && activity.beginTime <= new Date()) {
result.push(activity);
}
}
return result;
}
@@ -4,6 +4,7 @@ import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { DailyChallengesData } from '../../domain/activityField/dailyChallengesField'; import { DailyChallengesData } from '../../domain/activityField/dailyChallengesField';
import { getActivityById } from './activityService';
/** /**
@@ -38,7 +39,7 @@ export async function dailyChallengesActivity(serverId: number, roleId: string)
* *
*/ */
export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyChallengesData(activityData, createTime); let playerData = new DailyChallengesData(activityData, createTime);
@@ -4,6 +4,7 @@ import { ActivityDailyCoinModel, ActivityDailyCoinModelType } from '../../db/Act
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { DailyCoinData } from '../../domain/activityField/dailyCoinField'; import { DailyCoinData } from '../../domain/activityField/dailyCoinField';
import { getActivityById } from './activityService';
/** /**
@@ -39,7 +40,7 @@ export async function dailyCoinActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerDailyCoinData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyCoinData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime); let playerData = new DailyCoinData(activityData, createTime);
@@ -4,6 +4,7 @@ import { ActivityDailyGKModel, ActivityDailyGKModelType } from '../../db/Activit
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { DailyGKData } from '../../domain/activityField/dailyGKField'; import { DailyGKData } from '../../domain/activityField/dailyGKField';
import { getActivityById } from './activityService';
/** /**
@@ -38,7 +39,7 @@ export async function dailyGKActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerDailyGKData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyGKData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityId, roleId); let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGKData(activityData, createTime); let playerData = new DailyGKData(activityData, createTime);
@@ -55,7 +56,7 @@ export async function getPlayerDailyGKData(activityId: number, serverId: number,
* *
*/ */
export async function challengeDailyGK(serverId: number, roleId: string, activityId: number, gk: number) { export async function challengeDailyGK(serverId: number, roleId: string, activityId: number, gk: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGKData(activityData, createTime); let playerData = new DailyGKData(activityData, createTime);
@@ -4,6 +4,7 @@ import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/A
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { DailyGiftsData } from '../../domain/activityField/dailyGiftsField'; import { DailyGiftsData } from '../../domain/activityField/dailyGiftsField';
import { getActivityById } from './activityService';
@@ -39,7 +40,7 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId); let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGiftsData(activityData, createTime); let playerData = new DailyGiftsData(activityData, createTime);
@@ -4,6 +4,7 @@ import { ActivityDailyMealModel, ActivityDailyMealModelType } from '../../db/Act
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { DailyMealData } from '../../domain/activityField/dailyMealField'; import { DailyMealData } from '../../domain/activityField/dailyMealField';
import { getActivityById } from './activityService';
/** /**
@@ -40,7 +41,7 @@ export async function dailyMealActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerDailyMealData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyMealData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime); let playerData = new DailyMealData(activityData, createTime);
@@ -7,6 +7,7 @@ import { RewardParam } from '../../domain/activityField/rewardField';
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -38,7 +39,7 @@ export async function dailyRMBGiftsActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: number, roleId: string) { export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyRMBGiftsData(activityData, createTime); let playerData = new DailyRMBGiftsData(activityData, createTime);
// let productID = playerData.productID; // let productID = playerData.productID;
@@ -67,7 +68,7 @@ export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: n
*/ */
export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number, export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (activityData.type !== ACTIVITY_TYPE.DAILY_RMB_GIFTS) { if (activityData.type !== ACTIVITY_TYPE.DAILY_RMB_GIFTS) {
return { return {
code: STATUS.ACTIVITY_TYPE_ERROR, code: STATUS.ACTIVITY_TYPE_ERROR,
@@ -4,6 +4,7 @@ import { ActivityFirstGiftModel, ActivityFirstGiftModelType } from '../../db/Act
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { FirstGiftData } from '../../domain/activityField/firstGiftField'; import { FirstGiftData } from '../../domain/activityField/firstGiftField';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -42,7 +43,7 @@ export async function firstGiftActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerFirstGiftData(activityId: number, serverId: number, roleId: string) { export async function getPlayerFirstGiftData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId); let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -12,6 +12,7 @@ import { CreateHeroParam } from "../../domain/roleField/hero";
import { transPiece } from "../../pubUtils/itemUtils"; import { transPiece } from "../../pubUtils/itemUtils";
import { HeroType } from "../../db/Hero"; import { HeroType } from "../../db/Hero";
import { NewHeroGachaItem } from "../../domain/activityField/newHeroGachaField"; import { NewHeroGachaItem } from "../../domain/activityField/newHeroGachaField";
import { getActivityById } from "./activityService";
/** /**
* 获取招募列表 * 获取招募列表
@@ -40,7 +41,7 @@ export async function getGachaList(roleId: string) {
*/ */
export async function getLimitGacha(serverId: number, roleId: string, activityId: number) { export async function getLimitGacha(serverId: number, roleId: string, activityId: number) {
let activityData = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (!activityData) return false; if (!activityData) return false;
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -5,6 +5,7 @@ import { ActivityBuyRecordsModel } from '../../db/ActivityBuyRecords';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { GrowthFundData } from '../../domain/activityField/growthFundField'; import { GrowthFundData } from '../../domain/activityField/growthFundField';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -45,7 +46,7 @@ export async function growthFundActivity(type: number, serverId: number, roleId:
* *
*/ */
export async function getPlayerGrowthFundData(activityId: number, serverId: number, roleId: string) { export async function getPlayerGrowthFundData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -126,7 +127,7 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb
*/ */
export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number, export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return STATUS.ACTIVITY_MISSING; return STATUS.ACTIVITY_MISSING;
} }
@@ -6,6 +6,7 @@ import { HeroModel } from '../../db/Hero';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { GrowthData } from '../../domain/activityField/growthField'; import { GrowthData } from '../../domain/activityField/growthField';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -42,7 +43,7 @@ export async function growthActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerGrowthData(activityId: number, serverId: number, roleId: string) { export async function getPlayerGrowthData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId); let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
@@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { LimitShopData } from '../../domain/activityField/limitShopField'; import { LimitShopData } from '../../domain/activityField/limitShopField';
import { deltaDays } from '../../pubUtils/util'; import { deltaDays } from '../../pubUtils/util';
import { getActivityById } from './activityService';
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
/** /**
@@ -41,7 +42,7 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st
* *
*/ */
export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) { export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new LimitShopData(activityData, createTime); let playerData = new LimitShopData(activityData, createTime);
@@ -103,7 +104,7 @@ export async function newPlayerActivityDays(roleId: string) {
*/ */
export async function makeLimitPackageReward(roleId: string, roleName: string, sid: string, serverId: number, export async function makeLimitPackageReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return STATUS.ACTIVITY_MISSING; return STATUS.ACTIVITY_MISSING;
} }
@@ -5,6 +5,7 @@ import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../../
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { MonopolyData } from '../../domain/activityField/monopolyField'; import { MonopolyData } from '../../domain/activityField/monopolyField';
import { getActivityById } from './activityService';
/** /**
@@ -40,7 +41,7 @@ export async function getMonopolyActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerMonopolyData(activityId: number, serverId: number, roleId: string) { export async function getPlayerMonopolyData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return null; return null;
} }
@@ -8,6 +8,7 @@ import moment = require('moment');
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { sendMailByContent } from './../mailService'; import { sendMailByContent } from './../mailService';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -56,7 +57,7 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty
* *
*/ */
export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) { export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime); let playerData = new MonthlyTicketData(activityData, createTime);
@@ -74,7 +75,7 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n
*/ */
export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number,) { activityId: number,) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime); let playerData = new MonthlyTicketData(activityData, createTime);
@@ -106,7 +107,7 @@ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName:
*/ */
export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number, export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_1 && activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_2) { if (activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_1 && activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_2) {
return STATUS.ACTIVITY_TYPE_ERROR; return STATUS.ACTIVITY_TYPE_ERROR;
} }
@@ -4,6 +4,7 @@ import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/Act
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { NewHeroGKData } from '../../domain/activityField/newHeroGKField'; import { NewHeroGKData } from '../../domain/activityField/newHeroGKField';
import { getActivityById } from './activityService';
/** /**
@@ -38,7 +39,7 @@ export async function newHeroGKActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerNewHeroGKData(activityId: number, serverId: number, roleId: string) { export async function getPlayerNewHeroGKData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -57,7 +58,7 @@ export async function getPlayerNewHeroGKData(activityId: number, serverId: numbe
*/ */
export async function challengeNewHeroGK(serverId: number, roleId: string, activityId: number, pageIndex: number, gk: number) { export async function challengeNewHeroGK(serverId: number, roleId: string, activityId: number, pageIndex: number, gk: number) {
let isFirst = false; let isFirst = false;
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let playerRecords = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); let playerRecords = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId);
let records = playerRecords && playerRecords.records ? playerRecords.records : []; let records = playerRecords && playerRecords.records ? playerRecords.records : [];
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -4,6 +4,7 @@ import { ActivityNewHeroGachaModel, ActivityNewHeroGachaModelType } from '../../
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField'; import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField';
import { getActivityById } from './activityService';
/** /**
@@ -38,7 +39,7 @@ export async function newHeroGachaActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerNewHeroGachaData(activityId: number, serverId: number, roleId: string) { export async function getPlayerNewHeroGachaData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityNewHeroGachaModelType = await ActivityNewHeroGachaModel.findData(serverId, activityId, roleId); let playerRecord: ActivityNewHeroGachaModelType = await ActivityNewHeroGachaModel.findData(serverId, activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -4,6 +4,7 @@ import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db
import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField'; import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -35,7 +36,7 @@ export async function getNewHeroGiftsActivity(serverId: number, roleId: string)
* *
*/ */
export async function getPlayerNewHeroGiftsData(activityId: number, serverId: number, roleId: string) { export async function getPlayerNewHeroGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGiftData(activityData, createTime); let playerData = new NewHeroGiftData(activityData, createTime);
@@ -6,6 +6,7 @@ import { addReward, stringToRewardParam } from './giftPackageService';
import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../db/ActivityPopUpShop'; import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../db/ActivityPopUpShop';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import moment = require('moment'); import moment = require('moment');
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -37,7 +38,7 @@ export async function popUpShopActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerPopUpShopData(activityId: number, serverId: number, roleId: string) { export async function getPlayerPopUpShopData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecords: ActivityPopUpShopModelType[] = await ActivityPopUpShopModel.findAllOpenData(serverId, activityId, roleId); let playerRecords: ActivityPopUpShopModelType[] = await ActivityPopUpShopModel.findAllOpenData(serverId, activityId, roleId);
let allPlayerShop = []; let allPlayerShop = [];
@@ -74,7 +75,7 @@ export async function makePopUpShopReward(roleId: string, roleName: string, sid:
let paramObj = JSON.parse(paramStr); let paramObj = JSON.parse(paramStr);
let beginTime = moment(paramObj.beginTimeStamp).toDate(); let beginTime = moment(paramObj.beginTimeStamp).toDate();
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return STATUS.ACTIVITY_MISSING; return STATUS.ACTIVITY_MISSING;
} }
@@ -5,6 +5,7 @@ import { RechargeMoneyData } from '../../domain/activityField/rechargeMoneyField
import moment = require('moment'); import moment = require('moment');
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -44,7 +45,7 @@ export async function rechargeMoneyActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerRechargeMoneyData(activityId: number, serverId: number, roleId: string) { export async function getPlayerRechargeMoneyData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId); let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RefreshShopData } from '../../domain/activityField/refreshShopField'; import { RefreshShopData } from '../../domain/activityField/refreshShopField';
import { deltaDays } from '../../pubUtils/util'; import { deltaDays } from '../../pubUtils/util';
import { getActivityById } from './activityService';
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
/** /**
@@ -46,7 +47,7 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerRefreshShopData(activityId: number, serverId: number, roleId: string) { export async function getPlayerRefreshShopData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime); let playerData = new RefreshShopData(activityData, createTime);
@@ -69,7 +70,7 @@ export async function getPlayerRefreshShopData(activityId: number, serverId: num
* *
*/ */
export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, serverId: number, roleId: string, roundIndex: number) { export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, serverId: number, roleId: string, roundIndex: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime); let playerData = new RefreshShopData(activityData, createTime);
playerData.roundIndex = roundIndex; playerData.roundIndex = roundIndex;
@@ -113,7 +114,7 @@ export async function newPlayerActivityDays(roleId: string) {
*/ */
export async function makeRefreshShopReward(roleId: string, roleName: string, sid: string, serverId: number, export async function makeRefreshShopReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string, roundIndex: number) { activityId: number, productID: string, roundIndex: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return STATUS.ACTIVITY_MISSING; return STATUS.ACTIVITY_MISSING;
} }
@@ -5,6 +5,7 @@ import { ActivityRefreshTaskPointModel, ActivityRefreshTaskPointModelType } from
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RefreshTaskData } from '../../domain/activityField/refreshTaskField'; import { RefreshTaskData } from '../../domain/activityField/refreshTaskField';
import { getActivityById } from './activityService';
/** /**
@@ -40,7 +41,7 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerRefreshTaskData(activityId: number, serverId: number, roleId: string) { export async function getPlayerRefreshTaskData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshTaskData(activityData, createTime); let playerData = new RefreshTaskData(activityData, createTime);
let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityId, roleId, playerData.roundIndex); let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityId, roleId, playerData.roundIndex);
@@ -9,6 +9,7 @@ import { SelfServiceShopData, SelfServiceShopItem } from '../../domain/activityF
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
import moment = require('moment'); import moment = require('moment');
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -41,7 +42,7 @@ export async function getSelfServiceShopActivityData(serverId: number, roleId: s
* *
*/ */
export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) { export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime); let playerData = new SelfServiceShopData(activityData, createTime);
@@ -120,7 +121,7 @@ export async function addSelfServiceShopGiftReward(roleId: string, roleName: str
export async function makeSelfServerShop(roleId: string, roleName: string, sid: string, serverId: number, export async function makeSelfServerShop(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return { return {
code: STATUS.ACTIVITY_MISSING, code: STATUS.ACTIVITY_MISSING,
@@ -7,6 +7,7 @@ import { SevenDaysData } from '../../domain/activityField/sevenDaysField';
import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges';
import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -50,7 +51,7 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type:
* *
*/ */
export async function getPlayerSevenDaysData(activityId: number, serverId: number, roleId: string) { export async function getPlayerSevenDaysData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime) let playerData = new SevenDaysData(activityData, createTime)
//成长数据 //成长数据
@@ -78,7 +79,7 @@ export async function getPlayerSevenDaysData(activityId: number, serverId: numbe
* *
*/ */
export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: number, roleId: string) { export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime) let playerData = new SevenDaysData(activityData, createTime)
//成长数据 //成长数据
@@ -100,7 +101,7 @@ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId:
* *
*/ */
export async function getPlayerSevenDaysDailyChallengesData(activityId: number, serverId: number, roleId: string) { export async function getPlayerSevenDaysDailyChallengesData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime) let playerData = new SevenDaysData(activityData, createTime)
//今日挑战 //今日挑战
@@ -118,7 +119,7 @@ export async function getPlayerSevenDaysDailyChallengesData(activityId: number,
* *
*/ */
export async function getPlayerSevenDaysDailyGiftsData(activityId: number, serverId: number, roleId: string) { export async function getPlayerSevenDaysDailyGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime) let playerData = new SevenDaysData(activityData, createTime)
@@ -5,6 +5,7 @@ import { ActivitySignInModel, ActivitySignInModelType } from '../../db/ActivityS
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { SignInData } from '../../domain/activityField/signInField'; import { SignInData } from '../../domain/activityField/signInField';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -116,7 +117,7 @@ export async function newPlayerSignInActivity(serverId: number, roleId: string)
* *
*/ */
export async function getPlayerSignInData(activityId: number, serverId: number, roleId: string) { export async function getPlayerSignInData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP && activityData.type !== ACTIVITY_TYPE.SIGN_IN && activityData.type !== ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP && activityData.type !== ACTIVITY_TYPE.SIGN_IN && activityData.type !== ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN
&& activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) { && activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) {
return null; return null;
@@ -155,7 +156,7 @@ export async function getPlayerSignInData(activityId: number, serverId: number,
*/ */
export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number, export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) { if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) {
return STATUS.ACTIVITY_TYPE_ERROR; return STATUS.ACTIVITY_TYPE_ERROR;
} }
@@ -6,6 +6,7 @@ import { RoleModel } from '../../db/Role';
import moment = require('moment'); import moment = require('moment');
import { deltaDays } from '../../pubUtils/util'; import { deltaDays } from '../../pubUtils/util';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -37,7 +38,7 @@ export async function thirtyDaysActivity(type: number, serverId: number, roleId:
* *
*/ */
export async function getPlayerThirtyDaysData(activityId: number, serverId: number, roleId: string) { export async function getPlayerThirtyDaysData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId);
let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId);
@@ -63,7 +64,7 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb
* *
*/ */
export async function addPlayerThirtyDaysTask(activityId: number, serverId: number, roleId: string) { export async function addPlayerThirtyDaysTask(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId);
let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId);
@@ -12,6 +12,7 @@ import { deltaDays } from '../../pubUtils/util';
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
import { RewardParam } from '../../domain/activityField/rewardField'; import { RewardParam } from '../../domain/activityField/rewardField';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -84,7 +85,7 @@ export async function treasureHuntTaskActivity(serverId: number, roleId: string)
* *
*/ */
export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -106,7 +107,7 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu
} }
export async function getPlayerTreasureHuntFirstPageData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntFirstPageData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -121,7 +122,7 @@ export async function getPlayerTreasureHuntFirstPageData(activityId: number, ser
} }
export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -136,7 +137,7 @@ export async function getPlayerTreasureHuntShopData(activityId: number, serverId
} }
export async function getPlayerTreasureHuntTaskData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntTaskData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -151,7 +152,7 @@ export async function getPlayerTreasureHuntTaskData(activityId: number, serverId
} }
export async function getPlayerTreasureHuntChallengeData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntChallengeData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -164,7 +165,7 @@ export async function getPlayerTreasureHuntChallengeData(activityId: number, ser
} }
export async function getPlayerTreasureHuntTreasureShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { export async function getPlayerTreasureHuntTreasureShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime); let playerData = new TreasureHuntData(activityData, createTime);
@@ -190,7 +191,7 @@ export async function getTreasureHuntData(serverId: number, roleId: string) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
} }
tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex);
activityData = await ActivityModel.findActivity(huntActivityId); activityData = await getActivityById(huntActivityId);
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
} }
if (now > tempData.huntEndTime) {//活动过期 if (now > tempData.huntEndTime) {//活动过期
@@ -199,11 +200,11 @@ export async function getTreasureHuntData(serverId: number, roleId: string) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
} }
tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex);
activityData = await ActivityModel.findActivity(huntActivityId); activityData = await getActivityById(huntActivityId);
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
} }
if (!activityData) { if (!activityData) {
activityData = await ActivityModel.findActivity(tempData.huntActivityId); activityData = await getActivityById(tempData.huntActivityId);
} }
return { return {
huntActivityId: tempData.huntActivityId, huntActivityId: tempData.huntActivityId,
@@ -4,6 +4,7 @@ import { ActivityVipRechargeMoneyModel, ActivityVipRechargeMoneyModelType } from
import { VipRechargeMoneyData } from '../../domain/activityField/vipRechargeMoneyField'; import { VipRechargeMoneyData } from '../../domain/activityField/vipRechargeMoneyField';
import { ServerlistModel } from '../../db/Serverlist'; import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role'; import { RoleModel } from '../../db/Role';
import { getActivityById } from './activityService';
/** /**
* 获取活动数据 * 获取活动数据
@@ -37,7 +38,7 @@ export async function vipRechargeMoneyActivity(serverId: number, roleId: string)
* *
*/ */
export async function getPlayerVipRechargeMoneyData(activityId: number, serverId: number, roleId: string) { export async function getPlayerVipRechargeMoneyData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
if (!activityData) { if (!activityData) {
return null; return null;
} }
@@ -5,6 +5,7 @@ import { ServerlistModel } from '../../db/Serverlist';
import { UserOrderModel, UserOrderModelType } from '../../db/UserOrder'; import { UserOrderModel, UserOrderModelType } from '../../db/UserOrder';
import { RewardParam } from '../../domain/activityField/rewardField'; import { RewardParam } from '../../domain/activityField/rewardField';
import { YuanBaoShopData } from '../../domain/activityField/yuanBaoShopField'; import { YuanBaoShopData } from '../../domain/activityField/yuanBaoShopField';
import { getActivityById } from './activityService';
import { addReward, stringToRewardParam } from './giftPackageService'; import { addReward, stringToRewardParam } from './giftPackageService';
/** /**
@@ -39,7 +40,7 @@ export async function yuanbaoActivity(serverId: number, roleId: string) {
* *
*/ */
export async function getPlayerYuanbaoShopData(activityId: number, serverId: number, roleId: string) { export async function getPlayerYuanbaoShopData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData = await getActivityById(activityId);
let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId); let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -61,7 +62,7 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num
export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId); let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId);
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await getActivityById(activityId);
if (activityData.type !== ACTIVITY_TYPE.YUAN_BAO_SHOP) { if (activityData.type !== ACTIVITY_TYPE.YUAN_BAO_SHOP) {
return STATUS.ACTIVITY_TYPE_ERROR; return STATUS.ACTIVITY_TYPE_ERROR;
} }
+6
View File
@@ -33,6 +33,12 @@ export default class Activity extends BaseModel {
@prop({ required: true }) @prop({ required: true })
interval: number; // 周期性活动时间间隔,秒 interval: number; // 周期性活动时间间隔,秒
// 获取正在开启和即将到来的活动列表
public static async findOpenAndComingActivityes() {
let now = new Date();
let result: ActivityModelType[] = await ActivityModel.find({ endTime: { $gte: now } }).lean();
return result;
}
//根据活动类型查询开启的活动数据 //根据活动类型查询开启的活动数据
public static async findOpenActivityByType(activityGroupId: number[], type: number, date: Date) { public static async findOpenActivityByType(activityGroupId: number[], type: number, date: Date) {