后台:抽卡记录

This commit is contained in:
luying
2022-09-19 09:51:37 +08:00
parent c830b2c2c3
commit 8e7eaed214
5 changed files with 47 additions and 0 deletions

View File

@@ -13,4 +13,10 @@ export default class LogController extends Controller {
const { pageSize, page, form } = ctx.request.body; const { pageSize, page, form } = ctx.request.body;
ctx.body = await ctx.service.log.getUserLog(page, pageSize, form); ctx.body = await ctx.service.log.getUserLog(page, pageSize, form);
} }
public async getGachaLog() {
const { ctx } = this;
const { pageSize, page, form } = ctx.request.body;
ctx.body = await ctx.service.log.getGachaLog(page, pageSize, form);
}
} }

View File

@@ -108,4 +108,5 @@ export default (app: Application) => {
router.post('/api/log/getgmlog', tokenParser, controller.log.getGmLog); router.post('/api/log/getgmlog', tokenParser, controller.log.getGmLog);
router.post('/api/log/getuserlog', tokenParser, controller.log.getUserLog); router.post('/api/log/getuserlog', tokenParser, controller.log.getUserLog);
router.post('/api/log/getgachalog', controller.log.getGachaLog);
}; };

View File

@@ -3,6 +3,7 @@ import { STATUS } from '@consts';
import { SearchLogParam, SearchUserLogParam } from '@domain/backEndField/search'; import { SearchLogParam, SearchUserLogParam } from '@domain/backEndField/search';
import { GMRecordModel } from '@db/GMRecord'; import { GMRecordModel } from '@db/GMRecord';
import { UserLogModel } from '@db/UserLog'; import { UserLogModel } from '@db/UserLog';
import { UserGachaRecModel } from '@db/UserGachaRec';
/** /**
* Test Service * Test Service
@@ -28,4 +29,14 @@ export default class Log extends Service {
let list = await UserLogModel.findByCondition(page, pageSize, form); let list = await UserLogModel.findByCondition(page, pageSize, form);
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: list.map(cur => ({...cur, env: ctx.app.config.realEnv})) }); return ctx.service.utils.resResult(STATUS.SUCCESS, { list: list.map(cur => ({...cur, env: ctx.app.config.realEnv})) });
} }
/**
* 获取抽卡日志
*/
public async getGachaLog(page: number, pageSize: number, form: SearchUserLogParam) {
const {ctx} = this;
let list = await UserGachaRecModel.findByCondition(page, pageSize, form);
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: list.map(cur => ({...cur, env: ctx.app.config.realEnv})) });
}
} }

View File

@@ -2,6 +2,7 @@ import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
import { GachaResultIndb } from '../domain/activityField/gachaField'; import { GachaResultIndb } from '../domain/activityField/gachaField';
import { genCode } from '../pubUtils/util'; import { genCode } from '../pubUtils/util';
import { SearchGachaLogParam } from '../domain/backEndField/search';
/** /**
* 玩家抽卡表 * 玩家抽卡表
@@ -34,6 +35,24 @@ export default class UserGachaRec extends BaseModel {
const rec = await UserGachaRecModel.findOneAndUpdate({ code }, { $set: { roleId, gachaId, activityId, count, result } }, { new: true, upsert: true }); const rec = await UserGachaRecModel.findOneAndUpdate({ code }, { $set: { roleId, gachaId, activityId, count, result } }, { new: true, upsert: true });
return rec; return rec;
} }
private static getSearchObj(form: SearchGachaLogParam) {
let searchObj = {};
if (form.roleId) searchObj['roleId'] = form.roleId;
if (form.gachaId) searchObj['gachaId'] = form.gachaId;
if (form.count) searchObj['count'] = form.count;
if (form.hid) searchObj['result.hid'] = form.hid;
if (form.createTimeStart && form.createTimeEnd) {
searchObj['createdAt'] = { $lte: new Date(form.createTimeEnd * 1000), $gte: new Date(form.createTimeStart * 1000) };
}
return searchObj
}
public static async findByCondition(page: number, pageSize: number, form: SearchGachaLogParam = {}) {
let searchObj = UserGachaRecModel.getSearchObj(form);
const result: UserGachaRecType[] = await UserGachaRecModel.find(searchObj).limit(pageSize).skip((page - 1) * pageSize).sort({ createdAt: -1 }).select('-_id').lean({ getters: true, virtuals: true });
return result;
}
} }
export const UserGachaRecModel = getModelForClass(UserGachaRec); export const UserGachaRecModel = getModelForClass(UserGachaRec);

View File

@@ -104,6 +104,16 @@ export interface SearchUserLogParam {
createTimeEnd?: number; createTimeEnd?: number;
} }
export interface SearchGachaLogParam {
roleId?: string;
gachaId?: number;
count?: number;
hid?: number;
createTimeStart?: number;
createTimeEnd?: number;
}
export interface SearchOrderParam { export interface SearchOrderParam {
roleId?: string; // 角色id roleId?: string; // 角色id
localOrderID?: string; // 本地订单号 localOrderID?: string; // 本地订单号