红点:pvp推送
This commit is contained in:
@@ -12,12 +12,16 @@ export default class ActivityController extends Controller {
|
||||
public async updateActivity() {
|
||||
const { ctx } = this;
|
||||
const { activityId, groupId, beginTime, endTime, type, data } = ctx.request.body;
|
||||
ctx.body = await ctx.service.activity.updateActivity(activityId, groupId, beginTime, endTime, type, data);
|
||||
let checkActivity = await ctx.service.activity.checkActivityEditable(activityId);
|
||||
if(checkActivity) return ctx.body = checkActivity;
|
||||
return ctx.body = await ctx.service.activity.updateActivity(activityId, groupId, beginTime, endTime, type, data);
|
||||
}
|
||||
|
||||
public async deleteActivity() {
|
||||
const { ctx } = this;
|
||||
const { activityId } = ctx.request.body;
|
||||
let checkActivity = await ctx.service.activity.checkActivityEditable(activityId);
|
||||
if(checkActivity) return ctx.body = checkActivity;
|
||||
ctx.body = await ctx.service.activity.deleteActivity(activityId);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Service } from 'egg';
|
||||
import { STATUS } from '@consts';
|
||||
import { STATUS, ACTIVITY_TYPE } from '@consts';
|
||||
import { ActivityModel } from '@db/Activity';
|
||||
import { ActivityGroupModel } from '@db/ActivityGroup';
|
||||
import { ServerlistModel } from '@db/Serverlist';
|
||||
import { GMUserType } from '@db/GMUser';
|
||||
import { SignInData } from '@domain/activityField/signInField';
|
||||
|
||||
/**
|
||||
* Test Service
|
||||
@@ -27,6 +28,29 @@ export default class Activity extends Service {
|
||||
});
|
||||
}
|
||||
|
||||
public async checkActivityEditable(activityId: number) {
|
||||
let now = new Date();
|
||||
let activity = await ActivityModel.findActivity(activityId);
|
||||
if(!activity) {
|
||||
return this.ctx.service.utils.resResult(STATUS.ACTIVITY_MISSING);
|
||||
}
|
||||
if(this.app.config.env == 'production') {
|
||||
if(activity.beginTime < now && activity.endTime > now) {
|
||||
|
||||
if(activity.type == ACTIVITY_TYPE.SIGN_IN || activity.type == ACTIVITY_TYPE.SIGN_IN_VIP) {
|
||||
// 签到活动的不显示期内也可以编辑
|
||||
let signInObj = new SignInData(activity);
|
||||
if(signInObj.beginTime < now.getTime() && signInObj.endTime > now.getTime() ) {
|
||||
return this.ctx.service.utils.resResult(STATUS.GM_CAN_NOT_EDIT_ACT);
|
||||
}
|
||||
} else {
|
||||
return this.ctx.service.utils.resResult(STATUS.GM_CAN_NOT_EDIT_ACT);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
public async updateActivity(activityId: number | string, groupId: number, beginTime: number, endTime: number, type: number, data: string) {
|
||||
const { ctx } = this;
|
||||
let gmuser: GMUserType = ctx.user;
|
||||
|
||||
Reference in New Issue
Block a user