活动:时间
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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;//购买获得资源
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user