我现在实现的方法是,把订单表和退单表全部存到一个新的统计表中,在操作这个统计表来区分新订单和老订单。
然后之后的业务操作都根据这张统计表来查询。
1
xizismile 2020-04-25 18:51:25 +08:00 via Android
根据用户首单时间来判断用户的订单是新用户订单还是老用户订单
是否是新用户能不能单独存一张表或者存到用户表的字段里?不用每次都拿订单来计算 |
2
huang7230468 2020-04-25 22:25:03 +08:00
我觉得首先应该确认下在业务上,用户先下单然后再退单,那么该用户还是否是新用户了?
|
3
MikeLei 2020-04-25 23:35:02 +08:00
一点不成熟的想法:
单独一个表专门记录首单优惠。 一个总订单表,这个表里面包含退单,完成单,取消单等等,再根据不同订单状态分拆分几个订单表,这时候就是一条数据至少存储在两个表上,一个是总订单表,一个是相对应状态的订单表,感觉这样速度应该会快很多。 |
4
xizismile 2020-04-25 23:47:14 +08:00 via Android
@huang7230468 这样一想。把业务改成新用户发张优惠券更方便一些,就不用考虑首单还是不首单了。
|
5
Jooooooooo 2020-04-26 00:23:56 +08:00
统计的可以定时任务跑
|
7
liubx OP @huang7230468 这个的逻辑是这样的。首先用户下的第一单就是首单(付款成功的订单)。如果订单跟首单比较超过 3 个月就是老订单了,否则就是新订单
|
8
liubx OP @MikeLei 我现在就是这样的,订单和退单都存到一张订单统计表中,根据字段区分是新订单还是老订单。但是这种方式,数据多了就会很慢
|
10
liubx OP @Jooooooooo 嗯,现在就是定时任务跑,就是一次得 5 分钟。如果之后数据多了,估计会更慢了
|