schedule.js 1.5 KB

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