后台:订单列表
This commit is contained in:
@@ -72,6 +72,13 @@ export default class GameController extends Controller {
|
||||
return
|
||||
}
|
||||
|
||||
public async getOrderlist() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.game.getOrderlist(page, pageSize, sortField, sortOrder, form);
|
||||
return
|
||||
}
|
||||
|
||||
public async getNoticeList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
@@ -52,6 +52,7 @@ export default (app: Application) => {
|
||||
router.post('/api/game/deletewhitelist', tokenParser, controller.game.deleteWhiteList);
|
||||
router.post('/api/game/stopserverregister', tokenParser, controller.game.stopServerRegister);
|
||||
router.post('/api/game/swicthserverstatus', tokenParser, controller.game.switchServerStatus);
|
||||
router.post('/api/game/getorderlist', tokenParser, controller.game.getOrderlist);
|
||||
|
||||
router.post('/api/dic/getdicgoods', tokenParser, controller.game.getDicGoods);
|
||||
router.post('/api/dic/getdichero', tokenParser, controller.game.getDicHero);
|
||||
|
||||
@@ -15,9 +15,10 @@ import { ActivityGroupModel } from '@db/ActivityGroup';
|
||||
import { nowSeconds } from '@pubUtils/timeUtil';
|
||||
import { WhiteListModel } from '@db/RegionWhiteList';
|
||||
import { RoleModel } from '@db/Role';
|
||||
import { SearchMarqueeParam } from '@domain/backEndField/search';
|
||||
import { SearchMarqueeParam, SearchOrderParam } from '@domain/backEndField/search';
|
||||
import { DicServerName } from '@pubUtils/dictionary/DicServerName';
|
||||
import { CreateRegionParam } from '@domain/backEndField/params';
|
||||
import { UserOrderModel } from '@db/UserOrder';
|
||||
|
||||
/**
|
||||
* Test Service
|
||||
@@ -179,6 +180,17 @@ export default class Game extends Service {
|
||||
})
|
||||
}
|
||||
|
||||
public async getOrderlist(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchOrderParam) {
|
||||
const { ctx } = this;
|
||||
const list = await UserOrderModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await UserOrderModel.countByCondition( form )
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list: list.map(cur => {
|
||||
return { ...cur, createdAt: cur.createdAt.getTime(), updatedAt: cur.updatedAt.getTime(), env: this.app.config.realEnv }
|
||||
}), total
|
||||
});
|
||||
}
|
||||
|
||||
public async getNoticeList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { content?: string }) {
|
||||
const { ctx } = this;
|
||||
const list = await NoticeModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
|
||||
@@ -45,7 +45,7 @@ export default class GMRecord extends BaseModel {
|
||||
if (form.apiModule) searchObj['apiModule'] = form.apiModule;
|
||||
if (form.api) searchObj['api'] = form.api;
|
||||
if (form.createTimeStart && form.createTimeEnd) {
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 100) };
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 1000) };
|
||||
}
|
||||
return searchObj
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ export default class GiftCode extends BaseModel {
|
||||
if(form.id) searchObj['id'] = form.id;
|
||||
if (form.name != undefined) searchObj['name'] = { $regex: new RegExp(form.name.toString(), 'i') };
|
||||
if (form.createTimeStart && form.createTimeEnd) {
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 100) };
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 1000) };
|
||||
}
|
||||
return searchObj
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ export default class UserLog extends BaseModel {
|
||||
if (form.roleId) searchObj['roleId'] = form.roleId;
|
||||
if(form.roleName) searchObj['roleName'] = { $regex: new RegExp(form.roleName.toString(), 'i') };
|
||||
if (form.createTimeStart && form.createTimeEnd) {
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 100) };
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 1000) };
|
||||
}
|
||||
return searchObj
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { ORDER_STATE } from '../consts';
|
||||
import { SearchOrderParam } from '@domain/backEndField/search';
|
||||
|
||||
/**
|
||||
* 玩家充值订单
|
||||
@@ -111,6 +112,44 @@ export default class UserOrder extends BaseModel {
|
||||
{ upsert: true, new: true }).lean(true);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static getSearchObj(form: SearchOrderParam) {
|
||||
let searchObj = {};
|
||||
if(form.roleId != undefined) searchObj['roleId'] = form.roleId;
|
||||
if(form.localOrderID != undefined) searchObj['localOrderID'] = form.localOrderID;
|
||||
if(form.orderID != undefined) searchObj['orderID'] = form.orderID;
|
||||
if(form.productID != undefined) searchObj['productID'] = form.productID;
|
||||
if(form.payType != undefined) searchObj['payType'] = form.payType;
|
||||
if(form.state != undefined) searchObj['state'] = form.state;
|
||||
if (form.createTimeStart && form.createTimeEnd) {
|
||||
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 1000) };
|
||||
}
|
||||
console.log('###', searchObj)
|
||||
return searchObj
|
||||
}
|
||||
|
||||
public static async findByCondition(page: number, pageSize: number, sortField: string = 'updatedAt', sortOrder: string = 'descend', form: SearchOrderParam = {}) {
|
||||
|
||||
let searchObj = this.getSearchObj(form);
|
||||
let sort = {};
|
||||
if(sortField && sortOrder) {
|
||||
if(sortOrder == 'ascend') {
|
||||
sort[sortField] = 1;
|
||||
} else if (sortOrder == 'descend') {
|
||||
sort[sortField] = -1;
|
||||
}
|
||||
}
|
||||
const result: UserOrderModelType[] = await UserOrderModel.find(searchObj).limit(pageSize).skip((page - 1) * pageSize).sort(sort).select('+sort +showStartTime +showEndTime +isEnable').lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public static async countByCondition(form: SearchOrderParam = {}) {
|
||||
|
||||
let searchObj = this.getSearchObj(form);
|
||||
const result = await UserOrderModel.count(searchObj);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const UserOrderModel = getModelForClass(UserOrder);
|
||||
|
||||
@@ -91,4 +91,15 @@ export interface SearchUserLogParam {
|
||||
roleName?: string;
|
||||
createTimeStart?: number;
|
||||
createTimeEnd?: number;
|
||||
}
|
||||
|
||||
export interface SearchOrderParam {
|
||||
roleId?: string; // 角色id
|
||||
localOrderID?: string; // 本地订单号
|
||||
orderID?: string; // 第3方订单号
|
||||
productID?: string; // 商品
|
||||
payType?: number; // 支付类型
|
||||
state?: number; // 订单状态
|
||||
createTimeStart?: number;
|
||||
createTimeEnd?: number;
|
||||
}
|
||||
@@ -789,5 +789,12 @@
|
||||
"name": "虚拟充值",
|
||||
"module": "order",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 114,
|
||||
"api": "/api/game/getorderlist",
|
||||
"name": "获取订单列表",
|
||||
"module": "order",
|
||||
"type": "get"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user