后台:设置玩家创建天数
This commit is contained in:
@@ -84,10 +84,10 @@ export class ActivityRemote {
|
||||
this.app.set('activities', this.activities);
|
||||
}
|
||||
|
||||
public async updateActivities(activities: ActivityModelType[]) {
|
||||
public async updateActivities(activities: ActivityInRemote[]) {
|
||||
let activityIds: number[] = [];
|
||||
for(let activity of activities) {
|
||||
this.activities.set(activity.activityId, new ActivityInRemote(activity));
|
||||
this.activities.set(activity.activityId, activity);
|
||||
activityIds.push(activity.activityId);
|
||||
}
|
||||
this.setActivityTypeAndServer();
|
||||
|
||||
@@ -22,6 +22,7 @@ import { getTimeFunM, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import moment = require('moment');
|
||||
import { sendUngotDividend } from '../../../services/auctionService';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { ActivityInRemote } from '../../../domain/activityField/activityField';
|
||||
let timer: NodeJS.Timer;
|
||||
export default function (app: Application) {
|
||||
return new GmHandler(app);
|
||||
@@ -180,7 +181,7 @@ export class GmHandler {
|
||||
|
||||
let activityServers = pinus.app.getServersByType('activity');
|
||||
for(let server of activityServers) {
|
||||
pinus.app.rpc.activity.activityRemote.updateActivities.toServer(server.id, activities);
|
||||
pinus.app.rpc.activity.activityRemote.updateActivities.toServer(server.id, activities.map(activity => new ActivityInRemote(activity)));
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { STATUS } from '../../../consts/statusCode';
|
||||
import { getRoleOnlineInfo, updateUserInfo } from '../../../services/redisService';
|
||||
import { addItems, createHeroes } from '../../../services/rewardService';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { getExpByLv } from '../../../pubUtils/data';
|
||||
import { getExpByLv, getLvByExp } from '../../../pubUtils/data';
|
||||
import { RoleModel, RoleType } from '../../../db/Role';
|
||||
import { BLOCK_TYPE, GUILD_AUTH, GUILD_DISMISS_WAY, GUILD_JOB, GUILD_MASTER_CHANGE_WAY, GUILD_STATUS, GUILD_STRUCTURE, ITEM_CHANGE_REASON, MAIL_TYPE, REDIS_KEY, TA_EVENT } from '../../../consts';
|
||||
import { GuildFormParam } from '../../../domain/backEndField/params';
|
||||
@@ -27,10 +27,10 @@ export class GmRoleHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
async addItems(msg: { roleId: string, roleName: string, serverId: number, values: { reward: RewardInter[], heroes: number[], lv: number }}, session: BackendSession) {
|
||||
async addItems(msg: { roleId: string, roleName: string, serverId: number, values: { reward: RewardInter[], heroes: number[], lv: number, expInc: number }}, session: BackendSession) {
|
||||
let { roleId, roleName, serverId, values } = msg;
|
||||
|
||||
let { reward, heroes, lv } = values;
|
||||
let { reward, heroes, lv, expInc = 0 } = values;
|
||||
if (reward == undefined && heroes == undefined && lv == undefined) {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
@@ -45,12 +45,14 @@ export class GmRoleHandler {
|
||||
}
|
||||
if(lv && lv > 0) {
|
||||
let exp = getExpByLv(lv - 1)?.sum||0;
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { lv, exp })
|
||||
exp += expInc;
|
||||
let newLv = getLvByExp(exp);
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { lv: newLv, exp })
|
||||
let r = new Rank(REDIS_KEY.USER_LV, { serverId: serverId });
|
||||
await r.setRankWithRoleInfo(roleId, lv, Date.now(), role);
|
||||
await r.setRankWithRoleInfo(roleId, newLv, Date.now(), role);
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerExpChange', resResult(STATUS.SUCCESS, {
|
||||
isLvUp: false, lv, exp
|
||||
isLvUp: false, lv: newLv, exp
|
||||
}), uids);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
|
||||
@@ -44,6 +44,12 @@ export default class UserController extends Controller {
|
||||
ctx.body = await ctx.service.users.setWarRecord(roleId, warId);
|
||||
}
|
||||
|
||||
public async setCreateTime() {
|
||||
const { ctx } = this;
|
||||
const { roleId, day } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setCreateTime(roleId, day);
|
||||
}
|
||||
|
||||
public async getHeroList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
@@ -27,6 +27,7 @@ export default (app: Application) => {
|
||||
router.post('/api/users/getrolelist', tokenParser,controller.users.getrolelist);
|
||||
router.post('/api/users/deleterole', tokenParser,controller.users.deleteRole);
|
||||
router.post('/api/users/setwar', tokenParser, controller.users.setWar);
|
||||
router.post('/api/users/setcreatetime', controller.users.setCreateTime);
|
||||
router.post('/api/users/getherolist', tokenParser,controller.users.getHeroList);
|
||||
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||
|
||||
@@ -28,6 +28,7 @@ import { RedisClient } from 'redis';
|
||||
import { UserGuildModel } from '@db/UserGuild';
|
||||
import { TowerRecordModel } from '@db/TowerRecord';
|
||||
import { HangUpRecordModel } from '@db/HangUpRecord';
|
||||
import { nowSeconds } from '@pubUtils/timeUtil';
|
||||
|
||||
// import { resResult } from '@pubUtils/util';
|
||||
|
||||
@@ -693,6 +694,18 @@ export default class GMUsers extends Service {
|
||||
await HangUpRecordModel.updateRec(roleId, role.roleName, towerLv, new Date(), []);
|
||||
}
|
||||
|
||||
public async setCreateTime(roleId: string, day: number) {
|
||||
const { ctx } = this;
|
||||
if(!isNumber(day) || day < 0) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let createTime = nowSeconds() - (day - 1) * 86400;
|
||||
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { createTime });
|
||||
if(!role) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
private async setWarStarAndScript(roleId: string, dicWar: DicWar) {
|
||||
let { warStar } = await RoleModel.findByRoleId(roleId);
|
||||
let deleteIds: number[] = [], myMaxWarId = 0;
|
||||
|
||||
@@ -15,7 +15,6 @@ import { reduceCe, resResult } from "./util";
|
||||
import { calculatetopLineup, } from "./playerCe";
|
||||
import { GuildModel, GuildType } from "../db/Guild";
|
||||
import { PvpDefenseModel } from "../db/PvpDefense";
|
||||
import { ActivityModelType } from "../db/Activity";
|
||||
import { EquipModel } from '../db/Equip';
|
||||
import { ActionPointModel } from '../db/ActionPoint';
|
||||
import { BattleDropModel } from '../db/BattleDrop';
|
||||
|
||||
Reference in New Issue
Block a user