皮肤:武将、时装表修改

This commit is contained in:
luying
2021-10-19 14:26:17 +08:00
parent b6a904b091
commit da5a43abba
13 changed files with 3205 additions and 2754 deletions
+11
View File
@@ -23,6 +23,13 @@ export class CeAttrData {
this.id = id;
}
public copyFromHero(data: CeAttrData) {
this.base = data.base;
this.ratioUp = data.ratioUp;
this.fixUp = data.fixUp;
this.equipUp = data.equipUp;
}
public updateAttr(update: { inc?: CeAttrUpdate, set?: CeAttrUpdate }) {
if(update.inc) {
let { base, equipUp, fixUp, ratioUp } = update.inc;
@@ -55,6 +62,8 @@ export class Connect {
export class HeroSkin {
@prop({ required: true })
id: number;
@prop({ required: true })
skinId: number; // fashions表的heroId字段
@prop({ ref: 'Skin', type: mongoose.Schema.Types.ObjectId })
skin: Ref<Skin>;
@prop({ required: true })
@@ -145,6 +154,8 @@ export default class Hero extends BaseModel {
job: number; // 职业
@prop({ required: true, default: 0 })
jobStage: number; // 职阶
@prop({ required: true, default: 0 })
skinId: number; // 当前皮肤idfashions表的heroId字段
@prop({ required: true, default: 0 })
favour: number; // 好感度
+7 -5
View File
@@ -10,19 +10,21 @@ export default class Skin extends BaseModel {
roleName: string; // 角色名称
@prop({ required: true, default: '' })
id: number; // 皮肤id
id: number; // 皮肤idfashions表的goodId字段
@prop({ required: true, default: '' })
skinId: number; // fashions表的heroId字段
@prop({ required: true, default: '', select: false})
skinName: string; // 皮肤名称
@prop({ required: true, default: 0 })
hid: number;
hid: number; // 原始武将id
public static async findbyRole(roleId: string) {
const rec: SkinType[] = await SkinModel.find({ roleId }, {_id: 0}).select('id skinName hid').lean();
const rec: SkinType[] = await SkinModel.find({ roleId }, {_id: 0}).select('id skinId skinName hid').lean();
return rec;
}
public static async findbyRoleAndHid(roleId: string, hid: number) {
const rec: SkinType[] = await SkinModel.find({ roleId, hid }).select('id').lean();
const rec: SkinType[] = await SkinModel.find({ roleId, hid }).select('id skinId').lean();
return rec;
}
@@ -35,7 +37,7 @@ export default class Skin extends BaseModel {
return items;
}
public static async increaseSkin(roleId: string, id: number, info: { roleId: string, roleName: string, id: number, skinName: string, hid: number }, lean = true) {
public static async increaseSkin(roleId: string, id: number, info: { roleId: string, roleName: string, id: number, skinName: string, hid: number, skinId: number }, lean = true) {
const doc = new SkinModel();
const setOnInsert = Object.assign(doc.toJSON(), info);
const items: SkinType = await SkinModel.findOneAndUpdate({ roleId, id }, { $setOnInsert: setOnInsert }, { new: true, upsert: true }).lean(lean);