活动:时间

This commit is contained in:
陆莹
2022-03-23 13:54:04 +08:00
parent 29c5ae8a0a
commit 7bb8250060
70 changed files with 456 additions and 342 deletions

View File

@@ -14,6 +14,7 @@ import { RECRUIT } from "../../../pubUtils/dicParam";
import { getActivityById } from "../../../services/activity/activityService";
import { checkTaskInGacha } from "../../../services/task/taskService";
import { createHeroes } from "../../../services/role/createHero";
import { getRoleCreateTime, getServerCreateTime } from "../../../services/redisService";
export default function (app: Application) {
new HandlerService(app, {});
@@ -247,8 +248,9 @@ export class GachaHandler {
let activityData = await getActivityById(activityId);
if (!activityData) return resResult(STATUS.ACTIVITY_MISSING);
let { createTime } = await RoleModel.findByRoleId(roleId);
let gachaData = new GachaData(activityData, createTime);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let gachaData = new GachaData(activityData, createTime, serverTime);
heroes = gachaData.heroes;
if (!heroes.includes(pickHero)) {
return resResult(STATUS.GACHA_CAN_NOT_PICK)

View File

@@ -12,6 +12,7 @@ import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../s
import { random } from 'underscore';
import { RoleModel } from '../../../db/Role';
import { getActivityById } from '../../../services/activity/activityService';
import { getRoleCreateTime, getServerCreateTime } from '../../../services/redisService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -56,8 +57,9 @@ export class SelfServiceShopHandler {
let activityData = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let playerData = new SelfServiceShopData(activityData, createTime, serverTime);
let item = playerData.getItem(index);
if (item.countMax > 0) {//限制购买次数
@@ -116,8 +118,9 @@ export class SelfServiceShopHandler {
let activityData: ActivityModelType = await getActivityById(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let playerData = new SelfServiceShopData(activityData, createTime, serverTime);
let unitPrice = playerData.unitPrice;//购买价格
let unitCountMax = playerData.unitCountMax;//最大购买次数
let unitReward = playerData.unitReward;//购买获得资源

View File

@@ -9,6 +9,8 @@ import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { ServerlistModel } from '../../../db/Serverlist';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { RewardParam } from '../../../domain/activityField/rewardField';
import { getActivitiesByType } from '../../../services/activity/activityService';
import { getRoleCreateTime, getServerCreateTime } from '../../../services/redisService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -56,12 +58,13 @@ export class ThirtyDaysHandler {
let todayIndex = await playerThirtyDaysActivityDays(roleId);//玩家当前的天数
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.THIRTY_DAYS, 1)
let activityArray = await getActivitiesByType(serverId, ACTIVITY_TYPE.THIRTY_DAYS);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let activityDays = 0;
for (let i = 0; i < activityArray.length; i++) {
let playerData = new ThirtyDaysData(activityArray[i], roleId);
let playerData = new ThirtyDaysData(activityArray[i], createTime, serverTime);
if (playerData.activityId != activityId) {
activityDays += playerData.days;//周期天数
} else {

View File

@@ -6,7 +6,7 @@ import { getTimeLimitRankData, getTimeLimitRankDataShow, sendRankMail, takeSnaps
import { getRankInHandler, Rank } from '../../../services/rankService';
import { getActivityById } from '../../../services/activity/activityService';
import { TimeLimitRankData } from '../../../domain/activityField/timeLimitRankField';
import { hasKey } from '../../../services/redisService';
import { getServerCreateTime, hasKey } from '../../../services/redisService';
import { KeyName } from '../../../domain/rank';
@@ -27,9 +27,10 @@ export class TimeLimitRankHandler {
* @memberof TimeLimitRankHandler
*/
async getTimeLimitRankData(msg: { activityId: number }, session: BackendSession) {
const serverId = session.get('serverId');
const { activityId } = msg;
let playerData = await getTimeLimitRankDataShow(activityId);
let playerData = await getTimeLimitRankDataShow(activityId, serverId);
if (!playerData) {
return resResult(STATUS.ACTIVITY_MISSING);
}
@@ -48,7 +49,7 @@ export class TimeLimitRankHandler {
const roleId = session.get('roleId');
const serverId = session.get('serverId');
let playerData = await getTimeLimitRankData(activityId);
let playerData = await getTimeLimitRankData(activityId, serverId);
if (!playerData) {
return resResult(STATUS.ACTIVITY_MISSING);
}
@@ -72,23 +73,26 @@ export class TimeLimitRankHandler {
async debugSendMail(msg: { magicWord: string, activityId: number }, session: BackendSession) {
let serverId = session.get('serverId');
const { magicWord, activityId } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let playerData = await getTimeLimitRankData(activityId);
await sendRankMail(playerData);
let playerData = await getTimeLimitRankData(activityId, serverId);
await sendRankMail(playerData, serverId);
return resResult(STATUS.SUCCESS);
}
async debugTakeSnapshot(msg: { magicWord: string, activityId: number }, session: BackendSession) {
let serverId = session.get('serverId');
const { magicWord, activityId } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let activityData = await getActivityById(activityId);
let playerData = new TimeLimitRankData(activityData, 0);
let serverTime = await getServerCreateTime(serverId);
let playerData = new TimeLimitRankData(activityData, 0, serverTime);
if(!playerData.needSnapshot) return resResult(STATUS.WRONG_PARMS);
await takeSnapshot(playerData, activityData.groupId);
return resResult(STATUS.SUCCESS);