定时任务:自动开发修复

This commit is contained in:
luying
2022-05-24 21:22:47 +08:00
parent 3f58896690
commit 994f174ea9
4 changed files with 37 additions and 2 deletions

View File

@@ -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) {

View File

@@ -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) {

View File

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

View File

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