后台添加多件装备和道具功能

This commit is contained in:
luying
2020-12-25 17:36:03 +08:00
parent 3bbbbee0e7
commit 4d89d157af
2 changed files with 47 additions and 24 deletions

View File

@@ -39,6 +39,8 @@ export default class UserController extends Controller {
ctx.body = await ctx.service.users.createItem(uids, itemid, itemcount);
} else if (optType == 'gold') {
ctx.body = await ctx.service.users.addGold(uids, count);
} else if (optType == 'coin') {
ctx.body = await ctx.service.users.addCoin(uids, count);
} else if (optType == 'lv') {
ctx.body = await ctx.service.users.levelUp(uids, lv);
} else if (optType == 'skin') {

View File

@@ -227,23 +227,27 @@ export default class GMUsers extends Service {
public async createEquip(uids: Array<string>, _eid: string, _ecount: string, _ehid: string) {
const {ctx} = this;
console.log('gm createEquip', uids, _eid, _ecount, _ehid);
let eid = parseInt(_eid);
let eids = (_eid as string).split('&').map(cur => parseInt(cur));
let ecount = parseInt(_ecount);
let ehid = parseInt(_ehid);
if(isNaN(eid) || isNaN(ecount) || isNaN(ehid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
if( isNaN(ecount) || isNaN(ehid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
for(let eid of eids) {
if(isNaN(eid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
let flag = 0, msg = '创建失败';
for(let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId);
if(role) {
for(let i = 0; i <ecount; i++) {
for(let eid of eids) {
for(let i = 0; i <ecount; i++) {
let dicEquip = gameData.goods.get(eid);
if(!dicEquip) {
flag = 1, msg = "未找到装备" + eid;
break;
let dicEquip = gameData.goods.get(eid);
if(!dicEquip) {
flag = 1, msg = "未找到装备" + eid;
break;
}
await ctx.service.utils.addEquips(roleId, role.roleName, {id: eid, ...dicEquip, hid: ehid});
}
await ctx.service.utils.addEquips(roleId, role.roleName, {id: eid, ...dicEquip, hid: ehid});
}
} else {
flag = 1, msg = '未找到角色' + roleId;
@@ -260,24 +264,30 @@ export default class GMUsers extends Service {
public async createItem(uids: Array<string>, _itemid: string, _itemcount: string) {
const {ctx} = this;
console.log('gm createItem', uids, _itemid, _itemcount);
let itemid = parseInt(_itemid);
let itemids = (_itemid as string).split('&').map(cur => parseInt(cur));
for(let itemid of itemids) {
if(isNaN(itemid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
let itemcount = parseInt(_itemcount);
if(isNaN(itemid) || isNaN(itemcount)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let dicGoods = gameData.goods.get(itemid);
let itidObj = ITID.get(dicGoods.itid);
if( isNaN(itemcount)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let flag = 0, msg = '创建失败';
if(!dicGoods) {
flag = 1, msg = "未找到道具" + itemid;
} 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;
for(let itemid of itemids) {
let dicGoods = gameData.goods.get(itemid);
let itidObj = ITID.get(dicGoods.itid);
if(!dicGoods) {
flag = 1, msg = "未找到道具" + itemid;
} 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;
}
}
}
}
@@ -301,6 +311,17 @@ export default class GMUsers extends Service {
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
}
public async addCoin(uids: Array<string>, _count: string) {
const {ctx} = this;
console.log('gm addCoin', uids, _count);
let count = parseInt(_count);
if(isNaN(count)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
for(let roleId of uids) {
await RoleModel.addCoin(roleId, count);
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
}
public async addSkins(uids: Array<string>, _id: string) {
const {ctx} = this;
console.log('gm addSkin', uids, _id);