活动:月卡权限
This commit is contained in:
@@ -4,41 +4,45 @@ import { ActivityMonthlyTicketModelType } from '../../db/ActivityMonthlyTicket';
|
||||
import { deltaDays } from '../../pubUtils/util';
|
||||
import { ActivityBase } from './activityField';
|
||||
|
||||
interface MonthlyTickerInDb {
|
||||
name: string; // 月卡名字
|
||||
id: number; // 序列
|
||||
productID: string; // 商品id vip月卡商品ID
|
||||
price: number ; // 价格
|
||||
isForever: boolean; // 是否是永久卡
|
||||
days: number; // 持续天数,永久卡的话这里填0
|
||||
baseReward: string; // 每天领取的奖励 "2&1&1"
|
||||
firstReward: string;// 首次购买获得的奖励 "2&1&1"
|
||||
imageName: string; // 图片名
|
||||
rebate: number; // 返利倍数
|
||||
}
|
||||
|
||||
// 月卡数据
|
||||
export class MonthlyTicketData extends ActivityBase {
|
||||
|
||||
name: string = '';//名称
|
||||
id: number = 0;//序列
|
||||
productID: string = '';//商品id
|
||||
price: number = 0;//价格
|
||||
days: number = 0;//持续天数
|
||||
baseReward: string = '';//每天领取的奖励
|
||||
firstReward: string = '';//首次购买获得的奖励
|
||||
name: string = ''; // 名称
|
||||
id: number = 0; // 序列
|
||||
productID: string = ''; // 商品id
|
||||
price: number = 0; // 价格
|
||||
days: number = 0; // 持续天数
|
||||
baseReward: string = ''; // 每天领取的奖励
|
||||
firstReward: string = ''; // 首次购买获得的奖励
|
||||
imageName: string = '';
|
||||
rebate: number = 0;//返利倍数
|
||||
rebate: number = 0; // 返利倍数
|
||||
isForever: boolean = false; // 是否是永久卡
|
||||
|
||||
endTime: number = 0;//结束时间
|
||||
dayIndex: number = 0;//已经领取了几天
|
||||
isOpen: boolean = false;//是否开启中
|
||||
todayIndex: number = 0;//现在可以领取第几天的奖励
|
||||
//解析玩家领取记录
|
||||
public setPlayerRecords(data: ActivityMonthlyTicketModelType) {
|
||||
if (!data) {//没有购买月卡
|
||||
return;
|
||||
}
|
||||
this.dayIndex = data.dayIndex;
|
||||
this.endTime = moment(data.endTime).valueOf();
|
||||
if (moment(new Date).valueOf() < this.endTime) {
|
||||
this.isOpen = true;
|
||||
this.todayIndex = deltaDays(moment(data.createdAt).startOf('d').toDate(), new Date) + 1;
|
||||
} else {
|
||||
this.todayIndex = 0;
|
||||
}
|
||||
cardEndTime: number = 0; // 结束时间
|
||||
dayIndex: number = 0; // 已经领取了几天
|
||||
isOpen: boolean = false; // 是否开启中
|
||||
todayIndex: number = 0; // 现在可以领取第几天的奖励
|
||||
|
||||
constructor(activityData: ActivityModelType, createTime: number) {
|
||||
super(activityData, createTime)
|
||||
this.initData(activityData.data)
|
||||
}
|
||||
|
||||
public initData(data: string) {
|
||||
let dataObj = JSON.parse(data);
|
||||
let dataObj: MonthlyTickerInDb = JSON.parse(data);
|
||||
|
||||
this.id = dataObj.id;
|
||||
this.name = dataObj.name;
|
||||
@@ -49,18 +53,22 @@ export class MonthlyTicketData extends ActivityBase {
|
||||
this.firstReward = dataObj.firstReward;
|
||||
this.imageName = dataObj.imageName;
|
||||
this.rebate = dataObj.rebate;
|
||||
|
||||
this.isOpen = false;
|
||||
this.todayIndex = 0;
|
||||
this.dayIndex = 0;
|
||||
this.endTime = 0;
|
||||
}
|
||||
public canShow() { // 开始结束时间用于判断是否购买了月卡了,所以直接显示
|
||||
return true
|
||||
this.isForever = dataObj.isForever;
|
||||
}
|
||||
|
||||
constructor(activityData: ActivityModelType, createTime: number) {
|
||||
super(activityData, createTime)
|
||||
this.initData(activityData.data)
|
||||
//解析玩家领取记录
|
||||
public setPlayerRecords(data: ActivityMonthlyTicketModelType) {
|
||||
if (!data) {//没有购买月卡
|
||||
return;
|
||||
}
|
||||
this.dayIndex = data.dayIndex;
|
||||
this.cardEndTime = data.isForever? moment(data.endTime).valueOf(): this.endTime;
|
||||
if (data.isForever || moment(new Date).valueOf() < this.cardEndTime) {
|
||||
this.isOpen = true;
|
||||
this.todayIndex = deltaDays(moment(data.createdAt).startOf('d').toDate(), new Date) + 1;
|
||||
} else {
|
||||
this.todayIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user