12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 'use strict';
- const Schema = require('mongoose').Schema;
- const metaPlugin = require('naf-framework-mongoose-free/lib/model/meta-plugin');
- const cb_config = {
- back_type: { type: String, zh: '返现金额类型' }, // 固定金额/百分比
- money: { type: Number, zh: '具体返现金额设置' }, // 固定金额就是固定金额/ 百分比,需要与售价相乘转换为金额
- };
- // 商品信息
- const goods = {
- shop: { type: String, required: false, zh: '店铺', ref: 'Shop.Shop' }, //
- name: { type: String, required: false, zh: '商品名称' }, //
- shot_brief: { type: String, required: false, zh: '简短简介' }, // 长度在50以内
- send_time: { type: String, required: false, zh: '发货时间' }, //
- brief: { type: String, required: false, zh: '商品介绍' }, //
- file: { type: Array, required: false, zh: '商品图片' }, //
- tags: { type: Array, required: false, zh: '商品标签' }, //
- sell_num: { type: Number, required: false, default: 0, zh: '销售量' }, //
- view_num: { type: Number, required: false, default: 0, zh: '浏览量' }, //
- status: { type: String, required: false, default: '0', zh: '商品状态' }, // 字典:goods_status
- act_tags: { type: Array, required: false, zh: '活动标签' }, // 字典:act_tags
- sort: { type: Number, required: false, default: 0, zh: '排序' }, //
- source: { type: String, required: false, zh: '来源' }, //
- url: { type: String, required: false, zh: '网址' }, //
- is_cashBack: { type: String, required: false, zh: '是否返现' }, // 字典:use
- cb_config: { type: Object, required: false, zh: '返现设置' }, // 返现设置
- code: { type: String, required: false, zh: '商品编码' }, // 随机生成,8位
- };
- const schema = new Schema(goods, { toJSON: { getters: true, virtuals: true } });
- schema.index({ id: 1 });
- schema.index({ 'meta.createdAt': 1 });
- schema.index({ shop: 1 });
- schema.index({ name: 1 });
- schema.index({ status: 1 });
- schema.index({ view_num: 1 });
- schema.index({ act_tags: 1 });
- schema.index({ sort: 1 });
- schema.index({ is_cashBack: 1 });
- schema.index({ code: 1 });
- schema.index({ source: 1 });
- schema.plugin(metaPlugin);
- module.exports = app => {
- const { mongoose } = app;
- return mongoose.model('Goods', schema, 'goods');
- };
|