后台:跑马灯

This commit is contained in:
luying
2021-12-09 20:38:23 +08:00
parent 3db2735d6e
commit ecca95b40b
12 changed files with 187 additions and 94 deletions
@@ -126,34 +126,14 @@ export class GmHandler {
}
}
async createMarquee(msg: { startTime: string, endTime: string, interval: number, content: string }, session: BackendSession) {
async createMarquee(msg: { startTime: number, endTime: number, interval: number, content: string }, session: BackendSession) {
const { startTime, endTime, interval, content } = msg;
let marquee = await MarqueeModel.createData({ serverIds: [1], type: 2, startTime: new Date(startTime), endTime: new Date(endTime), interval, content });
let marquee = await MarqueeModel.createData({ timeType: 2, startTime, endTime, interval, content });
return resResult(STATUS.SUCCESS, {
code: marquee.code
});
}
async sendMarquee(msg: { code: string }, session: BackendSession) {
const { code } = msg;
let systimerServers = this.app.getServersByType('systimer');
for (let { id } of systimerServers) {
let result = await this.app.rpc.systimer.systimerRemote.setMarquee.toServer(id, code);
if (!result) return resResult(STATUS.GM_MARQUEE_ERR);
}
return resResult(STATUS.SUCCESS);
}
async cancelMarquee(msg: { code: string }, session: BackendSession) {
const { code } = msg;
let systimerServers = this.app.getServersByType('systimer');
for (let { id } of systimerServers) {
let result = await this.app.rpc.systimer.systimerRemote.cancelMarquee.toServer(id, code);
if (!result) return resResult(STATUS.GM_MARQUEE_CANCEL_ERR);
}
return resResult(STATUS.SUCCESS);
}
async updateActivity(msg: { activityId: number|string, groupId: number, beginTime: number, endTime: number, type: number, data: string }, session: BackendSession) {
const { activityId, groupId, beginTime, endTime, type, data } = msg;
const uid = session.get('uid');
@@ -12,6 +12,7 @@ import { SendMailFun } from '../../../services/mailService';
import { createNewServer, sendOpenServerMail } from '../../../services/gmService';
import { initAutoCreateServer, initMaintenance, stopMaintenance } from '../../../services/timeTaskService';
import { isNumber } from 'util';
import { MarqueeModel } from '../../../db/Marquee';
let timer: NodeJS.Timer;
export default function (app: Application) {
return new GmHandler(app);
@@ -101,4 +102,23 @@ export class GmHandler {
return resResult(STATUS.SUCCESS,);
}
async sendMarquee(msg: { code: string }, session: BackendSession) {
const { code } = msg;
let marquee = await MarqueeModel.findByCode(code);
if(!marquee) return resResult(STATUS.DB_DATA_NOT_FOUND);
await MarqueeModel.updateData(code, { isEnable: true });
let result = await this.app.rpc.systimer.systimerRemote.setMarquee.broadcast(marquee);
if (!result) return resResult(STATUS.GM_MARQUEE_ERR);
return resResult(STATUS.SUCCESS);
}
async cancelMarquee(msg: { code: string }, session: BackendSession) {
const { code } = msg;
await MarqueeModel.updateData(code, { isEnable: false });
let result = await this.app.rpc.systimer.systimerRemote.cancelMarquee.broadcast(code);
if (!result) return resResult(STATUS.GM_MARQUEE_CANCEL_ERR);
return resResult(STATUS.SUCCESS);
}
}
@@ -7,6 +7,7 @@ import { setMarquee, cancelMarquee } from '../../../services/gmService';
import { setDicAuctionTime, setDicGuildActivity } from '../../../services/guildActivityService';
import { setWeek } from '../../../pubUtils/timeUtil';
import { ServerlistType } from '../../../db/Serverlist';
import { MarqueeType } from '../../../db/Marquee';
export default function (app: Application) {
return new SystimerRemote(app);
@@ -51,8 +52,8 @@ export class SystimerRemote {
* @description 设置跑马灯配置
* @param code 跑马灯唯一code
*/
public async setMarquee(code: string) {
return await setMarquee(code);
public async setMarquee(marquee: MarqueeType) {
return await setMarquee(marquee);
}
public async cancelMarquee(code: string) {