合成藏宝图,消耗品单独开表

This commit is contained in:
luying
2020-11-25 20:31:42 +08:00
parent 3f3c716dc6
commit 169ba8cea7
17 changed files with 282 additions and 215 deletions

View File

@@ -22,9 +22,9 @@ import { PvpDefenseModel } from '@db/PvpDefense';
import { Service } from 'egg';
import Counter from '@db/Counter';
import { STATUS } from '@consts/statusCode';
import { getGoodById } from '@pubUtils/gamedata';
import { ITID, COUNTER } from '@consts/consts';
import Actor from '@pubUtils/actor';
import { ItemModel } from '@db/Item';
/**
* Test Service
@@ -160,7 +160,7 @@ export default class GMUsers extends Service {
for(let role of roles) {
let heroCount = await HeroModel.count({roleId: role.roleId}).lean();
let equipCount = await EquipModel.count({roleId: role.roleId}).lean();
let itemCount = (role.consumeGoods?role.consumeGoods.length: 0) + (role.souls?role.souls.length:0);
let itemCount = await ItemModel.count({roleId: role.roleId}).lean();
let defense = await PvpDefenseModel.findByRoleId(role.roleId);
let {roleId, roleName, serverId, lv, vLv, gold, coin} = role;
@@ -276,16 +276,28 @@ export default class GMUsers extends Service {
let itemid = parseInt(_itemid);
let itemcount = parseInt(_itemcount);
if(isNaN(itemid) || isNaN(itemcount)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let dicGoods = getGoodById(itemid);
let dicGoods = ctx.service.utils.getGoodById(itemid);
let itidObj = ITID.get(dicGoods.itid);
let flag = 0;
for(let roleId of uids) {
await RoleModel.addItems(roleId, itidObj?itidObj.field||'':'', itemid, itemcount);
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) {
let dicItem = ctx.service.utils.getGoodById(itemid);
await ItemModel.increaseItem(roleId, itemid, itemcount, {roleId, roleName:role.roleName, id: itemid, itemName: dicItem.name, type: itidObj.type||0});
} else {
flag = 1, msg = '未找到角色' + roleId;
}
}
}
if (flag) {
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR);
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, msg);
} else {
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
}