cart.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. 'use strict';
  2. import mongoose from 'mongoose'
  3. const Schema = mongoose.Schema;
  4. const cartSchema = Schema({
  5. id: Number,
  6. cart: {
  7. id: Number,
  8. groups: [
  9. [
  10. {
  11. attrs: [],
  12. extra: [],
  13. id: Number,
  14. new_specs: [],
  15. name: String,
  16. price: Number,
  17. quantity: Number,
  18. specs: [String],
  19. packing_fee: Number,
  20. sku_id: Number,
  21. stock: Number,
  22. }
  23. ]
  24. ],
  25. extra: [{
  26. description: String,
  27. name: {type: String, default: '餐盒'},
  28. price: {type: Number, default: 0},
  29. quantity: {type: Number, default: 0},
  30. type: {type: Number, default: 0},
  31. }],
  32. deliver_amount: Number,
  33. deliver_time: String,
  34. discount_amount: String,
  35. dist_info: String,
  36. is_address_too_far: {type: Boolean, default: false},
  37. is_deliver_by_fengniao: Boolean,
  38. is_online_paid: {type: Number, default: 1},
  39. is_ontime_available: {type: Number, default: 0},
  40. must_new_user: {type: Number, default: 0},
  41. must_pay_online: {type: Number, default: 0},
  42. ontime_status: {type: Number, default: 0},
  43. ontime_unavailable_reason: String,
  44. original_total: Number,
  45. phone: String,
  46. promise_delivery_time: {type: Number, default: 0},
  47. restaurant_id: Number,
  48. restaurant_info: Schema.Types.Mixed,
  49. restaurant_minimum_order_amount: Number,
  50. restaurant_name_for_url: String,
  51. restaurant_status: {type: Number, default: 1},
  52. service_fee_explanation: {type: Number, default: 0},
  53. total: Number,
  54. user_id: Number,
  55. },
  56. delivery_reach_time: String,
  57. invoice: {
  58. is_available: {type: Boolean, default: false},
  59. status_text: String,
  60. },
  61. sig: String,
  62. current_address: {},
  63. payments: [{
  64. description: String,
  65. disabled_reason: String,
  66. id: Number,
  67. is_online_payment: {type: Boolean, default: true},
  68. name: String,
  69. promotion:[],
  70. select_state: Number,
  71. }],
  72. deliver_times: [],
  73. deliver_times_v2: [],
  74. merchant_coupon_info: {},
  75. number_of_meals: {},
  76. discount_rule: {},
  77. hongbao_info: {},
  78. is_support_coupon: {type: Boolean, default: false},
  79. is_support_ninja: {type: Number, default: 1},
  80. })
  81. cartSchema.index({id: 1});
  82. const Cart = mongoose.model('Cart', cartSchema);
  83. export default Cart