活动:修改结构

This commit is contained in:
qiaoxin
2021-06-30 11:41:38 +08:00
parent 550ec29842
commit 3cff8acf3a
60 changed files with 260 additions and 169 deletions

View File

@@ -263,7 +263,8 @@ export class GachaHandler {
let activityData = await ActivityModel.findActivity(activityId);
if (!activityData) return resResult(STATUS.ACTIVITY_MISSING);
let gachaData = new GachaData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let gachaData = new GachaData(activityData, createTime);
heroes = gachaData.heroes;
if (!heroes.includes(pickHero)) {
return resResult(STATUS.GACHA_CAN_NOT_PICK)

View File

@@ -57,7 +57,8 @@ export class NewHeroGachaHandler {
const serverId = session.get('serverId');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new NewHeroGachaData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGachaData(activityData, createTime);
for (let pageData of playerData.list) {
await ActivityNewHeroGachaModel.selectedHero(serverId, activityId, roleId, pageData.hid, pageData.hid == hid);
}

View File

@@ -10,6 +10,7 @@ import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { addSelfServiceShopGiftReward, getSelfServiceShopActivityData, getPlayerActivityData } from '../../../services/activity/selfServiceShopActivityService';
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { random } from 'underscore';
import { RoleModel } from '../../../db/Role';
export default function (app: Application) {
return new SelfServiceShopHandler(app);
@@ -53,7 +54,8 @@ export class SelfServiceShopHandler {
const funcs: number[] = session.get('funcs');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SelfServiceShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let item = playerData.getItem(index);
if (item.countMax > 0) {//限制购买次数
@@ -112,7 +114,8 @@ export class SelfServiceShopHandler {
const funcs: number[] = session.get('funcs');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SelfServiceShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let unitPrice = playerData.unitPrice;//购买价格
let unitCountMax = playerData.unitCountMax;//最大购买次数
let unitReward = playerData.unitReward;//购买获得资源

View File

@@ -60,7 +60,7 @@ export class ThirtyDaysHandler {
let activityDays = 0;
for (let i = 0; i < activityArray.length; i++) {
let playerData = new ThirtyDaysData(activityArray[i]);
let playerData = new ThirtyDaysData(activityArray[i], roleId);
if (playerData.activityId != activityId) {
activityDays += playerData.days;//周期天数
} else {

View File

@@ -34,7 +34,7 @@ export class TreasureHuntHandler {
const { activityId } = msg;
const roleId = session.get('roleId');
const serverId = session.get('serverId');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}
@@ -57,7 +57,7 @@ export class TreasureHuntHandler {
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}
@@ -98,7 +98,7 @@ export class TreasureHuntHandler {
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}
@@ -150,7 +150,7 @@ export class TreasureHuntHandler {
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}
@@ -197,7 +197,7 @@ export class TreasureHuntHandler {
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}
@@ -234,7 +234,7 @@ export class TreasureHuntHandler {
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return resResult(STATUS.ACTIVITY_MISSING, {});
}

View File

@@ -113,7 +113,7 @@ export async function getActivity(serverId: number, roleId: string, activityId:
}
case ACTIVITY_TYPE.TREASURE_HUNT://寻宝骑兵活动 23
{
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getTreasureHuntData(serverId, roleId);
activityData = await getPlayerTreasureHuntData(activityId, serverId, roleId, huntRoundIndex, huntBeginTime, huntEndTime);
break;
}

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { DailyChallengesData, DailyItem } from '../../domain/activityField/dailyChallengesField';
@@ -21,7 +22,8 @@ export async function dailyChallengesActivity(serverId: number, roleId: string)
}
let activityData: ActivityModelType = activityDataArray[0];
let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityData.activityId, roleId);
let playerData = new DailyChallengesData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyChallengesData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
return playerData;
}
@@ -38,8 +40,8 @@ export async function dailyChallengesActivity(serverId: number, roleId: string)
export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId);
let playerData = new DailyChallengesData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyChallengesData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
return playerData;

View File

@@ -2,6 +2,7 @@ import { ACTIVITY_TYPE, DAILY_MEAL_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityDailyCoinModel, ActivityDailyCoinModelType } from '../../db/ActivityDailyCoin';
import { ActivityGroupModel } from '../../db/ActivityGroup';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { DailyCoinData } from '../../domain/activityField/dailyCoinField';
@@ -21,7 +22,8 @@ export async function dailyCoinActivity(serverId: number, roleId: string) {
return null;
}
let activityData: ActivityModelType = activityDataArray[0];
let playerData = new DailyCoinData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
playerData.setPlayerRecords(playerRecord);
@@ -39,7 +41,8 @@ export async function dailyCoinActivity(serverId: number, roleId: string) {
*/
export async function getPlayerDailyCoinData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new DailyCoinData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
playerData.setPlayerRecords(playerRecord);

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityDailyGKModel, ActivityDailyGKModelType } from '../../db/ActivityDailyGK';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { DailyGKData, DailyGKItem } from '../../domain/activityField/dailyGKField';
@@ -21,7 +22,8 @@ export async function dailyGKActivity(serverId: number, roleId: string) {
}
let activityData: ActivityModelType = activityDataArray[0];
let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityData.activityId, roleId);
let playerData = new DailyGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGKData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -38,8 +40,8 @@ export async function dailyGKActivity(serverId: number, roleId: string) {
export async function getPlayerDailyGKData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityId, roleId);
let playerData = new DailyGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGKData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
@@ -55,7 +57,8 @@ export async function getPlayerDailyGKData(activityId: number, serverId: number,
export async function challengeDailyGK(serverId: number, roleId: string, activityId: number, gk: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new DailyGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGKData(activityData, createTime);
let item = playerData.findItemByGK(gk);
if (item) {
let dayIndex = item.dayIndex;

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { DailyGiftsData } from '../../domain/activityField/dailyGiftsField';
@@ -22,7 +23,8 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) {
}
let activityData: ActivityModelType = activityDataArray[0];
let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityData.activityId, roleId);
let playerData = new DailyGiftsData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGiftsData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
return playerData;
}
@@ -39,8 +41,8 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) {
export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId);
let playerData = new DailyGiftsData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyGiftsData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
return playerData;

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE, DAILY_MEAL_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityDailyMealModel, ActivityDailyMealModelType } from '../../db/ActivityDailyMeal';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { DailyMealData } from '../../domain/activityField/dailyMealField';
@@ -20,7 +21,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) {
return null;
}
let activityData: ActivityModelType = activityDataArray[0];
let playerData = new DailyMealData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);
@@ -39,7 +41,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) {
*/
export async function getPlayerDailyMealData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new DailyMealData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);

