一、项目数据库设计
托管小程序一共用到了10张 数据表。分别是轮播表、商品信息表、商品规格表、订单表、用户表、我的小孩表、预约表、优惠券规格表、优惠券表和订阅消息表。以下是这些表的具体实现,内容模型是指开通云管理后台CMS时的内容模型。
二、云数据库实现
1、轮播表 :tb_banner
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
name | string | #单行字符串 | Banner名称 | 注释使用 |
image | string | #图片.FileId | 图片地址 | |
create_time | number | 创建时间 | 时间戳 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | 时间戳 |
###
2 、商品信息表:tb_product
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
product_name | String | #单行字符串 | 商品名 | |
product_img | string | #图片.FileId | 商品主图 | |
product_imgs | array | #数组 | 商品图片数组 | 详情页使用 |
product_qre | string | #图片.FileId | 商品小程序图 | 详情页生成海报时使用 |
product_raw_price | number | #数字 | 商品市场价格(不用) | 单位:分 |
product_price | number | #数字 | 商品销售价格 | 单位:分 |
product_stock | number | #数字 | 商品库存数量 | |
product_total | number | #数字 | 商品总数量 | |
product_brief | string | #单行字符串 | 商品简介 | |
product_description | string | #Markdown | 商品描述 | |
product_status | boolean | #布尔值 | 商品状态 | true-正常,false-下架 |
product_end_date | number | #日期与时间.时间戳 | 报名截止日期 | 只包含日期 |
product_type | string | #单行字符串 | 商品分类 | ‘房间’,’活动’ |
product_sku | string | #JSON | 商品规格 | |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
3、 商品规格tb_sku
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
prod_id | string | #关联 | 商品编号 | 关联商品表,后台显示的是关联的商品名称 |
sku_name | string | #单行字符串 | 商品规格名称 | 公开版 深空灰色 64GB |
sku_properties | array | #数组 | 商品规格属性数组 | 版本:公开版;颜色:深空灰色;内存:64GB |
sku_price | number | #数字 | 此规格商品价格 | 单位:分 |
sku_stock | number | #数字 | 此规格商品库存数量 | 如果是默认规格,和商品的相同 |
sku_total | number | #数字 | 此规格商品总数量 | 如果是默认规格,和商品的相同 |
sku_default | boolean | #布尔 | 是否默认规格 | false:否,true:是 |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
is_del | boolean | #布尔值 | 是否删除 | |
4、 订单表:tb_order
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键、订单编号 | 系统生成 | |
buyer_openid | string | #关联 | 买家openid编号 | |
buyer_studentname | string | #单行字符串 | 买家小孩姓名 | |
buyer_phone | string | #电话号码 | 买家电话 | |
buyer_schoolname | string | #单行字符串 | 买家小孩学校 | |
buyer_sexy | number | #数字 | 买家小孩性别 | |
order_product_id | string | #单行字符串 | 订单商品编号 | |
order_product_price | number | #数字 | 订单商品价格 | |
order_product_img | string | #图片.FileId | 订单商品图片 | |
order_product_name | string | #单行字符串 | 订单商品名称 | |
order_product_brief | string | #单行字符串 | 订单商品简介 | |
order_sku_id | string | #单行字符串 | 订单商品规格编号 | |
order_sku_name | string | #单行字符串 | 订单商品规格名称 | |
order_sku_selectedProp | string | #单行字符串 | 订单商品规格属性 | |
order_product_prodNum | number | #数字 | 订单商品数量 | |
order_coupon_id | string | #关联 | 优惠券编号 | |
order_totalPrice | number | #数字 | 订单总价 | 单位:元 |
order_status | number | #数字 | 订单状态 | 0:未支付, 1:已支付,2:已发货 , 3: 已支付,但库存不足 |
query_number | number | #数字 | 订单状态查询次数 | 默认:0 |
refund_status | boolean | #布尔 | 是否提现 | 默认为false |
pay_time | number | #日期与时间.时间戳 | 支付完成时间 | |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 |
####
5、用户表tb_user
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
openId | string | #单行字符串 | 用户微信openId | |
phone | string | #电话号码 | 手机号码 | |
nickName | string | #单行字符串 | 微信昵称 | ”:非授权用户,不为空:授权用户 |
gender | number | #数字 | 性别 | |
avatarUrl | string | #图片.HTTPS | 微信头像 | |
status | number | #布尔 | 状态 | 0:正常,1:禁止 |
isAdmin | rboolean | #布尔 | 是否是管理员 | false:不是,true:是 |
create_time | date | #日期与时间.时间戳 | 创建时间 | |
update_time | date | #日期与时间.时间戳 | 修改时间 | |
last_login_time | date | #日期与时间.时间戳 | 最后登录时间 | |
last_login_ip | string | #单行字符串 | 最后登录ip |
6、我的小孩表tb_student
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
openId | string | #单行字符串 | 家长微信openId | |
studentname | string | #单行字符串 | 学生姓名 | |
schoolname | number | #单行字符串 | 学校名称 | |
sexy | number | #数字 | 性别 | |
tel | string | #电话号码 | 家长手机号码 | |
isdefault | number | #布尔 | 默认宝贝 | 0:正常,1:禁止 |
isdel | number | #布尔 | 是否删除 | false:不是,true:是 |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
7、预约表tb_reservation
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
openId | string | #单行字符串 | 家长微信openId | |
studentname | string | #单行字符串 | 学生姓名 | |
schoolname | string | #单行字符串 | 学校名称 | |
tel | string | #单行字符串 | 手机号码 | |
sexy | number | #数字 | 性别 | |
flag | Boolean | #布尔 | 是否已经处理 | false:不是,true:是 |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
8、优惠券规则表tb_coupon_rules
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
coupon_name | string | #单行字符串 | 优惠券名称 | |
coupon_type | number | #数字 | 优惠券类型 | 1-金额立减,2-打折,目前只用1 |
coupon_discount | number | #数字 | 优惠券折扣(暂时不用) | 5-5折,8-八折,9-九折, |
reduce_amount | number | #数字 | 优惠金额 | |
cash_condition | number | #数字 | 最低消费金额 | |
time_type | number | #数字 | 有效期类型 | 1-开始结束日期,2-有效天数,目前只用2 |
start_time | number | #日期与时间.时间戳 | 有效期的起始时间(暂时不用) | |
end_time | number | #日期与时间.时间戳 | 有效期的结束时间(暂时不用) | |
valid_days | number | #数字 | 有效的天数 | |
status | number | #布尔 | 是否停用 | false:否,true:是 |
grant_num | number | #数字 | 已发放数量 | 默认为0 |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
9、优惠券表tb_coupon_info
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
rules_id | string | #关联 | 关联优惠券规则主键id | |
grant_time | number | #日期与时间.时间戳 | 优惠券发放时间 | |
coupon_status | number | #数字 | 优惠券状态 | 1-待领取,2未使用|3已过期|4已使用 |
openId | string | #单行字符串 | 消费者微信openId | |
order_id | string | #单行字符串 | 订单id | |
use_time | number | #日期与时间.时间戳 | 使用时间 | |
coupon_name | string | #单行字符串 | 优惠券名称 | |
coupon_type | number | #数字 | 优惠券类型 | 1-金额立减,2-打折,目前只用1 |
coupon_discount | number | #数字 | 优惠券折扣(暂时不用) | 5-5折,8-八折,9-九折, |
reduce_amount | number | #数字 | 优惠金额 | |
cash_condition | number | #数字 | 最低消费金额 | |
time_type | number | #数字 | 有效期类型 | 1-开始结束日期,2-有效天数,目前只用2 |
start_time | number | #单行字符串 | 有效期的开始日期 | moment().format(‘YYYY-MM-DD’) |
end_time | number | #单行字符串 | 有效期的结束日期 | moment().add(couponrule.valid_days, ‘days’).format(‘YYYY-MM-DD’) |
valid_days | number | #数字 | 有效的天数 | |
create_time | number | #日期与时间.时间戳 | 创建时间 | |
update_time | number | #日期与时间.时间戳 | 修改时间 | |
10、订阅消息表tb_message
字段名 | 数据类型 | 内容模型 | 含义 | 备注 |
_id | string | 主键 | 系统生成 | |
page | string | #单行字符串 | 点击模板卡片后的跳转页面 | |
template_id | string | #电话号码 | 所需下发的订阅模板id | |
data | Object | #单行字符串 | 模板内容 | 格式形如 { “key1”: { “value”: any }, “key2”: { “value”: any } } |
miniprogram_state | string | #单行字符串 | 跳转小程序类型 | developer为开发版;trial为体验版;formal为正式版;默认为正式版 |
type | string | #单行字符串 | 类型 | newUser |
status | boolean | #布尔 | 状态 | false:不是,true:是 |
create_time | date | #日期与时间.时间戳 | 创建时间 | |
update_time | date | #日期与时间.时间戳 | 修改时间 | |