✨ feat(兼容): 配表使用后台隐藏物品
This commit is contained in:
@@ -1,17 +1,19 @@
|
||||
import { Application, BackendSession, pinus } from 'pinus';
|
||||
import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import moment = require('moment');
|
||||
import { CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
|
||||
import { UpdateHiddenDataParam, CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
|
||||
import { RegionModel, RegionType } from '../../../db/Region';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { Maintenance, ServerlistModel, ServerlistUpdate } from '../../../db/Serverlist';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { createNewServer, sendOpenServerMail } from '../../../services/gmService';
|
||||
import { calHiddenData, createNewServer, getFutureTime, getPastTime } from '../../../services/gmService';
|
||||
import { isNumber } from 'util';
|
||||
import { MarqueeModel } from '../../../db/Marquee';
|
||||
import { setApiIsCloseToRemote } from '../../../services/chatService';
|
||||
import { PVPConfigModel } from '../../../db/PvpConfig';
|
||||
import { initHiddenDataSchedule } from '../../../services/timeTaskService';
|
||||
import { HiddenDataByIdModel, HiddenDataByIdModelTypeParam } from '../../../db/HiddenDataById';
|
||||
import { isDevelopEnv } from '../../../services/utilService';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new GmHandler(app);
|
||||
@@ -198,4 +200,49 @@ export class GmHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async initHiddenData(msg: {pubArr: number[], hideArr: number[], type: number}, session: BackendSession) {
|
||||
let { pubArr = [], hideArr = [], type } = msg;
|
||||
let uid = session.get('uid');
|
||||
let datas = await HiddenDataByIdModel.findExistData(type);
|
||||
let existIds = datas.map(cur => cur.id);
|
||||
let insertParam: HiddenDataByIdModelTypeParam[] = [];
|
||||
for(let id of pubArr) {
|
||||
if(existIds.indexOf(id) == -1) {
|
||||
insertParam.push({ type, id, publishTime: getPastTime(), createdBy: uid, updatedBy: uid });
|
||||
}
|
||||
}
|
||||
for(let id of hideArr) {
|
||||
if(existIds.indexOf(id) == -1) {
|
||||
insertParam.push({ type, id, publishTime: getFutureTime(), createdBy: uid, updatedBy: uid });
|
||||
}
|
||||
}
|
||||
await HiddenDataByIdModel.createDatas(insertParam);
|
||||
await calHiddenData(uid);
|
||||
await initHiddenDataSchedule(false);
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async saveHiddenData(msg: UpdateHiddenDataParam, session: BackendSession) {
|
||||
let params = new UpdateHiddenDataParam(msg);
|
||||
if(!params.checkParams()) return resResult(STATUS.WRONG_PARMS);
|
||||
let uid = session.get('uid');
|
||||
let heroes: number[] = [], goods: number[] = [];
|
||||
for(let {type, id} of params.arr) {
|
||||
if(type == 1) heroes.push(id);
|
||||
if(type == 2) goods.push(id);
|
||||
}
|
||||
if(!isDevelopEnv()) {
|
||||
if(!await HiddenDataByIdModel.checkById(1, heroes, params.publishTime) || !await HiddenDataByIdModel.checkById(2, goods, params.publishTime)) {
|
||||
return resResult(STATUS.GM_OLD_REF_TIME_ERR);
|
||||
}
|
||||
}
|
||||
for(let {type, id} of params.arr) {
|
||||
await HiddenDataByIdModel.updateData(type, id, params.publishTime, uid);
|
||||
}
|
||||
await calHiddenData(uid);
|
||||
await initHiddenDataSchedule(false);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user