View File

@@ -6,6 +6,7 @@ import moment = require('moment');
import { RewardParam } from '../../domain/activityField/rewardField';
import { addReward, stringToRewardParam } from './giftPackageService';
import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -38,8 +39,8 @@ export async function dailyRMBGiftsActivity(serverId: number, roleId: string) {
*/
export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new DailyRMBGiftsData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyRMBGiftsData(activityData, createTime);
// let productID = playerData.productID;
// let playerOrders: UserOrderModelType[] = await UserOrderModel.findPlayerOrder(productID, roleId, activityId, 1);
// let buyTime = moment(new Date()).startOf('d').toDate()
@@ -72,7 +73,8 @@ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string,
code: STATUS.ACTIVITY_TYPE_ERROR,
}
}
let playerData = new DailyRMBGiftsData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyRMBGiftsData(activityData, createTime);
let bigGiftProductID = playerData.productID;
if (bigGiftProductID == productID) {//一次性购买7天礼包
let playerRecord: ActivityDailyRMBGiftsModelType = await ActivityDailyRMBGiftsModel.findRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate());

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE, TASK_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityFirstGiftModel, ActivityFirstGiftModelType } from '../../db/ActivityFirstGift';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { FirstGiftData } from '../../domain/activityField/firstGiftField';
@@ -26,7 +27,8 @@ export async function firstGiftActivity(serverId: number, roleId: string) {
return null;
}
let playerData = new FirstGiftData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new FirstGiftData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -43,7 +45,8 @@ export async function getPlayerFirstGiftData(activityId: number, serverId: numbe
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId);
let playerData = new FirstGiftData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new FirstGiftData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}

View File

