后台:订单列表

This commit is contained in:
luying
2022-02-11 15:31:48 +08:00
parent 8c24ad4ac2
commit 579c2ad28c
9 changed files with 81 additions and 4 deletions

View File

@@ -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);