红点:pvp推送

This commit is contained in:
luying
2021-06-09 20:39:21 +08:00
parent ff45e0f096
commit b70af1606b
6 changed files with 46 additions and 9 deletions

View File

@@ -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);
}

View File

@@ -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;