'use strict'; const Schema = require('mongoose').Schema; const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin'); // 被通知详情表 const notifiedInfo = new Schema({ notifiedid: { type: String, required: false, maxLength: 200 }, // 被通知人id,user表uid username: { type: String, required: false, maxLength: 200 }, // 通知姓名 status: { type: String, required: false, maxLength: 200, default: '0' }, // 状态,0-未读,1-已读 readtime: { type: String, required: false, maxLength: 200 }, // 读取时间 content: { type: String, required: false }, // 如果属于自己的信息,就放这里,上面放信息标题 }); // 通知表 const NoticeSchema = { planyearid: { type: String, required: true, maxLength: 200 }, // 年度计划id planid: { type: String, required: true, maxLength: 200 }, // 计划id termid: { type: String, required: false, maxLength: 200 }, // 期id classid: { type: String, required: false, maxLength: 200 }, // 班级id noticeid: { type: String, required: true, maxLength: 200 }, // 通知人id content: { type: String, required: true }, // 通知内容 type: { type: String, required: false, maxLength: 200, default: '0' }, // 状态,0-培训自定义通知;1-日历通知;2-班主任计划通知;3-学校计划通知;4-课表通知;5-分寝通知;6-预安排课表通知 notified: { type: [ notifiedInfo ], select: true }, // 被通知信息 }; const schema = new Schema(NoticeSchema, { toJSON: { virtuals: true } }); schema.index({ id: 1 }); schema.plugin(metaPlugin); module.exports = app => { const { mongoose } = app; return mongoose.model('Notice', schema, 'notice'); };