虚拟充值:弹出礼包

This commit is contained in:
luying
2022-04-18 17:53:59 +08:00
parent f19962c269
commit a3f55d1a96
2 changed files with 532 additions and 143 deletions

View File

@@ -22,16 +22,17 @@ import { LimitShopData } from "../domain/activityField/limitShopField";
import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField";
import { MonthlyTicketData } from "../domain/activityField/monthlyTicketField";
import { DailyRMBGiftsData } from "../domain/activityField/dailyRMBGiftsField";
import { PopUpShopData } from "../domain/activityField/popUpShopField";
import { PopShopItem, PopUpShopData, PopUpShopPackage } 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, ActivityPopUpShopModelType } from "../db/ActivityPopUpShop";
import { ActivityPopUpShopModel, ActivityPopUpShopModelType, PopUpShopItem } from "../db/ActivityPopUpShop";
import { getActivitiesByType } from "./activity/activityService";
import { SurveyModel } from "../db/Survery";
import { SurveyRecModel } from "../db/SurveyRec";
import { getPopUpShopData } from "./activity/popUpShopService";
// —————————————— 跑马灯 —————————————— //
// 初始
@@ -299,9 +300,28 @@ export async function getParamStr(activity: ActivityModelType, productID: string
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;
const roleId = role.roleId;
let serverId = role.serverId;
let playerData = await getPopUpShopData(activity.activityId, serverId, roleId, role);
let item: PopShopItem, pkg: PopUpShopPackage;
for(let _pkg of playerData.packages) {
let _item = _pkg.findItemByProductID(productID);
if(_item) {
pkg = _pkg; item = _item;
}
}
console.log('&&&&&', item)
if(item.isPushing) {
param['code'] = item.code;
} else {
let popUpShopRec = await ActivityPopUpShopModel.createRecord({
serverId, activityId: activity.activityId, roleId, id: pkg.id,
...pkg.getEffectTime(),
items: pkg.items.map(item => new PopUpShopItem(item))
});
param['code'] = popUpShopRec.code;
}
// let playerRecords = await ActivityPopUpShopModel.findAllOpenData(role.serverId, activity.activityId, role.roleId);
// let playerRecord: ActivityPopUpShopModelType;

File diff suppressed because it is too large Load Diff