✨ feat(活动): 活动多时间配置
This commit is contained in:
@@ -95,6 +95,21 @@ export abstract class ActivityBase {
|
||||
|
||||
break;
|
||||
}
|
||||
case ACTIVITY_TIME_TYPE.MULT_DATE_TIME: {
|
||||
let now = new Date();
|
||||
let multiTime = activityData.multiTime||[];
|
||||
for(let { id, beginTime, endTime } of multiTime) {
|
||||
if(beginTime <= now && endTime > now) {
|
||||
this.beginTime = beginTime.valueOf();
|
||||
this.endTime = endTime.valueOf();
|
||||
this.roundIndex = id;
|
||||
let startOfBeginDay = moment(this.beginTime).startOf('d').add(REFRESH_TIME, 'h');
|
||||
this.todayIndex = deltaDays(startOfBeginDay.toDate(), new Date) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
@@ -116,6 +131,12 @@ export abstract class ActivityBase {
|
||||
}
|
||||
}
|
||||
|
||||
class multiTime {
|
||||
id: number = 0;
|
||||
beginTime: number = 0;
|
||||
endTime: number = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 存在内存内的活动
|
||||
*/
|
||||
@@ -124,6 +145,7 @@ export class ActivityInRemote {
|
||||
activityId: number; // 活动Id
|
||||
beginTime: number = 0; // 开启时间 timeType=3
|
||||
endTime: number = 0; // 结束时间 timeType=3
|
||||
multiTime: multiTime[] = []; // 开启时间 timeType=4
|
||||
type: number; // 活动类型
|
||||
data: string; // 活动表中的数据
|
||||
|
||||
@@ -141,6 +163,11 @@ export class ActivityInRemote {
|
||||
this.activityId = activity.activityId;
|
||||
if(activity.beginTime) this.beginTime = activity.beginTime.getTime();
|
||||
if(activity.endTime) this.endTime = activity.endTime.getTime();
|
||||
if(activity.multiTime) {
|
||||
for(let { id, beginTime, endTime } of activity.multiTime) {
|
||||
this.multiTime.push({ id, beginTime: beginTime?.getTime()||0, endTime: endTime?.getTime()||0 });
|
||||
}
|
||||
}
|
||||
this.type = activity.type;
|
||||
this.data = activity.data;
|
||||
this.timeType = activity.timeType;
|
||||
@@ -160,6 +187,7 @@ export function transActivityInRemoteToModelType(activity: ActivityInRemote): Ac
|
||||
...activity,
|
||||
beginTime: new Date(activity.beginTime),
|
||||
endTime: new Date(activity.endTime),
|
||||
multiTime: activity.multiTime.map(cur => ({ id: cur.id, beginTime: new Date(cur.beginTime), endTime: new Date(cur.endTime)})),
|
||||
_id: '',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
|
||||
Reference in New Issue
Block a user