user.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * 用户数据结构
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/28
  6. * @version
  7. */
  8. let mongoose = require("mongoose");
  9. let Schema = mongoose.Schema;
  10. // 表名
  11. let collectionName = 'user';
  12. const invalidSchema = new Schema({
  13. invalid: Boolean,
  14. invalidDate: String,
  15. invalidBy: String //管理者名
  16. });
  17. const versionSchema = new Schema({
  18. compilationId: String,
  19. activateCode: String,
  20. activatedDate: String,
  21. activatedBy: String,
  22. invalidInfo: [invalidSchema]
  23. });
  24. let upgrade = mongoose.Schema({
  25. compilationID:String,//编办ID
  26. upgrade_time:Number,
  27. isUpgrade:Boolean,
  28. remark:String//描述:广东办刘飞 2018-06-17 启用/关闭
  29. }, { _id: false })
  30. // 表结构
  31. let schema = {
  32. ssoId: Number,
  33. username: String,
  34. email: String,
  35. mobile: String,
  36. real_name: {
  37. type: String,
  38. default: ''
  39. },
  40. company: {
  41. type: String,
  42. default: ''
  43. },
  44. province: {
  45. type: Number,
  46. default: -1
  47. },
  48. version: {
  49. type: [versionSchema],
  50. default: []
  51. },
  52. company_type: {
  53. type: Number,
  54. default: -1,
  55. },
  56. company_scale: {
  57. type: Number,
  58. default: -1
  59. },
  60. // 最后登录时间
  61. latest_login: {
  62. type: Number,
  63. default: 0
  64. },
  65. //最近使用编办
  66. latest_used:String,
  67. create_time: Number,
  68. upgrade_list:[upgrade],
  69. user_type:{
  70. type:String,
  71. default:'normal'// normal : 普通用户,test:测试用户
  72. }
  73. };
  74. mongoose.model(collectionName, new Schema(schema, {versionKey: false}));