后台:批量编辑
This commit is contained in:
@@ -22,9 +22,9 @@ export default class Activity extends Service {
|
||||
});
|
||||
}
|
||||
|
||||
public async updateActivity(activityId: number, serverId: number, beginTime: number, endTime: number, type: number, data: string) {
|
||||
public async updateActivity(activityId: number|string, serverId: number, beginTime: number, endTime: number, type: number, data: string) {
|
||||
const { ctx } = this;
|
||||
if(serverId == undefined || !beginTime || !endTime || !type || !data) {
|
||||
if(!type || !data) {
|
||||
return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
try {
|
||||
@@ -33,7 +33,15 @@ export default class Activity extends Service {
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
const activity = await ActivityModel.addActivity(activityId, serverId, new Date(beginTime), new Date(endTime), type, data);
|
||||
let aids: number[] = [];
|
||||
if(typeof activityId == 'number') {
|
||||
aids.push(activityId);
|
||||
} else {
|
||||
activityId.split(',').forEach(aidStr => {
|
||||
aids.push(parseInt(aidStr));
|
||||
});
|
||||
}
|
||||
const activity = await ActivityModel.addActivity(aids, serverId, beginTime?new Date(beginTime): undefined, endTime?new Date(endTime): undefined, type, data);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
activity
|
||||
})
|
||||
@@ -48,4 +56,5 @@ export default class Activity extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.ACTIVITY_MISSING);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,10 +41,24 @@ export default class Activity extends BaseModel {
|
||||
}
|
||||
|
||||
//新增活动
|
||||
public static async addActivity(activityId: number, serverId: number, beginTime: Date, endTime: Date, type: number, data: string, lean = true) {
|
||||
if(!activityId) activityId = await CounterModel.getNewCounter(COUNTER.ACTIVITY);
|
||||
let result: ActivityModelType = await ActivityModel.findOneAndUpdate({ activityId }, { serverId, beginTime, endTime, type, data },
|
||||
{ new: true, upsert: true }).lean(lean);
|
||||
public static async addActivity(aids: number[], serverId: number, beginTime: Date, endTime: Date, type: number, data: string, lean = true) {
|
||||
let result: ActivityModelType[] = [];
|
||||
for(let activityId of aids) {
|
||||
if(!activityId) activityId = await CounterModel.getNewCounter(COUNTER.ACTIVITY);
|
||||
let update = { type, data }
|
||||
if(serverId != undefined) {
|
||||
update["serverId"] = serverId;
|
||||
}
|
||||
if(beginTime != undefined) {
|
||||
update["beginTime"] = beginTime;
|
||||
}
|
||||
if(endTime != undefined) {
|
||||
update["endTime"] = endTime;
|
||||
}
|
||||
let rec: ActivityModelType = await ActivityModel.findOneAndUpdate({ activityId }, {$set: update},
|
||||
{ new: true, upsert: true }).lean(lean);
|
||||
result.push(rec);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { ORDER_STATE } from '../consts';
|
||||
|
||||
/**
|
||||
* 月卡
|
||||
|
||||
Reference in New Issue
Block a user