后台:订单列表
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user