虚拟充值

This commit is contained in:
luying
2022-02-11 11:45:28 +08:00
parent 04ebd0a9d7
commit 8c24ad4ac2
2 changed files with 77 additions and 32 deletions
+42 -3
View File
@@ -16,7 +16,7 @@ import { SignInData } from "../domain/activityField/signInField";
import { RegionModel, RegionType } from "../db/Region";
import { GMMail as StategyMail } from "../db/ServerStategy";
import { uniq } from "underscore";
import { ActivityModelType } from "../db/Activity";
import { ActivityModel, ActivityModelType } from "../db/Activity";
import { dicRMB } from "../pubUtils/dictionary/DicRMB";
import { LimitShopData } from "../domain/activityField/limitShopField";
import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField";
@@ -26,6 +26,9 @@ import { PopUpShopData } from "../domain/activityField/popUpShopField";
import { GrowthFundData } from "../domain/activityField/growthFundField";
import { TreasureHuntData } from "../domain/activityField/treasureHuntField";
import { RefreshShopData } from "../domain/activityField/refreshShopField";
import { RoleType } from "../db/Role";
import { MonopolyData } from "../domain/activityField/monopolyField";
import { ActivityPopUpShopModel } from "../db/ActivityPopUpShop";
// —————————————— 跑马灯 —————————————— //
// 初始
@@ -246,8 +249,13 @@ export function getActivityProducts(activity: ActivityModelType) {
}
case ACTIVITY_TYPE.POP_UP_SHOP://弹出礼包
{
let data = new PopUpShopData(activity, 0);
return [getDicRMB(data.productID)];
let products: { label: string, value: string }[] = [];
let allTaskData: any[] = JSON.parse(activity.data);
for(let task of allTaskData) {
let data = new PopUpShopData(task, activity.activityId);
products.push(getDicRMB(data.productID))
}
return products;
}
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: //主线成长基金(高阶)
case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP://镇念塔成长基金(高阶)
@@ -280,4 +288,35 @@ export function getActivityProducts(activity: ActivityModelType) {
}
return false
}
export async function getParamStr(activity: ActivityModelType, productID: string, role: RoleType) {
let param = {};
switch(activity.type) {
case ACTIVITY_TYPE.POP_UP_SHOP:
let allTaskData: any[] = JSON.parse(activity.data);
let task = allTaskData.find(cur => cur.productID == productID);
if(!task) break;
let beginTime = new Date();
let endTime = moment(new Date()).add(task.duration, 'h').toDate();
let playerRecord = await ActivityPopUpShopModel.addTaskPushMessage(role.serverId, activity.activityId, role.roleId, task.id, task.taskType, task.condition, beginTime, endTime);
param['beginTimeStamp'] = playerRecord.beginTime;
break;
case ACTIVITY_TYPE.REFRESH_SHOP:
let { activityGroupId } = await ServerlistModel.findByServerId(role.serverId);
let monopolyActivitys = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.MONOPOLY, 1);
let parentActivity = monopolyActivitys.find(activity => {
let data = new MonopolyData(activity, 0);
let curShop = data.list.find(land => { // 找到关联活动
return land.shopActivityId == activity.activityId;
});
return !!curShop;
});
if(parentActivity) {
param['monopolyActivityId'] = parentActivity.activityId;
}
break;
}
return JSON.stringify(param);
}