@@ -6,6 +6,7 @@ import { shouldRefresh, getRandEelm, getRandEelmWithWeight } from "../../pubUtil
import { REFRESH_TIME, GACHA_TO_FLOOR, GACHA_FLOOR_TYPE, GACHA_CONTENT_TYPE, HERO_QUALITY_TYPE, GACHA_OCCUPY_HID, IT_TYPE, ITID, CONSUME_TYPE, SPECIAL_ATTR, TIME_OUTPUT_TYPE, GACHA_ID } from "../../consts";
import { getTimeFunD, getZeroPointD } from "../../pubUtils/timeUtil";
import { gameData, getDicGachaFloor } from "../../pubUtils/data";
import { RoleModel } from "../../db/Role";
/**
* 获取招募列表
@@ -37,7 +38,8 @@ export async function getLimitGacha(serverId: number, roleId: string, activityId
let activityData = await ActivityModel.findActivity(activityId);
if (!activityData) return false;
let gachaData = new GachaData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let gachaData = new GachaData(activityData, createTime);
let userGacha = await UserGachaModel.findByRole(roleId, gachaData.gachaId, activityId);
userGacha = await refreshGacha(gameData.gacha.get(gachaData.gachaId), userGacha);
gachaData.setUserGacha(userGacha);

View File

@@ -48,7 +48,8 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId);
let playerData = new GrowthFundData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new GrowthFundData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
if (playerData.isVipActivity()) {//vip高阶需要购买
let buyRecords = await ActivityBuyRecordsModel.findRecordsByActivityId(activityData.activityId, roleId);
@@ -132,7 +133,8 @@ export async function makeGrowthFund(roleId: string, roleName: string, sid: stri
if (activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP && activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP && activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP) {
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new GrowthFundData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new GrowthFundData(activityData, createTime);
let pageData = playerData.findPageByProductID(productID);
let pageIndex = pageData.pageIndex;
await ActivityBuyRecordsModel.addRecord(activityId, roleId, activityData.type, pageIndex, true);

View File

@@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import { HeroModel } from '../../db/Hero';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { GrowthData, GrowthItem } from '../../domain/activityField/growthField';
@@ -25,7 +26,8 @@ export async function growthActivity(serverId: number, roleId: string) {
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
let userHeroes = await HeroModel.findByRole(roleId);
let playerData = new GrowthData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new GrowthData(activityData, createTime);
await playerData.setPlayerRecords(playerRecords, roleId, userHeroes);
playerData.setPlayerPointRecord(playerPointRecord);
return playerData;
@@ -46,7 +48,8 @@ export async function getPlayerGrowthData(activityId: number, serverId: number,
let userHeroes = await HeroModel.findByRole(roleId);
let playerData = new GrowthData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new GrowthData(activityData, createTime);
await playerData.setPlayerRecords(playerRecords, roleId, userHeroes);
playerData.setPlayerPointRecord(playerPointRecord);
return playerData;

View File

@@ -24,7 +24,8 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st
return null;
}
let activityData = activityArray[0];
let playerData = new LimitShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new LimitShopData(activityData, createTime);
let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
@@ -41,7 +42,8 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st
*/
export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new LimitShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new LimitShopData(activityData, createTime);
let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
@@ -110,7 +112,8 @@ export async function makeLimitPackageReward(roleId: string, roleName: string, s
activityData.type !== ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY) {
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new LimitShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new LimitShopData(activityData, createTime);
let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);

View File

@@ -2,6 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityMonopolyModel, ActivityMonopolyModelType } from '../../db/ActivityMonopoly';
import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../../db/ActivityMonopolyLand';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { MonopolyData, LandItem } from '../../domain/activityField/monopolyField';
@@ -23,7 +24,8 @@ export async function getMonopolyActivity(serverId: number, roleId: string) {
let activityData: ActivityModelType = activityDataArray[0];
let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, activityData.activityId, roleId);
let playerLandData: ActivityMonopolyLandModelType[] = await ActivityMonopolyLandModel.findData(serverId, activityData.activityId, roleId);
let playerData = new MonopolyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonopolyData(activityData, createTime);
playerData.setPlayerRecords(playerMonopolyData, playerLandData);
return playerData;
}
@@ -44,7 +46,8 @@ export async function getPlayerMonopolyData(activityId: number, serverId: number
}
let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, activityData.activityId, roleId);
let playerLandData: ActivityMonopolyLandModelType[] = await ActivityMonopolyLandModel.findData(serverId, activityData.activityId, roleId);
let playerData = new MonopolyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonopolyData(activityData, createTime);
playerData.setPlayerRecords(playerMonopolyData, playerLandData);
return playerData;
}

View File

