玩家信息:改名花费
This commit is contained in:
@@ -23,6 +23,7 @@ import { SkinModel, SkinUpdate } from '../../../db/Skin';
|
||||
import { CreateHeroes, deletRole } from '../../../pubUtils/roleUtil';
|
||||
import { Figure } from '../../../domain/dbGeneral';
|
||||
import { getActivities } from '../../../services/activity/activityService';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -465,16 +466,25 @@ export class RoleHandler {
|
||||
let { roleName } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
let sid = session.get('sid');
|
||||
if(!roleName) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let checkName = await RoleModel.checkName(roleName, serverId);
|
||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
||||
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { roleName });
|
||||
let role = await RoleModel.findByRoleId(roleId, 'renameCnt');
|
||||
let costGold = role.renameCnt >= dicParam.NAMEPLATE.NAMEPLATE_FREECOST? dicParam.NAMEPLATE.NAMEPLATE_FEECOST: 0;
|
||||
if(costGold > 0) {
|
||||
let result = await handleCost(roleId, sid, [getGoldObject(costGold)]);
|
||||
if(!result) return resResult(STATUS.BATTLE_GOLD_NOT_ENOUGH);
|
||||
}
|
||||
|
||||
role = await RoleModel.incRoleInfo(roleId, { renameCnt: 1 }, { roleName });
|
||||
session.set('roleName', role.roleName);
|
||||
session.push('roleName', () => { });
|
||||
await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'roleName', value: roleName }]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { roleName: role.roleName });
|
||||
return resResult(STATUS.SUCCESS, { roleName: role.roleName, renameCnt: role.renameCnt });
|
||||
}
|
||||
|
||||
async saveGuide(msg: { ids: number[] }, session: BackendSession) {
|
||||
|
||||
@@ -49,4 +49,4 @@ export enum FRIEND_SHIP_SELECT {
|
||||
GET_FRIEND_VALUE = 'friendValue friendLv'
|
||||
}
|
||||
|
||||
export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit'];
|
||||
export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit', 'renameCnt'];
|
||||
@@ -320,6 +320,10 @@ export default class Role extends BaseModel {
|
||||
@prop({ required: true, default: [], type: Number })
|
||||
guide: number[]; // 已领取奖励
|
||||
|
||||
|
||||
@prop({ required: true })
|
||||
renameCnt: number; // 改名次数
|
||||
|
||||
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
|
||||
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt').lean({ getters, virtuals });
|
||||
return role;
|
||||
@@ -733,7 +737,7 @@ export const RoleModel = getModelForClass(Role);
|
||||
|
||||
export interface RoleType extends Pick<DocumentType<Role>, keyof Role> { };
|
||||
export type RoleUpdate = Partial<RoleType>; // 将所有字段变成可选项
|
||||
export type RoleInc = Partial<Pick<DocumentType<Role>, 'heroNum' | 'blockCnt' | 'friendCnt' | 'gold' | 'coin' | 'ce'>>;
|
||||
export type RoleInc = Partial<Pick<DocumentType<Role>, 'heroNum' | 'blockCnt' | 'friendCnt' | 'gold' | 'coin' | 'ce' | 'renameCnt'>>;
|
||||
|
||||
// 初始化
|
||||
function getInitialTeraph() {
|
||||
|
||||
Reference in New Issue
Block a user