http://oss.dbbaxbb.cn/WechatIMG116.jpeg 如图,每个单元格的价格是可以编辑的,时间和场地都不是固定的,用户选择对应的单元格下单之后改变颜色。 最终合理的建议会发 66 红包,资金有限。
1
littlewing 2020-03-26 01:22:15 +08:00 via iPhone
别设计表了,直接上 mongo
|
2
v2hh OP @littlewing mongo 并不能解决问题
|
3
kinotrip 2020-03-26 01:30:07 +08:00
不需要什么特别的数据结构吧?每天的每个时间点存到一个表,每天的每个可用场地存到另一个表,然后这两个多对多一乘是第三个表,定时自动生成以后几天这三张表的数据就行了。然后数据查询的时候按天返回三张表的内容,让前端自己按数据索引拼界面就行了。
|
4
Aoang 2020-03-26 01:32:55 +08:00 via Android
表一:id 、时间、场地、价格(外键 表二)、状态
表二:id 、价格(金额) 就一个图,什么需求都没有,怎么设计。 场地可以分出去建表,状态也可以分出去建表。 如果业务量不大,可以不管这些。 考虑到查询问题,时间可以分成两个字段,一个记录日期,一个记录时分秒。 查询的时候,直接查日期。 |
5
v2hh OP 补充一下:时间对应的是一个营业时间,每个商家的营业时间可能不同,场地也是商家自己添加的
|
7
SuperAllen 2020-03-26 01:40:55 +08:00 via Android
既然①时间段和②场地都不是固定的,把这两块分别单独拆出来建两个表,③价格设定这块和场地,日期,时间段放一起,另外订单作两个表④订单和⑤订单详情,如果订单数据量大,再在这个基础上作拆分。关联部分做好索引设置。
一点拙见,也欢迎有更好的方案一起探讨 |
8
tiluo 2020-03-26 04:04:45 +08:00
这个帖子关于时间段的思路还不错
https://segmentfault.com/q/1010000016159952 以下内容为复制粘贴: 一个店铺的营业时间段一般不会超过三个,所以可以有三个字段来存时间段 店铺 table id, name, duration_id1, duration_id2 (可空), duration_id3 (可空) 然后时间段的表设计: 时间段 table id, start_time, end_time 店铺表的 duration_id 是时间段表的外键。 时间段表相当于是 reference data,而店铺表的数据是会更改的。 |
9
Immortal 2020-03-26 04:16:33 +08:00
这个普通逻辑就好了吧:
场地表:id 商家 id 场地名称,营业时间...额外你需要的字段。 - 关于营业时间,你这边应该是按小时为单位切分成 15 个对吧,提供一个思路,这个字段用标记位。一周 7 天每天 15 个时段,其实就是 105 位+5 位分隔符,比如周一 7-8 点不营业其他全营业,分隔符为“|”,表里就是:011111111111111|111... 在页面展现的时候优先判断是否营业,再展现具体数据(价格等),这样营业时间就不会和下面的场地拓展表有关联了,是个商家属性。 场地拓展表:id 场地 id 价格 当前时段的场地具体类型 时段序号。 - 这里的时段我看图片上就是 15 个时段,可以不用时间表示,直接用序号也可以 1-15 |
10
Immortal 2020-03-26 04:19:57 +08:00
@Immortal
着急了。应该把营业时间提到另一个商家表,不应该在场地表。 当然,如果每个场地有自己的营业时间,商家还有商家的营业时间,也可以根据这个思路拓展,进行位运算(&)来判断当前时段当前场地是否营业。 |
11
thinkmore 2020-03-26 09:33:13 +08:00
```json
{ _id: 1, # 某一天,比如 3.27 date: 157xxxxxxxxx, info: [ { time: 7:00, detail: [ { price: 183, address: A2 半场, type: 可预订 }, { price: 183, address: B1 半场, type: 转让场地 } ] }, { time: 8:00, detail: [ { price: 183, address: A2 半场, type: 可预订 } ] } ] } ``` 这个是 mongodb 的数据结构,可以参考下。 商家可以自定义场地,时间等 |
12
v2hh OP 感谢各位回复,现在有个问题就是初始数据的问题,不可能商家每个单元格都分别设置,我想的是查询的时候直接返回时间段,场地,价格这些,前端自己匹配单元格价格,只有商家单独设定某个单元格的价格才会被记录入库,不然预先生成数据之后商家如果改价格会很难处理
|
13
fancy111 2020-03-26 10:01:50 +08:00
这有什么特别的吗? 随便设计一个都能用。 一个表就搞定了
|
15
summerwar 2020-03-26 10:17:15 +08:00
参考日历
|
17
xuanbg 2020-03-26 11:39:53 +08:00
这个不是价格日历嘛……每天每个时间段一条数据,场地、价格以 k/v 形式存成 Json 就行。
红包就免了,能帮到你就好 |