后台:道具获取

This commit is contained in:
luying
2021-11-26 14:54:51 +08:00
parent e7566b8af5
commit 4d6b87ce97
18 changed files with 149 additions and 148 deletions

View File

@@ -15,11 +15,11 @@ export default class UserController extends Controller {
ctx.body = await ctx.service.users.createRole(uid, serverId, roleName);
}
public async addAuth() {
const { ctx } = this;
const { uid, auth } = ctx.request.body;
ctx.body = await ctx.service.users.addAuth(uid, auth);
}
// public async addAuth() {
// const { ctx } = this;
// const { uid, auth } = ctx.request.body;
// ctx.body = await ctx.service.users.addAuth(uid, auth);
// }
public async fixSms() {
const { ctx } = this;
@@ -35,8 +35,8 @@ export default class UserController extends Controller {
public async getrolelist() {
const { ctx } = this;
const { field, value } = ctx.request.body;
ctx.body = await ctx.service.users.getrolelist(field, value);
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
ctx.body = await ctx.service.users.getrolelist(page, pageSize, sortField, sortOrder, form);
}
public async createRoleData() {

View File

@@ -28,8 +28,8 @@ export default (app: Application) => {
// router.post('/api/users/createrole',tokenParser, controller.users.createRole);
// router.post('/api/users/addauth', tokenParser, controller.users.addAuth);
router.post('/api/users/fixsms', tokenParser, controller.users.fixSms);
router.post('/api/users/deleterole',tokenParser, controller.users.deleteRole);
router.post('/api/users/getrolelist',tokenParser, controller.users.getrolelist);
router.post('/api/users/deleterole',tokenParser, controller.users.deleteRole);
router.post('/api/users/createroledata',tokenParser, controller.users.createRoleData);
router.post('/api/users/getpvpdefense',tokenParser, controller.users.getPveDefense);
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);

View File

@@ -69,18 +69,18 @@ export default class GMUsers extends Service {
}
}
public async addAuth(uid: number, auth: number) {
console.log('enter Auth addAuth');
const ctx = this.ctx;
// public async addAuth(uid: number, auth: number) {
// console.log('enter Auth addAuth');
// const ctx = this.ctx;
const user = await UserModel.addAuth(uid, auth);
if (user) {
return ctx.service.utils.resResult(STATUS.SUCCESS);
} else {
console.error('add auth error');
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
}
}
// const user = await UserModel.addAuth(uid, auth);
// if (user) {
// return ctx.service.utils.resResult(STATUS.SUCCESS);
// } else {
// console.error('add auth error');
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
// }
// }
public checkTelNo(telNo: string) {
if (!isString(telNo)) {
@@ -121,60 +121,27 @@ export default class GMUsers extends Service {
/**
* 根据类型等搜索玩家
*/
public async getrolelist(field: string = 'all', value: string = '') {
public async getrolelist(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchUserParam) {
const { ctx } = this;
let arr = new Array(), flag = 0;
let valueArr = value.split(',');
if (value == '') field = 'all';
for (let i of valueArr) {
if (field == 'uid') {
let d = parseInt(i);
if (isNaN(d)) {
flag = 1; break;
} else {
arr.push(d);
}
field = 'userInfo.uid';
} else if (field == 'roleName') {
arr.push(i);
} else if (field == 'tel') {
arr.push(i);
field = 'userInfo.tel';
} else if (field == 'all') {
break;
} else {
flag = 1; break;
}
const roles = await RoleModel.findByCondition(page, pageSize, sortField, sortOrder, form);
const total = await RoleModel.countByCondition( form )
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 } = role;
let { uid, tel } = role.userInfo;
list.push({
key: roleId, roleId, roleName, serverId, lv, vLv, uid, tel, heroCount, equipCount, itemCount, gold, coin, ce,
env: ctx.app.config.realEnv
});
}
if (flag) {
return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
}
let roles = await RoleModel.findRoleByField(field, valueArr);
if (roles) {
let result = new Array();
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 defense = await PvpDefenseModel.findByRoleId(role.roleId);
let { roleId, roleName, serverId, lv, vLv, gold, coin } = role;
let { uid, tel } = role.userInfo;
result.push({
key: roleId, roleId, roleName, serverId, lv, vLv, uid, tel, heroCount, equipCount, itemCount, gold, coin,
hasDefense: defense ? '是' : '否', defCe: 0
});
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: result });
} 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 createHero(uids: Array<string>, _hid: string, _hlv: string) {