玩家信息:改名花费
This commit is contained in:
@@ -23,6 +23,7 @@ import { SkinModel, SkinUpdate } from '../../../db/Skin';
|
|||||||
import { CreateHeroes, deletRole } from '../../../pubUtils/roleUtil';
|
import { CreateHeroes, deletRole } from '../../../pubUtils/roleUtil';
|
||||||
import { Figure } from '../../../domain/dbGeneral';
|
import { Figure } from '../../../domain/dbGeneral';
|
||||||
import { getActivities } from '../../../services/activity/activityService';
|
import { getActivities } from '../../../services/activity/activityService';
|
||||||
|
import * as dicParam from '../../../pubUtils/dicParam';
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
new HandlerService(app, {});
|
new HandlerService(app, {});
|
||||||
@@ -465,16 +466,25 @@ export class RoleHandler {
|
|||||||
let { roleName } = msg;
|
let { roleName } = msg;
|
||||||
let roleId = session.get('roleId');
|
let roleId = session.get('roleId');
|
||||||
let serverId = session.get('serverId');
|
let serverId = session.get('serverId');
|
||||||
|
let sid = session.get('sid');
|
||||||
|
if(!roleName) return resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
let checkName = await RoleModel.checkName(roleName, serverId);
|
let checkName = await RoleModel.checkName(roleName, serverId);
|
||||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
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.set('roleName', role.roleName);
|
||||||
session.push('roleName', () => { });
|
session.push('roleName', () => { });
|
||||||
await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'roleName', value: 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) {
|
async saveGuide(msg: { ids: number[] }, session: BackendSession) {
|
||||||
|
|||||||
@@ -49,4 +49,4 @@ export enum FRIEND_SHIP_SELECT {
|
|||||||
GET_FRIEND_VALUE = 'friendValue friendLv'
|
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'];
|
||||||
+5
-1
@@ -320,6 +320,10 @@ export default class Role extends BaseModel {
|
|||||||
@prop({ required: true, default: [], type: Number })
|
@prop({ required: true, default: [], type: Number })
|
||||||
guide: number[]; // 已领取奖励
|
guide: number[]; // 已领取奖励
|
||||||
|
|
||||||
|
|
||||||
|
@prop({ required: true })
|
||||||
|
renameCnt: number; // 改名次数
|
||||||
|
|
||||||
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
|
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 });
|
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;
|
return role;
|
||||||
@@ -733,7 +737,7 @@ export const RoleModel = getModelForClass(Role);
|
|||||||
|
|
||||||
export interface RoleType extends Pick<DocumentType<Role>, keyof Role> { };
|
export interface RoleType extends Pick<DocumentType<Role>, keyof Role> { };
|
||||||
export type RoleUpdate = Partial<RoleType>; // 将所有字段变成可选项
|
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() {
|
function getInitialTeraph() {
|
||||||
|
|||||||
Reference in New Issue
Block a user