后台:修改装备
This commit is contained in:
@@ -1,24 +1,22 @@
|
||||
import { UserModel } from '@db/User';
|
||||
import { CeAttrDataRole, RoleModel } from '@db/Role';
|
||||
import { HeroModel } from '@db/Hero';
|
||||
import { EquipModel } from '@db/Equip';
|
||||
|
||||
import { Service } from 'egg';
|
||||
import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, REDIS_KEY, WAR_TYPE } from '@consts';
|
||||
import { STATUS, ITEM_CHANGE_REASON, REDIS_KEY, WAR_TYPE } from '@consts';
|
||||
import { ITID } from '@consts';
|
||||
import { ItemModel } from '@db/Item';
|
||||
import { gameData, getExpByLv } from '@pubUtils/data';
|
||||
import { calPlayerCeAndSave, calEquipSeids } from '@pubUtils/playerCe';
|
||||
import { AttributeCal } from '@domain/roleField/attribute';
|
||||
import { smsModel } from '@db/Sms';
|
||||
import { isString } from 'underscore';
|
||||
import { addSkin, addEquips, addBags } from '@pubUtils/itemUtils';
|
||||
import { addSkin, addBags } from '@pubUtils/itemUtils';
|
||||
import { GiftCodeModel } from '@db/GiftCode';
|
||||
import { GiftCodeDetailModel } from '@db/GiftCodeDetail';
|
||||
import { CreateHeroes, deletRole } from '@pubUtils/roleUtil';
|
||||
import { RScriptRecordModel } from '@db/RScriptRecord';
|
||||
import { DicWar } from '@pubUtils/dictionary/DicWar';
|
||||
import { SearchEquipParam, SearchHeroParam, SearchUserParam, SearchGiftCodeParam, SearchGiftCodeDetailParam, SearchItemParam, SearchGuildParam } from '@domain/backEndField/search';
|
||||
import { SearchHeroParam, SearchUserParam, SearchGiftCodeParam, SearchGiftCodeDetailParam, SearchItemParam, SearchGuildParam } from '@domain/backEndField/search';
|
||||
import { CreateGiftCode, UpdateGiftCode } from '@domain/backEndField/params';
|
||||
import { isNumber } from 'util';
|
||||
import { GuildModel } from '@db/Guild';
|
||||
@@ -133,13 +131,12 @@ export default class GMUsers extends Service {
|
||||
let list = [];
|
||||
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 = await ItemModel.count({ roleId: role.roleId }).lean();
|
||||
|
||||
let { roleId, roleName, serverId, lv, vLv, gold, coin, ce, blockType = 0, blockReason = '' } = role;
|
||||
let { uid, tel } = role.userInfo;
|
||||
list.push({
|
||||
key: roleId, roleId, roleName, serverId, lv, vLv, uid, tel, heroCount, equipCount, itemCount, gold, coin, ce, blockType, blockReason,
|
||||
key: roleId, roleId, roleName, serverId, lv, vLv, uid, tel, heroCount, itemCount, gold, coin, ce, blockType, blockReason,
|
||||
env: ctx.app.config.realEnv
|
||||
});
|
||||
}
|
||||
@@ -177,44 +174,6 @@ export default class GMUsers extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
|
||||
}
|
||||
|
||||
public async createEquip(uids: Array<string>, _eid: string, _ecount: string, _ehid: string) {
|
||||
const { ctx } = this;
|
||||
console.log('gm createEquip', uids, _eid, _ecount, _ehid);
|
||||
let eids = (_eid as string).split('&').map(cur => parseInt(cur));
|
||||
let ecount = parseInt(_ecount);
|
||||
let ehid = parseInt(_ehid);
|
||||
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) {
|
||||
let weapons: { id: number, hid?: number }[] = [];
|
||||
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;
|
||||
}
|
||||
weapons.push({ id: eid, hid: ehid });
|
||||
}
|
||||
}
|
||||
await addEquips(roleId, role.roleName, weapons, ITEM_CHANGE_REASON.DEBUG);
|
||||
} else {
|
||||
flag = 1, msg = '未找到角色' + roleId;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, msg);
|
||||
} else {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
|
||||
}
|
||||
}
|
||||
|
||||
public async createItem(uids: Array<string>, _itemid: string, _itemcount: string) {
|
||||
const { ctx } = this;
|
||||
@@ -356,36 +315,6 @@ export default class GMUsers extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })
|
||||
}
|
||||
|
||||
public async deleteEquip(roleIdAndSeqIds: string[]) {
|
||||
console.log('enter Auth deleteEquip');
|
||||
const ctx = this.ctx;
|
||||
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);
|
||||
|
||||
let seqId = parseInt(seqIdStr);
|
||||
console.log(seqId);
|
||||
let equip = await EquipModel.findbySeqId(seqId);
|
||||
if (equip.hid > 0) {
|
||||
let hero = await HeroModel.findByHidAndRole(equip.hid, roleId);
|
||||
let index = hero.ePlace.findIndex(cur => cur.id == equip.ePlaceId);
|
||||
if (index < 0) continue;
|
||||
let args = calEquipSeids(hero);
|
||||
hero.ePlace[index].equip = null;
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, roleId, hero, {}, args);
|
||||
}
|
||||
if(!seqIds.has(roleId)) {
|
||||
seqIds.set(roleId, []);
|
||||
}
|
||||
seqIds.get(roleId).push(seqId);
|
||||
}
|
||||
for(let [roleId, ids] of seqIds) {
|
||||
await EquipModel.deleteEquips(roleId, ids);
|
||||
}
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async deleteItem(roleIdAndIds: string[]) {
|
||||
console.log('enter Auth deleteItem');
|
||||
@@ -509,23 +438,6 @@ export default class GMUsers extends Service {
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 根据类型等搜索装备
|
||||
*/
|
||||
public async getEquipList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchEquipParam) {
|
||||
const { ctx } = this;
|
||||
|
||||
const equips = await EquipModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await EquipModel.countByCondition( form )
|
||||
|
||||
let list = equips.map(cur => {
|
||||
return {...cur, env: ctx.app.config.realEnv}
|
||||
})
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据类型等搜索道具
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user