declare.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. const moment = require('moment');
  4. const metaPlugin = require('naf-framework-mongoose-free/lib/model/meta-plugin');
  5. const { ObjectId } = require('mongoose').Types;
  6. // 高企申报表
  7. const declare = {
  8. company: { type: String }, // 申请单位
  9. apply_person: { type: String }, // 申请人
  10. phone: { type: String }, // 联系电话
  11. material: { type: Array }, // 审核资料
  12. medium_id: { type: ObjectId }, // 中介机构id
  13. medium_material: { type: Array }, // 中介机构审核资料
  14. contract: { type: Array }, // 合同
  15. is_cashing: { type: String, default: '0' }, // 是否兑付
  16. status: { type: String, default: '0' }, // 0-待审;1-通过;2-拒绝
  17. // 0-初审;
  18. // 1-初审通过(企业,中介上传合同);-1-初审失败;
  19. // 2-高企申报成功;-2:高企申报失败
  20. record: { type: Array },
  21. remark: { type: String },
  22. user_id: { type: ObjectId }, // 用户id
  23. };
  24. const schema = new Schema(declare, { toJSON: { virtuals: true } });
  25. schema.index({ id: 1 });
  26. schema.index({ company: 1 });
  27. schema.index({ apply_person: 1 });
  28. schema.index({ medium_id: 1 });
  29. schema.index({ is_cashing: 1 });
  30. schema.index({ status: 1 });
  31. schema.index({ user_id: 1 });
  32. schema.index({ 'meta.createdAt': 1 });
  33. schema.plugin(metaPlugin);
  34. module.exports = app => {
  35. const { mongoose } = app;
  36. return mongoose.model('Declare', schema, 'declare');
  37. };