添加保存R剧本接口
This commit is contained in:
@@ -93,6 +93,8 @@ export const WAR_TYPE = {
|
||||
export const EVENT_RANDOM_TYPE_ONE_OPEN = false;
|
||||
// 奇遇事件每次刷新几个
|
||||
export const EVENT_REFRESH_NUM = 3;
|
||||
// 奇遇事件开启等级
|
||||
export const EVENT_START_LV = 1;
|
||||
|
||||
// 存于用户Role表,事件开启状态
|
||||
export const EVENT_STATUS = {
|
||||
|
||||
@@ -19,6 +19,7 @@ export const STATUS = {
|
||||
BATTLE_NEED_PREVIOUS_GK: { code: 20003, simStr: '需要完成上一关才可以挑战' },
|
||||
BATTLE_ID_NOT_MATCH: { code: 20004, simStr: '战斗数据错误' },
|
||||
BATTLE_STATUS_WRONG: { code: 20005, simStr: '关卡状态错误' },
|
||||
BATTLE_HERO_NOT_FOUND: { code: 20006, simStr: '使用的武将不存在' },
|
||||
|
||||
// 主线 20100 - 20199
|
||||
BATTLE_INFO_VALIDATE_ERR: { code: 20101, simStr: '关卡信息不同' },
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||
|
||||
|
||||
@index({ roleId: 1, battleId: 1 })
|
||||
|
||||
export default class RScriptRecord extends BaseModel {
|
||||
@prop({ required: true, default: '' })
|
||||
roleId: string; // 角色 id
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
battleId: number; // 关卡 id
|
||||
@prop({ required: true, default: 0 })
|
||||
warType: number; // 关卡 id
|
||||
|
||||
@prop({ required: true, default: '' })
|
||||
scriptBefore: string; // 战场前剧本
|
||||
|
||||
@prop({ required: true, default: '' })
|
||||
scriptAfter: string; // 战场后剧本
|
||||
|
||||
|
||||
public static async setScript(roleId: string, battleId: number, warType: number, type: number, script: string, lean = true) {
|
||||
let update = { warType };
|
||||
if(type == 1) {
|
||||
update['scriptBefore'] = script;
|
||||
} else if (type == 2) {
|
||||
update['scriptAfter'] = script;
|
||||
}
|
||||
|
||||
const items = await RScriptRecordModel.findOneAndUpdate({ roleId, battleId }, update, {upsert: true, new: true}).lean(lean);
|
||||
return items;
|
||||
}
|
||||
|
||||
public static async findbyRoleAndBattle(roleId: string, battleId: number, lean = true) {
|
||||
const items = await RScriptRecordModel.findOne({ roleId, battleId }).select('battleId scriptBefore scriptAfter').sort({battleId: 1}).lean(lean);
|
||||
return items;
|
||||
}
|
||||
|
||||
public static async findbyRole(roleId: string, warType: number, lean = true) {
|
||||
const items = await RScriptRecordModel.find({ roleId, warType }).select('battleId scriptBefore scriptAfter').lean(lean);
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
export const RScriptRecordModel = getModelForClass(RScriptRecord);
|
||||
+15
-1
@@ -86,6 +86,7 @@ export default class Role extends BaseModel {
|
||||
@prop({ required: true, default: [] })
|
||||
warStar: [{ // 关卡星级
|
||||
id: number; // 关卡 id
|
||||
warType: number; // 关卡类型
|
||||
star: number; // 星级
|
||||
}];
|
||||
|
||||
@@ -197,7 +198,6 @@ export default class Role extends BaseModel {
|
||||
let update = {};
|
||||
update[`${field}.$.cnt`] = cnt;
|
||||
|
||||
console.log(JSON.stringify(condition), update)
|
||||
let result = await RoleModel.findOneAndUpdate(condition, { $inc: update }, { "new": true, "upsert": true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
@@ -211,6 +211,20 @@ export default class Role extends BaseModel {
|
||||
let result = await RoleModel.findOneAndUpdate({roleId}, { $inc: { gold: cnt, giftGold: cnt } }, { "new": true, "upsert": true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async pushWarStar(roleId: string, battleId: number, warType: number, star: number, lean = true) {
|
||||
let result = await RoleModel.findOneAndUpdate({roleId}, { $addToSet: { warStar: {id: battleId, warType, star }} }, { "new": true, "upsert": true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateWarStar(roleId: string, battleId: number, star: number, lean = true) {
|
||||
let result = await RoleModel.findOneAndUpdate(
|
||||
{roleId, 'warStar.id': battleId},
|
||||
{ $set: { 'warStar.$.star': star } },
|
||||
{ "new": true, "upsert": true}
|
||||
).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const RoleModel = getModelForClass(Role);
|
||||
|
||||
Reference in New Issue
Block a user