物品:获取装备上限

This commit is contained in:
luying
2021-08-02 20:47:39 +08:00
parent abb74b9e6b
commit 2e961691b5
14 changed files with 315 additions and 222 deletions

View File

@@ -1,7 +1,5 @@
import { Service } from 'egg';
import { addBags, addEquips } from '@pubUtils/itemUtils';
import * as pubUtils from '@pubUtils/util';
import { BagInter, EquipInter } from '@pubUtils/interface';
const csprng = require('csprng');
/**
@@ -25,14 +23,6 @@ export default class Utils extends Service {
return pubUtils.resResult(status, data, customMsg);
}
public addBags(roleId: string, roleName: string, data: BagInter) {
return addBags(roleId, roleName, data);
}
public addEquips(roleId: string, roleName: string, weapon: EquipInter) {
return addEquips(roleId, roleName, weapon);
}
public checkActivityData(data: any, type: number) {
return { data, type }
}

View File

@@ -32,7 +32,7 @@ import { isString } from 'underscore';
import { FriendShipModel } from '@db/FriendShip';
import { FriendApplyModel } from '@db/FriendApply';
import { FriendRelationModel } from '@db/FriendRelation';
import { createHero as pubCreateHero, addSkin } from '@pubUtils/itemUtils';
import { createHero as pubCreateHero, addSkin, addEquips, addBags } from '@pubUtils/itemUtils';
import { GiftCodeModel } from '@db/GiftCode';
import { GiftCodeDetailModel } from '@db/GiftCodeDetail';
// import { resResult } from '@pubUtils/util';
@@ -293,6 +293,7 @@ export default class GMUsers extends Service {
for (let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if (role) {
let weapons: { id: number, hid?: number }[] = [];
for (let eid of eids) {
for (let i = 0; i < ecount; i++) {
@@ -301,9 +302,10 @@ export default class GMUsers extends Service {
flag = 1, msg = "未找到装备" + eid;
break;
}
await ctx.service.utils.addEquips(roleId, role.roleName, { id: eid, ...dicEquip, hid: ehid });
weapons.push({ id: eid, hid: ehid });
}
}
await addEquips(roleId, role.roleName, weapons);
} else {
flag = 1, msg = '未找到角色' + roleId;
}
@@ -327,6 +329,7 @@ export default class GMUsers extends Service {
if (isNaN(itemcount)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let flag = 0, msg = '创建失败';
let datas: {id: number, count: number }[] = []
for (let itemid of itemids) {
let dicGoods = gameData.goods.get(itemid);
let itidObj = ITID.get(dicGoods.itid);
@@ -336,13 +339,16 @@ export default class GMUsers extends Service {
} else if (!itidObj) {
flag = 1, msg = "未找到道具" + itemid;
} else {
for (let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if (role) {
await ctx.service.utils.addBags(roleId, role.roleName, { id: itemid, itemName: dicGoods.name, count: itemcount, type: itidObj.type, hid: 0 });
} else {
flag = 1, msg = '未找到角色' + roleId;
}
datas.push({ id: itemid, count: itemcount });
}
}
if(flag == 0) {
for (let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if (role) {
await addBags(roleId, role.roleName, datas);
} else {
flag = 1, msg = '未找到角色' + roleId;
}
}
}
@@ -530,7 +536,7 @@ export default class GMUsers extends Service {
public async deleteEquip(roleIdAndSeqIds: string[]) {
console.log('enter Auth deleteEquip');
const ctx = this.ctx;
let seqIds = new Array<number>();
let seqIds = new Map<string, number[]>();
for (let roleIdAndSeqId of roleIdAndSeqIds) {
let [roleId, seqIdStr] = roleIdAndSeqId.split('|');
if (isNaN(parseInt(seqIdStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
@@ -546,9 +552,14 @@ export default class GMUsers extends Service {
hero.ePlace[index].equip = null;
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, roleId, hero, {}, args);
}
seqIds.push(seqId);
if(!seqIds.has(roleId)) {
seqIds.set(roleId, []);
}
seqIds.get(roleId).push(seqId);
}
for(let [roleId, ids] of seqIds) {
await EquipModel.deleteEquips(roleId, ids);
}
await EquipModel.deleteEquips(seqIds);
return ctx.service.utils.resResult(STATUS.SUCCESS);
}