后台:活动类型表
This commit is contained in:
@@ -27,11 +27,11 @@ export default class Activity_Group extends BaseModel {
|
||||
|
||||
|
||||
//查询组
|
||||
public static async createGroup() {
|
||||
public static async createGroup(uid = 1) {
|
||||
let groupId = await CounterModel.getNewCounter(COUNTER.ACTIVITY_GROUP);
|
||||
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId }, {
|
||||
$setOnInsert: { groupName: `活动组${groupId}`, activities: [], serverIds: [] }
|
||||
$setOnInsert: { groupName: `活动组${groupId}`, activities: [], serverIds: [], createdBy: uid }, $set: { updatedBy: uid }
|
||||
}, { new: true, upsert: true }).lean();
|
||||
return result;
|
||||
}
|
||||
@@ -49,9 +49,9 @@ export default class Activity_Group extends BaseModel {
|
||||
}
|
||||
|
||||
//更新名字
|
||||
public static async updateGroupName(groupId: number, groupName: string) {
|
||||
public static async updateGroupName(groupId: number, groupName: string, uid = 1) {
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId },
|
||||
{ $set: { groupName } }, { new: true }).lean(true);
|
||||
{ $set: { groupName, updatedBy: uid } }, { new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -59,9 +59,9 @@ export default class Activity_Group extends BaseModel {
|
||||
public static async setActivitiesToGroupData(groupId: number, activities: number[], uid = 1) {
|
||||
await this.pullByActivityIds(activities, uid); // 先将原先的删除
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId },
|
||||
{ $set: { activities } }, { new: true }).lean(true);
|
||||
{ $set: { activities, updatedBy: uid } }, { new: true }).lean(true);
|
||||
await ActivityModel.updateGroupId(activities, groupId, uid);
|
||||
result = await this.updateTime(result.groupId, result.activities);
|
||||
result = await this.updateTime(result.groupId, result.activities, uid);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -71,12 +71,12 @@ export default class Activity_Group extends BaseModel {
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId },
|
||||
{ $addToSet: { activities: { $each: activities } } }, { new: true }).lean(true);
|
||||
await ActivityModel.updateGroupId(activities, groupId, uid);
|
||||
result = await this.updateTime(result.groupId, result.activities);
|
||||
result = await this.updateTime(result.groupId, result.activities, uid);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 根据包含的活动更新开始和结束时间
|
||||
private static async updateTime(groupId: number, aids: number[]) {
|
||||
private static async updateTime(groupId: number, aids: number[], uid = 1) {
|
||||
let activities = await ActivityModel.findActivityByIds(aids);
|
||||
let beginTime = undefined, endTime = undefined;
|
||||
for (let activity of activities) {
|
||||
@@ -84,7 +84,7 @@ export default class Activity_Group extends BaseModel {
|
||||
if (!endTime || activity.endTime > endTime) endTime = activity.endTime;
|
||||
}
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId },
|
||||
{ $set: { beginTime, endTime } }, { new: true }).lean(true);
|
||||
{ $set: { beginTime, endTime, updatedBy: uid } }, { new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -94,16 +94,16 @@ export default class Activity_Group extends BaseModel {
|
||||
await ActivityModel.updateGroupId(activities, 0, uid);
|
||||
let activityGroups = await ActivityGroupModel.find({ activities: { $in: activities } });
|
||||
for (let { groupId } of activityGroups) {
|
||||
let result = await ActivityGroupModel.findOneAndUpdate({ groupId }, { $pull: { activities: { $in: activities } } }, { new: true }).lean(true);
|
||||
let result = await ActivityGroupModel.findOneAndUpdate({ groupId }, { $pull: { activities: { $in: activities } }, $set: { updatedBy: uid } }, { new: true }).lean(true);
|
||||
await this.updateTime(result.groupId, result.activities);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//更新服务器
|
||||
public static async updateServerData(groupId: number, serverIds: number[]) {
|
||||
public static async updateServerData(groupId: number, serverIds: number[], uid = 1) {
|
||||
let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId },
|
||||
{ $set: { serverIds } }, { new: true }).lean(true);
|
||||
{ $set: { serverIds, updatedBy: uid } }, { new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user