后台:权限
This commit is contained in:
@@ -2,8 +2,6 @@ import { Service } from 'egg';
|
||||
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';
|
||||
import { ActivityGroupTypeModel } from '@db/ActivityGroupType';
|
||||
import { ActivityTaskPointModel } from '@db/ActivityTaskPoint';
|
||||
@@ -72,69 +70,6 @@ export default class Activity extends Service {
|
||||
return 0
|
||||
}
|
||||
|
||||
private async checkActivityGroupType(groupId: number, aids: number[], ctx) {
|
||||
|
||||
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
|
||||
if(!activityGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_NOT_FOUND);
|
||||
if(activityGroup.type != 0) {
|
||||
let activityGroupType = await ActivityGroupTypeModel.findByGroupType(activityGroup.type);
|
||||
if(!activityGroupType) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
let dic = activityGroupType.activityTypes;
|
||||
let activities = await ActivityModel.findActivityByIds(aids);
|
||||
for(let { type } of activities) {
|
||||
let index = dic.findIndex(cur => cur.activityType == type);
|
||||
if(index == -1) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_NOT_FIT_GROUP_TYPE);
|
||||
} else {
|
||||
dic.splice(index, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
// if (!type || !data) {
|
||||
// return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// }
|
||||
// try {
|
||||
// let result = JSON.parse(data);
|
||||
// ctx.service.utils.checkActivityData(result, type);
|
||||
// let aids: number[] = [];
|
||||
// if (typeof activityId == 'number') {
|
||||
// aids.push(activityId);
|
||||
// } else {
|
||||
// activityId.split(',').forEach(aidStr => {
|
||||
// aids.push(parseInt(aidStr));
|
||||
// });
|
||||
// }
|
||||
|
||||
// let checkResult = await this.checkActivityGroupType(groupId, aids, ctx);
|
||||
// if(checkResult) return checkResult;
|
||||
|
||||
// let activities = await ActivityModel.addActivity(aids, groupId, beginTime ? new Date(beginTime) : undefined, endTime ? new Date(endTime) : undefined, type, data, gmuser.uid);
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// activity: activities
|
||||
// })
|
||||
|
||||
// } catch (e) {
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
// }
|
||||
// }
|
||||
|
||||
public async deleteActivity(activityId: number) {
|
||||
const { ctx } = this;
|
||||
const result = await ActivityModel.deleteActivity(activityId, ctx.user?.uid);
|
||||
if (result) {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} else {
|
||||
return ctx.service.utils.resResult(STATUS.ACTIVITY_MISSING);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得活动组列表
|
||||
*/
|
||||
@@ -152,41 +87,6 @@ export default class Activity extends Service {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新活动组
|
||||
*/
|
||||
public async updateActivityGroup(groupId: number, groupName: string, activityIds: number[], serverIds: number[], type: number) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
let groupTypeObj = await ActivityGroupTypeModel.findByGroupType(type);
|
||||
if(!groupTypeObj) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
|
||||
await ActivityGroupModel.updateGroup(groupId, {groupName, type}, ctx.user?.uid);
|
||||
|
||||
// 更新activities
|
||||
let checkResult = await this.checkActivityGroupType(groupId, activityIds, ctx);
|
||||
if(checkResult) return checkResult;
|
||||
await ActivityGroupModel.setActivitiesToGroupData(groupId, activityIds, ctx.user?.uid);
|
||||
|
||||
// 封信servers
|
||||
await ServerlistModel.pullByGroupId(groupId);
|
||||
let servers = await ServerlistModel.findServerByIds(serverIds);
|
||||
for(let server of servers) {
|
||||
let pushArr: number[] = [], pullArr: number[] = [];
|
||||
let activityGroupId = server.activityGroupId||[];
|
||||
if(!activityGroupId.includes(groupId)) {
|
||||
pushArr.push(groupId);
|
||||
}
|
||||
await ServerlistModel.updateActivityGroup(server._id, pushArr, pullArr);
|
||||
}
|
||||
await ActivityGroupModel.updateServerData(groupId, serverIds, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建一个新组
|
||||
*/
|
||||
@@ -247,17 +147,6 @@ export default class Activity extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async getGroupDataById(groupId: number) {
|
||||
const { ctx } = this;
|
||||
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
|
||||
if(!activityGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_NOT_FOUND);
|
||||
let { type, activities: activityIds = [] } = activityGroup;
|
||||
let activities = await ActivityModel.findActivityByIds(activityIds);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
data: { groupId, groupType: type, activities }
|
||||
});
|
||||
}
|
||||
|
||||
public async getActivityTaskPoint(page: number, pageSize: number, sortField: string, sortOrder: string, form: {taskType?: number, taskId?: number, activityId?: number}) {
|
||||
const { ctx } = this;
|
||||
const list = await ActivityTaskPointModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
|
||||
Reference in New Issue
Block a user