后台:军团管理
This commit is contained in:
@@ -120,8 +120,14 @@ export default class UserController extends Controller {
|
||||
|
||||
public async getItemList() {
|
||||
const { ctx } = this;
|
||||
const { field, value } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getItemList(field, value);
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getItemList(page, pageSize, sortField, sortOrder, form);
|
||||
}
|
||||
|
||||
public async getGuildList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getGuildList(page, pageSize, sortField, sortOrder, form);
|
||||
}
|
||||
|
||||
public async deleteEquip() {
|
||||
|
||||
@@ -41,6 +41,7 @@ export default (app: Application) => {
|
||||
// router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||
router.post('/api/users/getitemlist', tokenParser, controller.users.getItemList);
|
||||
router.post('/api/users/getguildlist', controller.users.getGuildList);
|
||||
router.post('/api/users/deleteequip', tokenParser, controller.users.deleteEquip);
|
||||
router.post('/api/users/deleteitem', tokenParser, controller.users.deleteItem);
|
||||
router.post('/api/users/setitemcount', tokenParser, controller.users.setItemCount);
|
||||
|
||||
@@ -6,7 +6,7 @@ import { PvpDefenseModel } from '@db/PvpDefense';
|
||||
|
||||
import { Service } from 'egg';
|
||||
import Counter from '@db/Counter';
|
||||
import { STATUS, HERO_SYSTEM_TYPE } from '@consts';
|
||||
import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, REDIS_KEY } from '@consts';
|
||||
import { ITID, COUNTER } from '@consts';
|
||||
import { ItemModel } from '@db/Item';
|
||||
import { gameData, getExpByLv } from '@pubUtils/data';
|
||||
@@ -21,9 +21,11 @@ import { CreateHeroes, deletRole } from '@pubUtils/roleUtil';
|
||||
import { RScriptRecordModel } from '@db/RScriptRecord';
|
||||
import { DicWar } from '@pubUtils/dictionary/DicWar';
|
||||
import { SkinModel } from '@db/Skin';
|
||||
import { SearchEquipParam, SearchHeroParam, SearchUserParam, SearchGiftCodeParam, SearchGiftCodeDetailParam } from '@domain/backEndField/search';
|
||||
import { SearchEquipParam, 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';
|
||||
import { RedisClient } from 'redis';
|
||||
|
||||
// import { resResult } from '@pubUtils/util';
|
||||
|
||||
@@ -200,7 +202,7 @@ export default class GMUsers extends Service {
|
||||
weapons.push({ id: eid, hid: ehid });
|
||||
}
|
||||
}
|
||||
await addEquips(roleId, role.roleName, weapons);
|
||||
await addEquips(roleId, role.roleName, weapons, ITEM_CHANGE_REASON.DEBUG);
|
||||
} else {
|
||||
flag = 1, msg = '未找到角色' + roleId;
|
||||
}
|
||||
@@ -241,7 +243,7 @@ export default class GMUsers extends Service {
|
||||
for (let roleId of uids) {
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
if (role) {
|
||||
await addBags(roleId, role.roleName, datas);
|
||||
await addBags(roleId, role.roleName, datas, ITEM_CHANGE_REASON.DEBUG);
|
||||
} else {
|
||||
flag = 1, msg = '未找到角色' + roleId;
|
||||
}
|
||||
@@ -591,17 +593,10 @@ export default class GMUsers extends Service {
|
||||
public async getEquipList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchEquipParam) {
|
||||
const { ctx } = this;
|
||||
|
||||
const heroes = await EquipModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const equips = await EquipModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await EquipModel.countByCondition( form )
|
||||
|
||||
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 list = equips.map(cur => {
|
||||
return {...cur, env: ctx.app.config.realEnv}
|
||||
})
|
||||
|
||||
@@ -612,20 +607,37 @@ export default class GMUsers extends Service {
|
||||
/**
|
||||
* 根据类型等搜索道具
|
||||
*/
|
||||
public async getItemList(field: string, value: (string | number)) {
|
||||
public async getItemList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchItemParam) {
|
||||
const { ctx } = this;
|
||||
|
||||
let items = await ItemModel.findByField(field, value);
|
||||
const items = await ItemModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await ItemModel.countByCondition( form )
|
||||
|
||||
if (items) {
|
||||
let list = items.map(cur => {
|
||||
return {...cur, env: ctx.app.config.realEnv}
|
||||
})
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: items });
|
||||
} else {
|
||||
console.error('role list not found');
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })
|
||||
}
|
||||
|
||||
public async getGuildList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchGuildParam) {
|
||||
const { ctx } = this;
|
||||
let redisClient: RedisClient = ctx.app.context.redisClient;
|
||||
|
||||
const guilds = await GuildModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await GuildModel.countByCondition( form )
|
||||
|
||||
let list = [];
|
||||
for(let guild of guilds) {
|
||||
let rank = await redisClient.zrevrankAsync(`${REDIS_KEY.GUILD_LV_RANK}:${guild.serverId}`, guild.code);
|
||||
|
||||
list.push({ ...guild, rank: rank == undefined? '未上榜': rank + 1, env: ctx.app.config.realEnv })
|
||||
}
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })
|
||||
}
|
||||
|
||||
|
||||
public async getGiftCodeList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchGiftCodeParam = {}) {
|
||||
const { ctx } = this;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user