schedule.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
  4. // 定时任务表
  5. const schedule = {
  6. table: {
  7. type: String,
  8. required: true,
  9. maxLength: 200,
  10. field: { label: '表', filter: 'select', required: true },
  11. },
  12. column: {
  13. type: String,
  14. required: true,
  15. maxLength: 200,
  16. field: { label: '监控内容', filter: true, required: true },
  17. },
  18. number: {
  19. type: String,
  20. maxLength: 200,
  21. field: { label: '时间数', filter: true, required: true },
  22. },
  23. unit: {
  24. type: String,
  25. maxLength: 200,
  26. field: { label: '时间单位', filter: true, required: true },
  27. },
  28. user_ids: {
  29. type: Array,
  30. required: true,
  31. field: { label: '要发送的用户id' },
  32. },
  33. status: {
  34. type: String,
  35. maxLength: 200,
  36. default: '0',
  37. field: {
  38. label: '状态',
  39. filter: 'select',
  40. type: 'select',
  41. format: (i => (i === '0' ? '使用' : '禁用')).toString(),
  42. list: [
  43. { label: '使用', value: '0' },
  44. { label: '禁用', value: '1' },
  45. ],
  46. },
  47. }, // 状态:0=>使用;1禁用
  48. };
  49. const schema = new Schema(schedule, { toJSON: { virtuals: true } });
  50. schema.index({ id: 1 });
  51. schema.plugin(metaPlugin);
  52. module.exports = app => {
  53. const { mongoose } = app;
  54. return mongoose.model('Schedule', schema, 'schedule');
  55. };