@@ -7,6 +7,7 @@ import { addReward, stringToRewardInter, stringToRewardParam } from './giftPacka
import moment = require('moment');
import { ServerlistModel } from '../../db/Serverlist';
import { sendMailByContent } from './../mailService';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -28,7 +29,8 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty
}
let activityData = activityArray[0];
let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityData.activityId);
let playerData = new MonthlyTicketData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
if ((playerData.price > 0 && playerData.isOpen) || playerData.price === 0) {
@@ -56,7 +58,8 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty
export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId);
let playerData = new MonthlyTicketData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -72,7 +75,8 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n
export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[],
activityId: number,) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new MonthlyTicketData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime);
let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId);
if (playerData.price > 0 && !playerRecord) {//没有购买过
@@ -107,7 +111,8 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string,
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new MonthlyTicketData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new MonthlyTicketData(activityData, createTime);
let endTime = moment(new Date()).startOf('d').add(playerData.days, 'day').toDate();
console.log('endTime', moment(new Date()).startOf('d'), endTime, playerData.days)

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/ActivityNewHeroGK';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { NewHeroGKData, NewHeroGKItem } from '../../domain/activityField/newHeroGKField';
@@ -21,7 +22,8 @@ export async function newHeroGKActivity(serverId: number, roleId: string) {
}
let activityData: ActivityModelType = activityDataArray[0];
let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityData.activityId, roleId);
let playerData = new NewHeroGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGKData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -39,7 +41,8 @@ export async function getPlayerNewHeroGKData(activityId: number, serverId: numbe
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId);
let playerData = new NewHeroGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGKData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
@@ -57,7 +60,8 @@ export async function challengeNewHeroGK(serverId: number, roleId: string, activ
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecords = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId);
let records = playerRecords && playerRecords.records ? playerRecords.records : [];
let playerData = new NewHeroGKData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGKData(activityData, createTime);
let item = playerData.findItemByGK(pageIndex, gk);
if (item) {
let index = item.index;

View File

@@ -1,6 +1,7 @@
import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityNewHeroGachaModel, ActivityNewHeroGachaModelType } from '../../db/ActivityNewHeroGacha';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField';
@@ -21,7 +22,8 @@ export async function newHeroGachaActivity(serverId: number, roleId: string) {
}
let activityData: ActivityModelType = activityDataArray[0];
let playerRecord: ActivityNewHeroGachaModelType[] = await ActivityNewHeroGachaModel.findData(serverId, activityData.activityId, roleId);
let playerData = new NewHeroGachaData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGachaData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -39,7 +41,8 @@ export async function getPlayerNewHeroGachaData(activityId: number, serverId: nu
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityNewHeroGachaModelType[] = await ActivityNewHeroGachaModel.findData(serverId, activityId, roleId);
let playerData = new NewHeroGachaData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGachaData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;

View File

@@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db/ActivityNewHeroGift';
import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField';
import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -36,7 +37,8 @@ export async function getNewHeroGiftsActivity(serverId: number, roleId: string)
export async function getPlayerNewHeroGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new NewHeroGiftData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new NewHeroGiftData(activityData, createTime);
let playerRecord: ActivityNewHeroGiftModelType = await ActivityNewHeroGiftModel.findData(serverId, activityId, roleId);
playerData.setPlayerRecords(playerRecord);
return playerData;

View File

@@ -4,6 +4,7 @@ import { ActivityRechargeMoneyModel, ActivityRechargeMoneyModelType } from '../.
import { RechargeMoneyData, RechargeMoneyItem } from '../../domain/activityField/rechargeMoneyField';
import moment = require('moment');
import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -20,7 +21,8 @@ export async function rechargeMoneyActivity(serverId: number, roleId: string) {
let activityData = activityArray[0];
let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId);
let playerData = new RechargeMoneyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RechargeMoneyData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
delete playerData.recordArray;
return playerData;
@@ -45,7 +47,8 @@ export async function getPlayerRechargeMoneyData(activityId: number, serverId: n
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId);
let playerData = new RechargeMoneyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RechargeMoneyData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}

View File

@@ -24,7 +24,8 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) {
return null;
}
let activityData = activityArray[0];
let playerData = new RefreshShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime);
let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityData.activityId, roleId, playerData.roundIndex);
if (!playerRecord) {//生成商店可购买商品的数据
@@ -46,7 +47,8 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) {
*/
export async function getPlayerRefreshShopData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new RefreshShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime);
let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex);
if (!playerRecord) {//生成商店可购买商品的数据
@@ -68,7 +70,8 @@ export async function getPlayerRefreshShopData(activityId: number, serverId: num
*/
export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, serverId: number, roleId: string, roundIndex: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new RefreshShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime);
playerData.roundIndex = roundIndex;
let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex);
if (!playerRecord) {//生成商店可购买商品的数据
@@ -117,7 +120,8 @@ export async function makeRefreshShopReward(roleId: string, roleName: string, si
if (activityData.type !== ACTIVITY_TYPE.REFRESH_SHOP) {
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new RefreshShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshShopData(activityData, createTime);
if (roundIndex) {
playerData.roundIndex = roundIndex;
}

View File

@@ -2,6 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityRefreshTaskModel, ActivityRefreshTaskModelType } from '../../db/ActivityRefreshTask';
import { ActivityRefreshTaskPointModel, ActivityRefreshTaskPointModelType } from '../../db/ActivityRefreshTaskPoint';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { RefreshTaskData, RefreshTaskItem } from '../../domain/activityField/refreshTaskField';
@@ -21,7 +22,8 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) {
return null;
}
let activityData: ActivityModelType = activityDataArray[0];
let playerData = new RefreshTaskData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshTaskData(activityData, createTime);
let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex);
let pointRecordData: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findData(serverId, activityData.activityId, roleId);
playerData.setPlayerRecords(playerRecords, pointRecordData);
@@ -39,7 +41,8 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) {
*/
export async function getPlayerRefreshTaskData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new RefreshTaskData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new RefreshTaskData(activityData, createTime);
let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityId, roleId, playerData.roundIndex);
let pointRecordData: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findData(serverId, activityId, roleId);
playerData.setPlayerRecords(playerRecords, pointRecordData);

View File

