活动:根据订单获得活动

This commit is contained in:
luying
2022-07-07 13:36:45 +08:00
parent a3331a2b5d
commit e4d8708898
8 changed files with 126 additions and 30 deletions
@@ -4,6 +4,35 @@ import { ActivityRefreshShopModelType, GoodsInfo } from '../../db/ActivityRefres
import { getZeroPoint, getZeroPointOfTime } from '../../pubUtils/timeUtil';
import { ActivityBase } from './activityField';
interface RefreshShopDataInDb {
shopType: number;
name: string;
data: RefreshShopPageInDb[];
}
interface RefreshShopPageInDb {
pageIndex: number;
viewcount: number;
name: string;
items: RefreshShopItemInDb[]
}
interface RefreshShopItemInDb {
id: number;
name: string;
price: number;
productID: string;
reward: string;
countMax: number;
discount: number;
imageName: string;
consume: string;
weight: number;
refreshType: number;
levelLimitMin: number;
levelLimitMax: number;
}
// 每个商品的内容
export class RefreshShopItem {
id: number; // 商品id
@@ -23,7 +52,7 @@ export class RefreshShopItem {
buyCount: number = 0; //购买过的次数
constructor(data: any, pageIndex: number) {
constructor(data: RefreshShopItemInDb, pageIndex: number) {
this.pageIndex = pageIndex;
this.id = data.id;
this.reward = data.reward;
@@ -60,13 +89,13 @@ export class RefreshShopPage {
name: string; //名字
viewCount: number; //随机可购买的商品个数
items: Array<RefreshShopItem> = [];//商品列表
constructor(data: any) {
constructor(data: RefreshShopPageInDb) {
this.pageIndex = data.pageIndex;
this.name = data.name;
for (let item of data.items) {
this.items.push(new RefreshShopItem(item, data.pageIndex))
}
this.viewCount = data.viewCount ? data.viewCount : this.items.length;
this.viewCount = data.viewcount ? data.viewcount : this.items.length;
}
}
@@ -164,7 +193,7 @@ export class RefreshShopData extends ActivityBase {
public initData(data: string) {
// this.nextRefreshTime = this.endTime;
let dataObj = JSON.parse(data);
let dataObj: RefreshShopDataInDb = JSON.parse(data);
this.shopType = dataObj.shopType;
this.name = dataObj.name;
let arr = dataObj.data;
+30 -10
View File
@@ -6,6 +6,30 @@ import { getZeroPoint } from '../../pubUtils/timeUtil';
import { parseNumberList } from '../../pubUtils/util';
import { ActivityBase } from './activityField';
interface RefreshTaskDataInDb {
refreshType: number;
name: string;
consumePoint: number;
reward: string;
data: RefreshTaskPageInDb[];
}
interface RefreshTaskPageInDb {
pageIndex: number;
name: string;
items: RefreshTaskItemInDb[];
}
interface RefreshTaskItemInDb {
id: number;
name: string;
taskType: number;
taskParam: string;
condition: number;
reward: string;
point: number;
skip: string;
}
// 任务配置数据
export class RefreshTaskItem {
@@ -16,7 +40,7 @@ export class RefreshTaskItem {
taskParam: string; //任务数据 dic_zyz_taskType.json
condition: number; //任务数据条件 dic_zyz_taskType.jsonT
reward: string; // 任务奖励,格式:1&3&1(类型&id&数量) 类型定义:1.英雄,2.物品
skip: number; //跳转客户端用
skip: string; //跳转客户端用
point: number; //奖励的点数
taskParamArray: number[] = [];
@@ -24,7 +48,7 @@ export class RefreshTaskItem {
receiveRewardCount: number = 0; //领取奖励次数
refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.FOREVER;
constructor(data: any, pageIndex: number, refreshType: number) {
constructor(data: RefreshTaskItemInDb, pageIndex: number, refreshType: number) {
this.pageIndex = pageIndex;
this.id = data.id;
this.name = data.name;
@@ -51,11 +75,11 @@ export class RefreshTaskPage {
name: string; // 任务名称
items: Array<RefreshTaskItem> = [];
constructor(data: any) {
constructor(data: RefreshTaskPageInDb, refreshType: number) {
this.pageIndex = data.pageIndex;
this.name = data.name;
for (let obj of data.items) {
this.items.push(new RefreshTaskItem(obj, data.pageIndex, data.refreshType));
this.items.push(new RefreshTaskItem(obj, data.pageIndex, refreshType));
}
}
}
@@ -64,9 +88,6 @@ export class RefreshTaskPage {
export class RefreshTaskData extends ActivityBase {
name: string = '';//活动名称
list: Array<RefreshTaskPage> = [];
// nextRefreshTime: number;//下次刷新时间
// roundIndex: number = 1;//周期数从1开始
addPointActivityId: number = 0;//获得的点数,关联其他活动id(新将礼物)
consumePoint: number = 0;//消耗点数兑换奖品
reward: string = ''//消耗点数的奖品内容
@@ -116,16 +137,15 @@ export class RefreshTaskData extends ActivityBase {
public initData(data: string) {
// this.nextRefreshTime = this.endTime;
let dataObj = JSON.parse(data);
let dataObj: RefreshTaskDataInDb = JSON.parse(data);
this.name = dataObj.name;
this.consumePoint = dataObj.consumePoint;
this.reward = dataObj.reward;
this.addPointActivityId = dataObj.addPointActivityId ? dataObj.addPointActivityId : 0;
this.totalPoint = 0;
this.exchangePoint = 0;
let arr = dataObj.data;
for (let obj of arr) {
this.list.push(new RefreshTaskPage(obj))
this.list.push(new RefreshTaskPage(obj, dataObj.refreshType))
}
}
-3
View File
@@ -53,8 +53,6 @@ export interface DicDailyTask extends DicTaskBase {
readonly point: number;
// 经验基数
readonly exp: RewardInter;
// 获得积分关联的活动id
readonly addPointActivityId: number;
}
const DicDailyTaskKeys: KeysEnum<DicDailyTask> = {
@@ -66,7 +64,6 @@ const DicDailyTaskKeys: KeysEnum<DicDailyTask> = {
taskReward: true,
point: true,
exp: true,
addPointActivityId: true
};
// 成就