🎈 perf(后台): 活动更新
This commit is contained in:
@@ -202,8 +202,10 @@ export default class Activity extends Service {
|
||||
let activities = await ActivityModel.findActivityByIds(data.activityIds);
|
||||
// let checkTimeResult = await checkActivityEditable(activities);
|
||||
// if(!checkTimeResult) return resResult(STATUS.GM_CAN_NOT_EDIT_ACT);
|
||||
let checkGroup = await this.checkActivityGroupTypeWithId(data.groupId, activities);
|
||||
if(!checkGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_NOT_FIT_GROUP_TYPE);
|
||||
if(data.groupId) {
|
||||
let checkGroup = await this.checkActivityGroupTypeWithId(data.groupId, activities);
|
||||
if(!checkGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_NOT_FIT_GROUP_TYPE);
|
||||
}
|
||||
|
||||
activities = await ActivityModel.updateActivity(data.activityIds, data, ctx.user?.uid);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { aids: activities.map(cur => cur.activityId) });
|
||||
|
||||
@@ -356,19 +356,19 @@ export class SetHeroParam {
|
||||
|
||||
export class UpdateActivityParam {
|
||||
activityIds: number[] = [];
|
||||
groupId: number = 0;
|
||||
groupId: number;
|
||||
beginTime: Date;
|
||||
endTime: Date;
|
||||
type: number = 0;
|
||||
data: string = '';
|
||||
timeType: number = 0;
|
||||
days: number = 0;
|
||||
delayDay: number = 0;
|
||||
interval: number = 0;
|
||||
name: string = '';
|
||||
hideDayByServer: number = 0;
|
||||
effectDay: number = 0;
|
||||
multiTime: { id: number, beginTime: Date, endTime: Date}[] = []
|
||||
type: number;
|
||||
data: string;
|
||||
timeType: number;
|
||||
days: number;
|
||||
delayDay: number;
|
||||
interval: number;
|
||||
name: string;
|
||||
hideDayByServer: number;
|
||||
effectDay: number;
|
||||
multiTime: { id: number, beginTime: Date, endTime: Date}[];
|
||||
|
||||
constructor(obj?: any) {
|
||||
if(!obj) return;
|
||||
@@ -379,19 +379,20 @@ export class UpdateActivityParam {
|
||||
this.activityIds.push(parseInt(aidStr));
|
||||
});
|
||||
}
|
||||
this.groupId = obj.groupId;
|
||||
if(obj.groupId)this.groupId = obj.groupId;
|
||||
if(obj.beginTime) this.beginTime = new Date(obj.beginTime);
|
||||
if(obj.endTime) this.endTime = new Date(obj.endTime);
|
||||
this.type = obj.type;
|
||||
this.data = obj.data;
|
||||
this.timeType = obj.timeType;
|
||||
this.days = obj.days;
|
||||
this.delayDay = obj.delayDay;
|
||||
this.interval = obj.interval;
|
||||
this.name = obj.name;
|
||||
this.hideDayByServer = obj.hideDayByServer;
|
||||
this.effectDay = obj.effectDay;
|
||||
if(obj.type) this.type = obj.type;
|
||||
if(obj.data) this.data = obj.data;
|
||||
if(obj.timeType) this.timeType = obj.timeType;
|
||||
if(obj.days) this.days = obj.days;
|
||||
if(obj.delayDay) this.delayDay = obj.delayDay;
|
||||
if(obj.interval) this.interval = obj.interval;
|
||||
if(obj.name) this.name = obj.name;
|
||||
if(obj.hideDayByServer) this.hideDayByServer = obj.hideDayByServer;
|
||||
if(obj.effectDay) this.effectDay = obj.effectDay;
|
||||
if(obj.multiTime && obj.multiTime.length) {
|
||||
this.multiTime = [];
|
||||
for(let { id, beginTime, endTime } of obj.multiTime) {
|
||||
this.multiTime.push({ id, beginTime: new Date(beginTime), endTime: new Date(endTime)})
|
||||
}
|
||||
@@ -412,16 +413,18 @@ export class UpdateActivityParam {
|
||||
if(this.name && !isString(this.name)) return false;
|
||||
if(this.hideDayByServer && !isNumber(this.hideDayByServer)) return false;
|
||||
if(this.effectDay && !isNumber(this.effectDay)) return false;
|
||||
if(this.timeType == 4 && !isArray(this.multiTime)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
checkTime() {
|
||||
let t = undefined;
|
||||
for(let { beginTime, endTime } of this.multiTime) {
|
||||
console.log('####', t, beginTime, endTime)
|
||||
if(beginTime > endTime) return false;
|
||||
if(t && beginTime < t) return false;
|
||||
t = endTime;
|
||||
if(this.timeType == 4) {
|
||||
let t = undefined;
|
||||
for(let { beginTime, endTime } of this.multiTime) {
|
||||
if(beginTime > endTime) return false;
|
||||
if(t && beginTime < t) return false;
|
||||
t = endTime;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user