|
@@ -2,11 +2,41 @@
|
|
|
const Schema = require('mongoose').Schema;
|
|
|
const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
|
|
|
|
|
|
+// 产品
|
|
|
+const goods = new Schema({
|
|
|
+ totaltype: { type: String, required: true, maxLength: 5 }, // 产品类型
|
|
|
+ name: { type: String, required: true, maxLength: 200 }, // 产品名称
|
|
|
+ product_type_id: { type: Object, required: true, maxLength: 200 }, // 类型
|
|
|
+ introduction: { type: String, required: true, maxLength: 1000 }, // 产品简介
|
|
|
+ phase: { type: String, required: true, maxLength: 200 }, // 研发阶段
|
|
|
+ price: { type: String, required: true, maxLength: 200 }, // 产品单价
|
|
|
+ priceunit: { type: String, required: true, maxLength: 200 }, // 产品单位
|
|
|
+ image: { type: String, required: true, maxLength: 200 }, // 产品图片
|
|
|
+ field: { type: String, maxLength: 200 }, // 所属领域
|
|
|
+ scope: { type: String, maxLength: 200 }, // 服务范围
|
|
|
+ coopermode: { type: String, maxLength: 200 }, // 合作方式
|
|
|
+ business: { type: String, maxLength: 200 }, // 交易方式
|
|
|
+ budget: { type: String, default: 0, maxLength: 200 }, // 投入预算
|
|
|
+ end_date: { type: String, default: 0, maxLength: 200 }, // 需求截止日期
|
|
|
+ difficult_problem: { type: String, default: 0, maxLength: 500 }, // 难题或瓶颈问题
|
|
|
+ demand: { type: String, default: 0, maxLength: 500 }, // 企业解决技术需求已具备的条件
|
|
|
+ company: { type: String, default: 0, maxLength: 200 }, // 企业名称
|
|
|
+ address: { type: String, default: 0, maxLength: 200 }, // 企业地址
|
|
|
+ team: { type: String, default: 0, maxLength: 200 }, // 技术团队情况
|
|
|
+ property: { type: String, default: 0, maxLength: 200 }, // 知识产权情况
|
|
|
+ mature: { type: String, default: 0, maxLength: 200 }, // 技术成熟度
|
|
|
+ coopercompany: { type: String, default: 0, maxLength: 200 }, // 是否拟有合同
|
|
|
+ other: { type: String, default: 0, maxLength: 200 }, // 其他需求
|
|
|
+ contact_user: { type: String, default: 0, maxLength: 200 }, // 联系人
|
|
|
+ contact_tel: { type: String, default: 0, maxLength: 200 }, // 联系电话
|
|
|
+});
|
|
|
+goods.index({ id: 1 });
|
|
|
+// 申请用户
|
|
|
const apply = new Schema({
|
|
|
user_id: { type: String, required: true, maxLength: 200 }, // 用户id
|
|
|
user_name: { type: String, required: true, maxLength: 200 }, // 用户名称
|
|
|
buyer: { type: String, required: true, maxLength: 1 }, // 买家/卖家 0/1
|
|
|
- goodsList: [ Object ],
|
|
|
+ goodsList: { type: [ goods ], default: [] }, // 产品列表
|
|
|
contact: { type: String, required: true, maxLength: 200 }, // 联系人
|
|
|
contact_tel: { type: String, required: true, maxLength: 200 }, // 联系人电话
|
|
|
email: { type: String, maxLength: 200 }, // 邮箱
|
|
@@ -17,6 +47,7 @@ const apply = new Schema({
|
|
|
});
|
|
|
apply.index({ id: 1 });
|
|
|
apply.index({ userid: 1 });
|
|
|
+// vip用户
|
|
|
const vipuser = new Schema({
|
|
|
uid: { type: String, required: false, maxLength: 200 }, // 用户id
|
|
|
vipname: { type: String, required: false, maxLength: 200 }, // 用户名称
|
|
@@ -28,24 +59,26 @@ const vipuser = new Schema({
|
|
|
});
|
|
|
vipuser.index({ id: 1 });
|
|
|
const Dock = {
|
|
|
+ room_id: { type: String, required: true, maxLength: 10 }, // 房间号
|
|
|
+ password: { type: String, required: false, maxLength: 200 }, // 密码
|
|
|
title: { type: String, required: true, maxLength: 200 }, // 对接会标题
|
|
|
desc: { type: String, maxLength: 1000 }, // 简介
|
|
|
status: { type: String, default: '0', maxLength: 1 }, // 状态:0准备中;1已开始;2已结束
|
|
|
start_time: { type: String, required: true, maxLength: 200 }, // 开始时间
|
|
|
end_time: { type: String, required: true, maxLength: 200 }, // 结束时间
|
|
|
join_end: { type: String, required: true, maxLength: 200 }, // 报名截止时间
|
|
|
- apply: { type: [ apply ], default: [] },
|
|
|
- is_allowed: { type: String, default: '0', maxLength: 1 }, // 0未审核;1已允许;2已拒绝
|
|
|
- reason: { type: String, required: false, maxLength: 200 }, // 拒绝理由
|
|
|
- user_id: { type: String, required: true, maxLength: 200 }, // 申请用户
|
|
|
+ apply: { type: [ apply ], default: [] }, // 申请用户
|
|
|
+ user_id: { type: String, required: true, maxLength: 200 }, // 创建人id
|
|
|
province: { type: String, required: false }, // 省
|
|
|
+ place: { type: String, required: false }, // 市
|
|
|
file_path: { type: String, required: false }, // 视频路径
|
|
|
- place: { type: String, required: false }, // 位置
|
|
|
- roomname: { type: String, required: false }, // 房间号
|
|
|
- uid: { type: String, required: false, maxLength: 200 }, // 所属用户
|
|
|
- adminuser: { type: String, required: false, maxLength: 200 }, // 所属用户姓名
|
|
|
- phone: { type: String, required: false, maxLength: 200 }, // 所属电话
|
|
|
+ adminuser: { type: String, required: false, maxLength: 200 }, // 用户姓名
|
|
|
+ phone: { type: String, required: false, maxLength: 200 }, // 电话
|
|
|
vipuser: { type: [ vipuser ], default: [] }, // vip用户
|
|
|
+ // is_allowed: { type: String, default: '0', maxLength: 1 }, // 0未审核;1已允许;2已拒绝
|
|
|
+ // reason: { type: String, required: false, maxLength: 200 }, // 拒绝理由
|
|
|
+ // roomname: { type: String, required: false }, // 房间名称
|
|
|
+ // uid: { type: String, required: false, maxLength: 200 }, // 所属用户
|
|
|
};
|
|
|
const schema = new Schema(Dock, { toJSON: { virtuals: true } });
|
|
|
schema.index({ id: 1 });
|