定时任务:自动开发修复
This commit is contained in:
@@ -38,8 +38,16 @@ export class ActivityRemote {
|
||||
}
|
||||
}
|
||||
|
||||
private clearData() {
|
||||
this.activityByServer.clear();
|
||||
this.activities.clear();
|
||||
this.activityByType.clear();
|
||||
this.groupToServer.clear();
|
||||
}
|
||||
|
||||
public async loadActivities() {
|
||||
try {
|
||||
this.clearData();
|
||||
let activityGroup = await ActivityGroupModel.findAllActivityGroup();
|
||||
for(let { groupId, serverIds } of activityGroup) {
|
||||
for(let serverId of serverIds) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MarqueeType, MarqueeModel } from "../db/Marquee";
|
||||
import { ACTIVITY_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, SURVEY_SELECT } from "../consts";
|
||||
import { ACTIVITY_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, REDIS_KEY, SURVEY_SELECT } from "../consts";
|
||||
import { scheduleJob, scheduledJobs, Job } from 'node-schedule';
|
||||
import { createMarqueeMsg as sysCreateMarqueeMsg, pushMarqueeMsg as sysPushMarqueeMsg } from './sysChatService';
|
||||
import { GroupMessageType } from "../db/GroupMessage";
|
||||
@@ -13,7 +13,7 @@ import { SignInData } from "../domain/activityField/signInField";
|
||||
import { RegionModel, RegionType } from "../db/Region";
|
||||
import { GMMail as StategyMail } from "../db/ServerStategy";
|
||||
import { uniq } from "underscore";
|
||||
import { ActivityModelType } from "../db/Activity";
|
||||
import { ActivityModel, ActivityModelType } from "../db/Activity";
|
||||
import { dicRMB } from "../pubUtils/dictionary/DicRMB";
|
||||
import { LimitShopData } from "../domain/activityField/limitShopField";
|
||||
import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField";
|
||||
@@ -31,6 +31,9 @@ import { SurveyModel } from "../db/Survery";
|
||||
import { SurveyRecModel } from "../db/SurveyRec";
|
||||
import { getPopUpShopData } from "./activity/popUpShopService";
|
||||
import { TaskPassData } from "../domain/activityField/taskPassField";
|
||||
import { ActivityGroupModel } from "../db/ActivityGroup";
|
||||
import { ActivityInRemote } from "../domain/activityField/activityField";
|
||||
import { redisClient } from "./redisService";
|
||||
|
||||
// —————————————— 跑马灯 —————————————— //
|
||||
// 初始
|
||||
@@ -187,7 +190,17 @@ export async function createNewServer(region: RegionType ,serverId: number, para
|
||||
let newServer = await ServerlistModel.newServer(params, region, serverId, uid);
|
||||
if(params.openMail) await sendOpenServerMail('openMail', params.openMail, newServer, uid);
|
||||
if(params.circleMail) await sendOpenServerMail('circleMail', params.circleMail, newServer, uid);
|
||||
if(params.activityGroupId && params.activityGroupId.length > 0) {
|
||||
await ActivityGroupModel.addServerToGroupData(newServer.id, params.activityGroupId);
|
||||
let activityServers = pinus.app.getServersByType('activity');
|
||||
for(let server of activityServers) {
|
||||
pinus.app.rpc.activity.activityRemote.loadActivities.toServer(server.id);
|
||||
}
|
||||
}
|
||||
await RegionModel.newServer(region.id, newServer);
|
||||
await redisClient().hsetAsync(REDIS_KEY.SERVER, `${newServer.id}`, `${newServer.name}`);
|
||||
await redisClient().hsetAsync(REDIS_KEY.SERVER_OPEN_TIME, `${newServer.id}`, `${newServer.openTime}`);
|
||||
|
||||
}
|
||||
|
||||
function getDicRMB(productID: string) {
|
||||
|
||||
@@ -63,6 +63,14 @@ export default class Activity extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static async findOpenActivityByGroupId(activityGroupId: number[]) {
|
||||
let result: ActivityModelType[] = await ActivityModel.find(
|
||||
{ groupId: { $in: activityGroupId }, isEnable: true }
|
||||
).sort({ activityId: -1 }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
//根据活动类型查询活动数据
|
||||
public static async findActivityByType(type: number) {
|
||||
let result: ActivityModelType[] = await ActivityModel.find({ type }).lean(true);
|
||||
|
||||
@@ -84,6 +84,12 @@ export default class Activity_Group extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
//更新询组
|
||||
public static async addServerToGroupData(serverId: number, groupIds: number[]) {
|
||||
await ActivityGroupModel.updateMany({ groupId: { $in: groupIds} },
|
||||
{ $addToSet: { serverIds: serverId } }, { new: true }).lean(true);
|
||||
}
|
||||
|
||||
// 根据包含的活动更新开始和结束时间
|
||||
private static async updateTime(groupId: number, aids: number[], uid = 1) {
|
||||
let activities = await ActivityModel.findActivityByIds(aids);
|
||||
|
||||
Reference in New Issue
Block a user