物品:获取装备上限
This commit is contained in:
@@ -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 }
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user