后台:活动组
This commit is contained in:
@@ -25,12 +25,33 @@ export default class Activity extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list: list.map(cur => {
|
||||
return {
|
||||
...cur, beginTime: cur.beginTime.getTime(), endTime: cur.endTime.getTime()
|
||||
...cur, beginTime: cur.beginTime.getTime(), endTime: cur.endTime.getTime(), env: ctx.app.config.realEnv
|
||||
}
|
||||
}), total
|
||||
});
|
||||
}
|
||||
|
||||
public async getAllActivities() {
|
||||
const { ctx } = this;
|
||||
let list = await ActivityModel.findAllActivities();
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list });
|
||||
}
|
||||
|
||||
public async getAllActivityGroups() {
|
||||
const { ctx } = this;
|
||||
let list = await ActivityGroupModel.findAllActivityGroups();
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list });
|
||||
}
|
||||
|
||||
public async getAllActivityGroupTypes() {
|
||||
const { ctx } = this;
|
||||
// console.log('***', page, pageSize, type, serverId, current, activityId)
|
||||
const list = await ActivityGroupTypeModel.findAllActivityGroupTypes();
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list
|
||||
});
|
||||
}
|
||||
|
||||
public async checkActivityEditable(activityId: number) {
|
||||
let now = new Date();
|
||||
let activity = await ActivityModel.findActivity(activityId);
|
||||
@@ -100,7 +121,7 @@ export default class Activity extends Service {
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +146,7 @@ export default class Activity extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list: list.map(cur => {
|
||||
return {
|
||||
...cur, beginTime: cur.beginTime?.getTime(), endTime: cur.endTime?.getTime()
|
||||
...cur, beginTime: cur.beginTime?.getTime(), endTime: cur.endTime?.getTime(), env: ctx.app.config.realEnv
|
||||
}
|
||||
}), total
|
||||
});
|
||||
@@ -134,74 +155,20 @@ export default class Activity extends Service {
|
||||
/**
|
||||
* 更新活动组
|
||||
*/
|
||||
public async updateActivityGroupName(groupId: number, groupName: string) {
|
||||
public async updateActivityGroup(groupId: number, groupName: string, activityIds: number[], serverIds: number[], type: number) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
await ActivityGroupModel.updateGroup(groupId, {groupName}, ctx.user?.uid);
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
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);
|
||||
|
||||
/**
|
||||
* 选择活动组内的活动
|
||||
*/
|
||||
public async saveActivitiesToGroup(groupId: number, activityIds: number[]) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
// 更新activities
|
||||
let checkResult = await this.checkActivityGroupType(groupId, activityIds, ctx);
|
||||
if(checkResult) return checkResult;
|
||||
|
||||
await ActivityGroupModel.setActivitiesToGroupData(groupId, activityIds, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择活动组内的活动
|
||||
*/
|
||||
public async saveSingleActivityToGroup(groupId: number, index: number, activityId: number) {
|
||||
console.log(groupId, index, activityId);
|
||||
const { ctx } = this;
|
||||
try {
|
||||
let checkResult = await this.checkActivityGroupType(groupId, [activityId], ctx);
|
||||
if(checkResult) return checkResult;
|
||||
|
||||
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
|
||||
if(!activityGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_NOT_FOUND);
|
||||
let activity = await ActivityModel.findActivity(activityId);
|
||||
if(!activity) return ctx.service.utils.resResult(STATUS.ACTIVITY_MISSING);
|
||||
|
||||
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 curDic = dic.find(cur => cur.index == index);
|
||||
console.log(dic, curDic)
|
||||
if(curDic.activityType != activity.type) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_NOT_FIT_GROUP_TYPE)
|
||||
}
|
||||
|
||||
let activityIds = activityGroup.activities||[];
|
||||
if(activityIds.indexOf(activityId) == -1) activityIds.push(activityId);
|
||||
|
||||
await ActivityGroupModel.setActivitiesToGroupData(groupId, activityIds, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
|
||||
/**
|
||||
* 将活动组添加入服务器内
|
||||
*/
|
||||
public async saveGroupToServer(groupId: number, serverIds: number[]) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
// 封信servers
|
||||
await ServerlistModel.pullByGroupId(groupId);
|
||||
let servers = await ServerlistModel.findServerByIds(serverIds);
|
||||
for(let server of servers) {
|
||||
@@ -213,8 +180,9 @@ export default class Activity extends Service {
|
||||
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, e.stack);
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
@@ -227,7 +195,7 @@ export default class Activity extends Service {
|
||||
try {
|
||||
await ActivityGroupModel.createGroup(ctx.user?.uid);
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
@@ -243,7 +211,7 @@ export default class Activity extends Service {
|
||||
await ActivityGroupModel.deleteGroup(groupId);
|
||||
}
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
@@ -278,14 +246,6 @@ export default class Activity extends Service {
|
||||
await ActivityGroupTypeModel.deleteActivityGroupType(groupType);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async saveGroupTypeToActivityGroup(groupId: number, groupType: number) {
|
||||
const { ctx } = this;
|
||||
let groupTypeObj = await ActivityGroupTypeModel.findByGroupType(groupType);
|
||||
if(!groupTypeObj) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
await ActivityGroupModel.updateGroup(groupId, { type: groupType }, ctx.user?.uid);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async getGroupDataById(groupId: number) {
|
||||
const { ctx } = this;
|
||||
|
||||
Reference in New Issue
Block a user