问卷
This commit is contained in:
@@ -33,6 +33,9 @@ export default class Region extends BaseModel {
|
||||
@prop({ required: true })
|
||||
gmPort: number; // 长链接地址
|
||||
|
||||
@prop({ required: true })
|
||||
webHost: string; // 短链接
|
||||
|
||||
@prop({ required: true })
|
||||
latestServer: number; // 最新服
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
|
||||
import { SearchSurveyParam } from '../domain/backEndField/search';
|
||||
import { Reward } from '../domain/battleField/pvp';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
|
||||
@index({ id: 1 })
|
||||
@index({ seasonNum: 1 })
|
||||
@@ -17,6 +18,18 @@ export default class Survey extends BaseModel {
|
||||
@prop({ required: true })
|
||||
surveyName: string; // 问卷标题
|
||||
|
||||
@prop({ required: true })
|
||||
surveyLink: string; // 问卷地址
|
||||
|
||||
@prop({ required: true })
|
||||
beginTime: number; // 开始时间
|
||||
|
||||
@prop({ required: true })
|
||||
endTime: number; // 结束时间
|
||||
|
||||
@prop({ required: true })
|
||||
lv: number; // 限制等级
|
||||
|
||||
@prop({ required: true })
|
||||
roleIndex: number; // 玩家
|
||||
|
||||
@@ -26,14 +39,30 @@ export default class Survey extends BaseModel {
|
||||
@prop({ required: true })
|
||||
mailContent: string; // 邮件文字
|
||||
|
||||
@prop({ required: true })
|
||||
isEnable: boolean; // 是否显示
|
||||
|
||||
@prop({ required: true, type: String })
|
||||
receivedRole: string[]; // 是否显示
|
||||
|
||||
public static async findEnableSurvey(select = '') {
|
||||
let rec: SurveyType[] = await SurveyModel.find({ isEnable: true, endTime: { $gte: nowSeconds() } }).select(select).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async findBySurveyId(surveyId: string) {
|
||||
let rec: SurveyType = await SurveyModel.findOne({ surveyId }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async updateSurvey(code: string, param: SurveyUpdate) {
|
||||
public static async updateSurvey(code: string, param: SurveyUpdate, select = '') {
|
||||
if(code == 'new') code = genCode(6);
|
||||
let rec: SurveyType = await SurveyModel.findOneAndUpdate({ code }, { $set: {...param, code} }, {new: true, upsert: true}).lean();
|
||||
let rec: SurveyType = await SurveyModel.findOneAndUpdate({ code }, { $set: {...param, code} }, {new: true, upsert: true}).select(select).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async receive(code: string, roleId: string) {
|
||||
let rec: SurveyType = await SurveyModel.findOneAndUpdate({ code }, { $push: { receivedRole: roleId } }, { new: true }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user