后台添加武将批量添加

This commit is contained in:
luying
2020-11-11 13:42:38 +08:00
parent 894f1dc9d5
commit b792f22f94
+32 -24
View File
@@ -179,37 +179,42 @@ export default class GMUsers extends Service {
public async createHero(uids: Array<string>, _hid: string, _hlv: string) { public async createHero(uids: Array<string>, _hid: string, _hlv: string) {
const {ctx} = this; const {ctx} = this;
console.log('gm createHero', uids, _hid, _hlv); console.log('gm createHero', uids, _hid, _hlv);
let hid = parseInt(_hid);
let hlv = parseInt(_hlv); let hlv = parseInt(_hlv);
if(isNaN(hid) || isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS); if( isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
let hids = (_hid as string).split('&').map(cur => parseInt(cur));
for(let hid of hids) {
if(isNaN(hid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
let flag = 0, msg = '创建失败'; let flag = 0, msg = '创建失败',heroInfos = new Array();
for(let roleId of uids) { for(let roleId of uids) {
let role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
if(role) { if(role) {
let hero = await HeroModel.findByHidAndRole(hid, roleId); for(let hid of hids) {
if(hero) { let hero = await HeroModel.findByHidAndRole(hid, roleId);
flag = 1, msg = "角色" + roleId + "已拥有武将" + hid; if(hero) {
break; flag = 1, msg = "角色" + roleId + "已拥有武将" + hid;
} break;
const seqId = await CounterModel.getNewCounter('hid')||-1; }
let dicHero = ctx.service.utils.getHeroById(hid); const seqId = await CounterModel.getNewCounter('hid')||-1;
if(!dicHero) { let dicHero = ctx.service.utils.getHeroById(hid);
flag = 1, msg = "未找到武将" + hid; if(!dicHero) {
break; flag = 1, msg = "未找到武将" + hid;
} break;
let ce = ctx.service.utils.calculateCE({hid: hid, lv: hlv}); }
let ce = ctx.service.utils.calculateCE({hid: hid, lv: hlv});
const heroInfo = { const heroInfo = {
roleId, roleId,
roleName: role.roleName, roleName: role.roleName,
hid: hid, hid: hid,
hName: dicHero.name, hName: dicHero.name,
seqId, seqId,
lv: hlv, lv: hlv,
ce ce
}
heroInfos.push(heroInfo);
} }
await HeroModel.createHero(heroInfo);
} else { } else {
flag = 1, msg = '未找到角色' + roleId; flag = 1, msg = '未找到角色' + roleId;
} }
@@ -218,6 +223,9 @@ export default class GMUsers extends Service {
if (flag) { if (flag) {
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, msg); return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, msg);
} else { } else {
for(let heroInfo of heroInfos) {
await HeroModel.createHero(heroInfo);
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids }); return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
} }
} }