feat(db): 给GiftCodeDetail添加只读库

This commit is contained in:
liangtongchuan
2023-05-06 18:52:14 +08:00
parent 6b7a205bf6
commit 8e7337eabd
6 changed files with 29 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
import { index, getModelForClass, prop, DocumentType, modelOptions, mongoose, ReturnModelType } from '@typegoose/typegoose';
import { GIFT_GENERATE_TYPE } from '../consts';
import { GiftCodeModel, GiftCodeType } from './GiftCode';
import { nowSeconds } from '../pubUtils/timeUtil';
@@ -55,17 +55,17 @@ export default class GiftCodeDetail extends BaseModel {
// 根据code
public static async findByCode(code: string) {
let result: GiftCodeDetailType = await GiftCodeDetailModel.findOne({ code }).lean(true);
let result: GiftCodeDetailType = await GiftCodeDetailROModel.findOne({ code }).lean(true);
return result;
}
public static async checkHasUsed(roleId: string, id: number) {
let result = await GiftCodeDetailModel.exists({ giftId: id, 'record.roleId': roleId });
let result = await GiftCodeDetailROModel.exists({ giftId: id, 'record.roleId': roleId });
return result;
}
public static async checkOrderHasUsed(id: number, orderId: string) {
let result = await GiftCodeDetailModel.exists({ giftId: id, 'record.orderId': orderId });
let result = await GiftCodeDetailROModel.exists({ giftId: id, 'record.orderId': orderId });
return result;
}
@@ -120,7 +120,7 @@ export default class GiftCodeDetail extends BaseModel {
sort[sortField] = -1;
}
}
const result: GiftCodeDetailType[] = await GiftCodeDetailModel.find(searchObj, { _id: 0 }).limit(pageSize).skip((page - 1) * pageSize).sort(sort).lean({ getters: true, virtuals: true });
const result: GiftCodeDetailType[] = await GiftCodeDetailROModel.find(searchObj, { _id: 0 }).limit(pageSize).skip((page - 1) * pageSize).sort(sort).lean({ getters: true, virtuals: true });
return result;
}
@@ -128,7 +128,7 @@ export default class GiftCodeDetail extends BaseModel {
public static async countByCondition(form: SearchGiftCodeDetailParam = {}) {
let searchObj = this.getSearchObj(form);
const result = await GiftCodeDetailModel.count(searchObj);
const result = await GiftCodeDetailROModel.count(searchObj);
return result;
}
@@ -136,5 +136,12 @@ export default class GiftCodeDetail extends BaseModel {
export const GiftCodeDetailModel = getModelForClass(GiftCodeDetail);
export let GiftCodeDetailROModel: ReturnModelType<typeof GiftCodeDetail, {}>;
export function loadGiftCodeDetailROModel(connect: mongoose.Connection) {
GiftCodeDetailROModel = getModelForClass(GiftCodeDetail, {
existingConnection: connect
});
}
export interface GiftCodeDetailType extends Pick<DocumentType<GiftCodeDetail>, keyof GiftCodeDetail> { }
export type GiftCodeDetailParam = Partial<GiftCodeDetailType>;

View File

@@ -20,6 +20,7 @@ import { loadItemROModel } from "./Item";
import { loadUserGachaRecROModel } from "./UserGachaRec";
import { loadUserGachaROModel } from "./UserGacha";
import { loadGiftCodeROModel } from "./GiftCode";
import { loadGiftCodeDetailROModel } from "./GiftCodeDetail";
export function loadGmDb(connect: mongoose.Connection) {
// console.log('************')
@@ -51,4 +52,5 @@ export function loadRODb(connect: mongoose.Connection) {
loadUserGachaRecROModel(connect);
loadUserGachaROModel(connect);
loadGiftCodeROModel(connect);
loadGiftCodeDetailROModel(connect);
}