后台:设置玩家创建天数
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);
|
||||
|
||||
Reference in New Issue
Block a user