后台:武将、装备列表
This commit is contained in:
@@ -72,14 +72,14 @@ export default class UserController extends Controller {
|
||||
|
||||
public async getHeroList() {
|
||||
const { ctx } = this;
|
||||
const { field, value } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getHeroList(field, value);
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getHeroList(page, pageSize, sortField, sortOrder, form);
|
||||
}
|
||||
|
||||
public async deleteHero() {
|
||||
const { ctx } = this;
|
||||
const { selectedRowKeys: roleIdAndHids } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.deleteHero(roleIdAndHids);
|
||||
const { roleId, hid } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.deleteHero(roleId, parseInt(hid));
|
||||
}
|
||||
|
||||
public async setHeroLv() {
|
||||
@@ -114,8 +114,8 @@ export default class UserController extends Controller {
|
||||
|
||||
public async getEquipList() {
|
||||
const { ctx } = this;
|
||||
const { field, value } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getEquipList(field, value);
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getEquipList(page, pageSize, sortField, sortOrder, form);
|
||||
}
|
||||
|
||||
public async getItemList() {
|
||||
|
||||
@@ -34,9 +34,9 @@ export default (app: Application) => {
|
||||
router.post('/api/users/getpvpdefense',tokenParser, controller.users.getPveDefense);
|
||||
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);
|
||||
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
||||
router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
||||
router.post('/api/users/setheroparam', controller.users.setHeroParam);
|
||||
router.post('/api/users/setherojob', controller.users.setHeroJob);
|
||||
// router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
||||
// router.post('/api/users/setheroparam', controller.users.setHeroParam);
|
||||
// router.post('/api/users/setherojob', controller.users.setHeroJob);
|
||||
// router.post('/api/users/saveherotodefense',tokenParser, controller.users.saveHeroToDefense);
|
||||
// router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||
|
||||
@@ -21,7 +21,7 @@ import { CreateHeroes, deletRole } from '@pubUtils/roleUtil';
|
||||
import { RScriptRecordModel } from '@db/RScriptRecord';
|
||||
import { DicWar } from '@pubUtils/dictionary/DicWar';
|
||||
import { SkinModel } from '@db/Skin';
|
||||
import { SearchUserParam } from '@domain/backEndField/search';
|
||||
import { SearchEquipParam, SearchHeroParam, SearchUserParam } from '@domain/backEndField/search';
|
||||
|
||||
// import { resResult } from '@pubUtils/util';
|
||||
|
||||
@@ -390,51 +390,42 @@ export default class GMUsers extends Service {
|
||||
/**
|
||||
* 根据类型等搜索玩家
|
||||
*/
|
||||
public async getHeroList(field: string, value: (string | number)) {
|
||||
public async getHeroList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchHeroParam) {
|
||||
const { ctx } = this;
|
||||
|
||||
let heroes = await HeroModel.findByField(field, value);
|
||||
const heroes = await HeroModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await HeroModel.countByCondition( form )
|
||||
|
||||
if (heroes) {
|
||||
let roleMap = new Map<string, CeAttrDataRole[]>();
|
||||
for(let { roleId } of heroes) {
|
||||
if(!roleMap.has(roleId)) {
|
||||
let role = await RoleModel.findByRoleId(roleId, 'attr');
|
||||
roleMap.set(roleId, role.attr);
|
||||
}
|
||||
let roleMap = new Map<string, CeAttrDataRole[]>();
|
||||
for(let { roleId } of heroes) {
|
||||
if(!roleMap.has(roleId)) {
|
||||
let role = await RoleModel.findByRoleId(roleId, 'attr');
|
||||
roleMap.set(roleId, role.attr);
|
||||
}
|
||||
let list = heroes.map(cur => {
|
||||
let cal = new AttributeCal();
|
||||
cal.setByDbData(roleMap.get(cur.roleId), cur.attr);
|
||||
return {...cur, calculatedAttr: cal.getReduceAttributesToArr()}
|
||||
})
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list });
|
||||
} else {
|
||||
console.error('role list not found');
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
}
|
||||
let list = heroes.map(cur => {
|
||||
let cal = new AttributeCal();
|
||||
cal.setByDbData(roleMap.get(cur.roleId), cur.attr);
|
||||
return {...cur, calculatedAttr: cal.getReduceAttributesToArr(), env: ctx.app.config.realEnv}
|
||||
})
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })
|
||||
}
|
||||
|
||||
|
||||
public async deleteHero(roleIdAndHids: string[]) {
|
||||
public async deleteHero(roleId: string, hid: number) {
|
||||
console.log('enter Auth deleteRole');
|
||||
const ctx = this.ctx;
|
||||
for (let roleIdAndHid of roleIdAndHids) {
|
||||
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let hid = parseInt(hidStr);
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) continue;
|
||||
await HeroModel.deleteHero(roleId, hid);
|
||||
await SkinModel.deleteByHero(roleId, hid);
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
await calculatetopLineup(role, hid, 0, null);
|
||||
await PvpDefenseModel.deleteHero(roleId, hid);
|
||||
await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce });
|
||||
}
|
||||
await HeroModel.deleteHero(roleId, hid);
|
||||
await SkinModel.deleteByHero(roleId, hid);
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
await calculatetopLineup(role, hid, 0, null);
|
||||
await PvpDefenseModel.deleteHero(roleId, hid);
|
||||
await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce });
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
@@ -595,18 +586,24 @@ export default class GMUsers extends Service {
|
||||
/**
|
||||
* 根据类型等搜索装备
|
||||
*/
|
||||
public async getEquipList(field: string, value: (string | number)) {
|
||||
public async getEquipList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchEquipParam) {
|
||||
const { ctx } = this;
|
||||
|
||||
let equips = await EquipModel.findByField(field, value);
|
||||
const heroes = await EquipModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await EquipModel.countByCondition( form )
|
||||
|
||||
if (equips) {
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: equips });
|
||||
} else {
|
||||
console.error('role list not found');
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
let roleMap = new Map<string, CeAttrDataRole[]>();
|
||||
for(let { roleId } of heroes) {
|
||||
if(!roleMap.has(roleId)) {
|
||||
let role = await RoleModel.findByRoleId(roleId, 'attr');
|
||||
roleMap.set(roleId, role.attr);
|
||||
}
|
||||
}
|
||||
let list = heroes.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