@@ -8,6 +8,7 @@ import { RewardParam } from '../../domain/activityField/rewardField';
import { SelfServiceShopData, SelfServiceShopItem } from '../../domain/activityField/selfServiceShopField';
import { addReward, getSelectedReward, stringToRewardParam } from './giftPackageService';
import moment = require('moment');
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -41,7 +42,8 @@ export async function getSelfServiceShopActivityData(serverId: number, roleId: s
*/
export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SelfServiceShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByPriceType(serverId, activityId, roleId, playerData.roundIndex);
@@ -124,7 +126,8 @@ export async function makeSelfServerShop(roleId: string, roleName: string, sid:
code: STATUS.ACTIVITY_MISSING,
}
}
let playerData = new SelfServiceShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SelfServiceShopData(activityData, createTime);
let item: SelfServiceShopItem = playerData.getItemByProductID(productID);
if (!item) {
return {

View File

@@ -6,6 +6,7 @@ import { ServerlistModel } from '../../db/Serverlist';
import { SevenDaysData } from '../../domain/activityField/sevenDaysField';
import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges';
import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -22,8 +23,8 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type:
return null;
}
let activityData: ActivityModelType = activityDataArray[0];
let playerData = new SevenDaysData(activityData)
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime)
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
@@ -50,8 +51,8 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type:
*/
export async function getPlayerSevenDaysData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SevenDaysData(activityData)
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime)
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
@@ -78,8 +79,8 @@ export async function getPlayerSevenDaysData(activityId: number, serverId: numbe
*/
export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SevenDaysData(activityData)
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime)
//成长数据
let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
@@ -100,8 +101,8 @@ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId:
*/
export async function getPlayerSevenDaysDailyChallengesData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SevenDaysData(activityData)
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime)
//今日挑战
let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId);
playerData.dailyChallenge.setPlayerRecords(playerDailyChallengeRecords);
@@ -119,7 +120,8 @@ export async function getPlayerSevenDaysDailyChallengesData(activityId: number,
export async function getPlayerSevenDaysDailyGiftsData(activityId: number, serverId: number, roleId: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new SevenDaysData(activityData)
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SevenDaysData(activityData, createTime)
//每日特惠礼包
let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId);
playerData.dailyGift.setPlayerRecords(playerRecords);

View File

@@ -22,7 +22,8 @@ export async function signInActivity(serverId: number, roleId: string) {
return null;
}
let activityData = activityArray[0];
let playerData = new SignInData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SignInData(activityData, createTime);
let curDate = moment(new Date()).valueOf();
if (curDate < playerData.beginTime || curDate > playerData.endTime) {//未开启
return null;
@@ -48,7 +49,8 @@ export async function signInVIPActivity(serverId: number, roleId: string) {
return null;
}
let activityData = activityArray[0];
let playerData = new SignInData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SignInData(activityData, createTime);
let curDate = moment(new Date()).valueOf();
if (curDate < playerData.beginTime || curDate > playerData.endTime) {//未开启
@@ -77,9 +79,9 @@ export async function newPlayerSignInActivity(serverId: number, roleId: string)
return null;
}
let activityData = activityArray[0];
let playerData = new SignInData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SignInData(activityData, createTime);
let betinTime = null;
let endTime = null
let curDate = moment(createTime * 1000);
@@ -119,7 +121,8 @@ export async function getPlayerSignInData(activityId: number, serverId: number,
&& activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) {
return null;
}
let playerData = new SignInData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SignInData(activityData, createTime);
let playerRecords: ActivitySignInModelType = await ActivitySignInModel.findData(activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecords);
@@ -156,7 +159,8 @@ export async function makeSignInVIP(roleId: string, roleName: string, sid: strin
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) {
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new SignInData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new SignInData(activityData, createTime);
await ActivitySignInModel.buyVIP(activityId, roleId, playerData.roundIndex);

View File

@@ -42,7 +42,8 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb
let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId);
let playerData = new ThirtyDaysData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new ThirtyDaysData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
playerData.setPlayerPointRecords(playerPointRecords);
@@ -66,7 +67,8 @@ export async function addPlayerThirtyDaysTask(activityId: number, serverId: numb
let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId);
let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId);
let playerData = new ThirtyDaysData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new ThirtyDaysData(activityData, createTime);
playerData.setPlayerRecords(playerRecords);
playerData.setPlayerPointRecords(playerPointRecords);
return playerData;

View File

@@ -11,6 +11,7 @@ import { TreasureHuntData } from '../../domain/activityField/treasureHuntField';
import { deltaDays } from '../../pubUtils/util';
import { addReward, stringToConsumeParam, stringToRewardParam } from './giftPackageService';
import { RewardParam } from '../../domain/activityField/rewardField';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -22,12 +23,13 @@ import { RewardParam } from '../../domain/activityField/rewardField';
*/
export async function treasureHuntActivity(serverId: number, roleId: string) {
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return null;
}
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -56,12 +58,13 @@ export async function treasureHuntActivity(serverId: number, roleId: string) {
*/
export async function treasureHuntTaskActivity(serverId: number, roleId: string) {
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return null;
}
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -83,7 +86,8 @@ export async function treasureHuntTaskActivity(serverId: number, roleId: string)
export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -104,7 +108,8 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu
export async function getPlayerTreasureHuntFirstPageData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -118,7 +123,8 @@ export async function getPlayerTreasureHuntFirstPageData(activityId: number, ser
export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -132,7 +138,8 @@ export async function getPlayerTreasureHuntShopData(activityId: number, serverId
export async function getPlayerTreasureHuntTaskData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -146,7 +153,8 @@ export async function getPlayerTreasureHuntTaskData(activityId: number, serverId
export async function getPlayerTreasureHuntChallengeData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -158,7 +166,8 @@ export async function getPlayerTreasureHuntChallengeData(activityId: number, ser
export async function getPlayerTreasureHuntTreasureShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerData = new TreasureHuntData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new TreasureHuntData(activityData, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;;
@@ -170,13 +179,13 @@ export async function getPlayerTreasureHuntTreasureShopData(activityId: number,
}
//获取当前活动的周期等数据
export async function getTreasureHuntData(serverId: number) {
export async function getTreasureHuntData(serverId: number, roleId: string) {
let tempData: ServerTempModelType = await ServerTempModel.findData(serverId);
let now = moment(new Date()).toDate();
let activityData: ActivityModelType = null; //当前活动数据
if (!tempData) {//开始新周期
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNewActivityData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNewActivityData(serverId, roleId);
if (huntActivityId === 0) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
}
@@ -185,7 +194,7 @@ export async function getTreasureHuntData(serverId: number) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
}
if (now > tempData.huntEndTime) {//活动过期
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNextActivityData(serverId, tempData.huntActivityId, tempData.huntEndTime, tempData.huntRoundIndex);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNextActivityData(serverId, roleId, tempData.huntActivityId, tempData.huntEndTime, tempData.huntRoundIndex);
if (huntActivityId === 0) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData }
}
@@ -205,15 +214,16 @@ export async function getTreasureHuntData(serverId: number) {
}
}
async function getNewActivityData(serverId: number) {
async function getNewActivityData(serverId: number, roleId: string) {
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let huntActivityId: number = 0; // 寻宝骑兵-活动Id
let huntEndTime: Date = null; // 寻宝骑兵-结束时间
let huntRoundIndex: number = 0; // 寻宝骑兵-周期数
let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.TREASURE_HUNT, 1)//activityId从小到大排序
let treasureHuntDataArray: TreasureHuntData[] = [];
let { createTime } = await RoleModel.findByRoleId(roleId);
for (let obj of activityArray) {
treasureHuntDataArray.push(new TreasureHuntData(obj));
treasureHuntDataArray.push(new TreasureHuntData(obj, createTime));
}
let isOver = false;
let huntBeginTime = moment(SERVER_OPEN_TIME).startOf('d').add(1, 'd').toDate();
@@ -237,15 +247,16 @@ async function getNewActivityData(serverId: number) {
return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex }
}
async function getNextActivityData(serverId: number, oldHuntActivityId: number, oldHuntEndTime: Date, oldHuntRoundIndex: number) {
async function getNextActivityData(serverId: number, roleId: string, oldHuntActivityId: number, oldHuntEndTime: Date, oldHuntRoundIndex: number) {
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let huntActivityId: number = 0; // 寻宝骑兵-活动Id
let huntEndTime: Date = null; // 寻宝骑兵-结束时间
let huntRoundIndex: number = oldHuntRoundIndex; // 寻宝骑兵-周期数
let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.TREASURE_HUNT, 1)//activityId从小到大排序
let treasureHuntDataArray: TreasureHuntData[] = [];
let { createTime } = await RoleModel.findByRoleId(roleId);
for (let obj of activityArray) {
treasureHuntDataArray.push(new TreasureHuntData(obj));
treasureHuntDataArray.push(new TreasureHuntData(obj, createTime));
}
let isOver = false;
let huntBeginTime = moment(oldHuntEndTime).add(1, 'd').startOf('d').toDate();
@@ -296,7 +307,7 @@ async function getNextActivityData(serverId: number, oldHuntActivityId: number,
export async function makeShop(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[],
activityId: number, productID: string) {
// let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) {
return {
code: STATUS.ACTIVITY_MISSING,

View File

@@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityVipRechargeMoneyModel, ActivityVipRechargeMoneyModelType } from '../../db/ActivityVipRechargeMoney';
import { VipRechargeMoneyData, VipRechargeMoneyItem } from '../../domain/activityField/vipRechargeMoneyField';
import { ServerlistModel } from '../../db/Serverlist';
import { RoleModel } from '../../db/Role';
/**
* 获取活动数据
@@ -21,7 +22,8 @@ export async function vipRechargeMoneyActivity(serverId: number, roleId: string)
}
let activityData = activityArray[0];
let playerRecord: ActivityVipRechargeMoneyModelType = await ActivityVipRechargeMoneyModel.findData(serverId, roleId, activityData.activityId);
let playerData = new VipRechargeMoneyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new VipRechargeMoneyData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -41,7 +43,8 @@ export async function getPlayerVipRechargeMoneyData(activityId: number, serverId
}
let playerRecord: ActivityVipRechargeMoneyModelType = await ActivityVipRechargeMoneyModel.findData(serverId, roleId, activityId);
let playerData = new VipRechargeMoneyData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new VipRechargeMoneyData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}

View File

@@ -1,5 +1,6 @@
import { ACTIVITY_TYPE, STATUS, TASK_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { RoleModel } from '../../db/Role';
import { ServerlistModel } from '../../db/Serverlist';
import { UserOrderModel, UserOrderModelType } from '../../db/UserOrder';
import { RewardParam } from '../../domain/activityField/rewardField';
@@ -23,7 +24,8 @@ export async function yuanbaoActivity(serverId: number, roleId: string) {
}
let activityData = activityArray[0];
let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityData.activityId, roleId);
let playerData = new YuanBaoShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new YuanBaoShopData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -40,7 +42,8 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId);
let playerData = new YuanBaoShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new YuanBaoShopData(activityData, createTime);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -62,7 +65,8 @@ export async function makeYuanbaoShopReward(roleId: string, roleName: string, si
if (activityData.type !== ACTIVITY_TYPE.YUAN_BAO_SHOP) {
return STATUS.ACTIVITY_TYPE_ERROR;
}
let playerData = new YuanBaoShopData(activityData);
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new YuanBaoShopData(activityData, createTime);
let item = playerData.findItem(productID);
let rewardParamArr: Array<RewardParam> = [];

View File

@@ -1,6 +1,7 @@
import moment = require('moment');
import { ACTIVITY_TIME_TYPE, REFRESH_TIME, SERVER_OPEN_TIME } from '../../consts';
import { ActivityModelType } from '../../db/Activity';
import { RoleModel } from '../../db/Role';
import { deltaDays } from '../../pubUtils/util';
// 活动数据
@@ -22,7 +23,7 @@ export abstract class ActivityBase {
return this.todayIndex;
}
constructor(activityData: ActivityModelType) {
constructor(activityData: ActivityModelType, createTime: number) {
this.activityId = activityData.activityId;
this.delayDay = activityData.delayDay ? activityData.delayDay : 0;
this.beginTime = moment(activityData.beginTime).add(this.delayDay, 'd').valueOf();
@@ -44,7 +45,7 @@ export abstract class ActivityBase {
break;
}
case ACTIVITY_TIME_TYPE.ROLE_REGISTER_TIME: {
this.beginTime = moment(SERVER_OPEN_TIME).add(this.delayDay, 'd').startOf('d').add(REFRESH_TIME, 'h').valueOf();
this.beginTime = moment(createTime * 1000).add(this.delayDay, 'd').startOf('d').add(REFRESH_TIME, 'h').valueOf();
if (activityData.days > 0) {
this.endTime = moment(this.beginTime).add(activityData.days, 'd').valueOf();
} else {

View File

@@ -73,8 +73,8 @@ export class DailyChallengesData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -110,8 +110,8 @@ export class DailyCoinData extends ActivityBase {
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -55,8 +55,8 @@ export class DailyGKData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -72,8 +72,8 @@ export class DailyGiftsData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -66,8 +66,8 @@ export class DailyMealData extends ActivityBase {
// console.log('ddddddddddddbbbbbbb')
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -100,8 +100,8 @@ export class DailyRMBGiftsData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -78,8 +78,8 @@ export class FirstGiftData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -30,7 +30,7 @@ export class GachaData extends ActivityBase {
let dicGacha = gameData.gacha.get(this.gachaId);
this.pickHero = userGacha.pickHero;
this.freeCount = userGacha.freeCount;
if(dicGacha.free.count > 0) {
if (dicGacha.free.count > 0) {
let f = getTimeFun(userGacha.refFreeTime);
this.refFreeTime = <number>f.getAfterDayWithHour(dicGacha.free.day);
}
@@ -38,8 +38,8 @@ export class GachaData extends ActivityBase {
this.floor = userGacha.floor;
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
}
}
@@ -91,13 +91,13 @@ export class GachaListReturn {
point: number = 0; // 积分
turntable: Turntable[] = []; // 转盘记录
pickHero: number = 0; // 玩家选择的武将
constructor(dicGacha: DicGacha, userGacha: UserGachaType) {
this.gachaId = dicGacha.id;
if(userGacha) {
if (userGacha) {
this.freeCount = userGacha.freeCount;
if(dicGacha.free.count > 0) {
if (dicGacha.free.count > 0) {
let f = getTimeFun(userGacha.refFreeTime);
this.refFreeTime = <number>f.getAfterDayWithHour(dicGacha.free.day);
}
@@ -130,7 +130,7 @@ export class GachaResult {
}
setSetPickHero(hid: number) {
if(hid > 0 && this.hid == GACHA_OCCUPY_HID) {
if (hid > 0 && this.hid == GACHA_OCCUPY_HID) {
this.hid = hid;
}
}

View File

@@ -149,8 +149,8 @@ export class GrowthData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -164,8 +164,8 @@ export class GrowthFundData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -90,8 +90,8 @@ export class LimitShopData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -68,8 +68,8 @@ export class MonopolyData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -56,8 +56,8 @@ export class MonthlyTicketData extends ActivityBase {
this.endTime = 0;
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -95,8 +95,8 @@ export class NewHeroGKData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -70,8 +70,8 @@ export class NewHeroGachaData extends ActivityBase {
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -64,8 +64,8 @@ export class NewHeroGiftData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -84,8 +84,8 @@ export class RechargeMoneyData extends ActivityBase {
})
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -168,8 +168,8 @@ export class RefreshShopData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -128,8 +128,8 @@ export class RefreshTaskData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -104,8 +104,8 @@ export class SelfServiceShopData extends ActivityBase {
this.roundIndex = Math.ceil(this.todayIndex / this.days);
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -319,8 +319,8 @@ export class SevenDaysData extends ActivityBase {
this.dailyChallenge = new SevenDaysDailyChallengesData(objData.dailyChallenge)
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -108,8 +108,8 @@ export class SignInData extends ActivityBase {
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -256,8 +256,8 @@ export class ThirtyDaysData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -337,8 +337,8 @@ export class TreasureHuntData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -61,8 +61,8 @@ export class VipRechargeMoneyData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -62,8 +62,8 @@ export class YuanBaoShopData extends ActivityBase {
}
}
constructor(activityData: ActivityModelType) {
super(activityData)
constructor(activityData: ActivityModelType, createTime: number) {
super(activityData, createTime)
this.initData(activityData.data)
}
}

View File

@@ -499,6 +499,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
console.log('accomplishTask', roleId, taskType, count, JSON.stringify(parma))
let pushMessage = [];
let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
let { createTime } = await RoleModel.findByRoleId(roleId);
// //成长活动统计
// let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date());
// for (let activity of allActivity) {
@@ -562,7 +563,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
//七天乐
let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.SEVEN_DAY, new Date());
for (let activity of allActivity) {
let playerData = new SevenDaysData(activity)
let playerData = new SevenDaysData(activity, createTime)
//成长活动统计
let growthActivity = playerData.growth;
let growthTaskArray = growthActivity.findTaskByType(taskType);
@@ -620,7 +621,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
//今日挑战统计
allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date());
for (let activity of allActivity) {
let growthActivity = new DailyChallengesData(activity);
let growthActivity = new DailyChallengesData(activity, createTime);
let taskArray = growthActivity.findTaskByType(taskType, growthActivity.today());
for (let task of taskArray) {
let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType)
@@ -650,7 +651,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
//刷新任务统计
allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.REFRESH_TASK, new Date());
for (let activity of allActivity) {
let taskActivity = new RefreshTaskData(activity);
let taskActivity = new RefreshTaskData(activity, createTime);
let taskArray = taskActivity.findTaskByType(taskType);
for (let task of taskArray) {
let taskRecord = await ActivityRefreshTaskModel.findDataById(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType)
@@ -686,7 +687,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
let huntRoundIndex = tempData.huntRoundIndex;
let activity = await ActivityModel.findActivity(tempData.huntActivityId);
if (activity) {
let playerData = new TreasureHuntData(activity);
let playerData = new TreasureHuntData(activity, createTime);
playerData.beginTime = moment(huntBeginTime).valueOf();
playerData.endTime = moment(huntEndTime).valueOf();
playerData.roundIndex = huntRoundIndex;
@@ -740,7 +741,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
) {
allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.THIRTY_DAYS, new Date());
for (let activity of allActivity) {
let thirtyDaysActivity = new ThirtyDaysData(activity);
let thirtyDaysActivity = new ThirtyDaysData(activity, createTime);
let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activity.activityId, roleId);
thirtyDaysActivity.setPlayerRecords(playerRecords);
let taskArray = thirtyDaysActivity.findUncompleteTaskByType(taskType);
@@ -845,7 +846,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
if (taskType === TASK_TYPE.BATTLE_MAIN) {
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP], new Date());
for (let activity of allActivity) {
let growthFundActivity = new GrowthFundData(activity);
let growthFundActivity = new GrowthFundData(activity, createTime);
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
growthFundActivity.setPlayerRecords(playerRecords);
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买
@@ -861,7 +862,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
if (taskType === TASK_TYPE.BATTLE_TOWER_LV) {
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_TOWER, ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP], new Date());
for (let activity of allActivity) {
let growthFundActivity = new GrowthFundData(activity);
let growthFundActivity = new GrowthFundData(activity, createTime);
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
growthFundActivity.setPlayerRecords(playerRecords);
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买
@@ -877,7 +878,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType:
if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) {
allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP], new Date());
for (let activity of allActivity) {
let growthFundActivity = new GrowthFundData(activity);
let growthFundActivity = new GrowthFundData(activity, createTime);
let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId);
growthFundActivity.setPlayerRecords(playerRecords);
if (growthFundActivity.isVipActivity()) {//vip高阶需要购买