Showing
1 changed file
with
46 additions
and
0 deletions
促销/优惠码业务逻辑.md
0 → 100644
1 | +#优惠码前台相关接口业务逻辑 | ||
2 | + | ||
3 | + | ||
4 | +###1.订单中查询 | ||
5 | + promotion.getPromotionCode :查询校验优惠码是否可用 | ||
6 | +#### 接口逻辑 | ||
7 | +```json | ||
8 | + 入参:uid,promotionCode | ||
9 | + (1)根据优惠码查询批次号,表:promotion_batchno_code; | ||
10 | + (2)根据批次号获取该批次优惠码详情,表:promotion_code ; | ||
11 | + (3)判断状态是否已审核,未审核直接抛出异常 ; 审核状态:1 | ||
12 | + (4)校验优惠码有效期 | ||
13 | + (5)查询优惠码用户已使用次数 单用户限制 ,判断是否超出使用限制,超出抛异常; 表:user_promotion_code_history | ||
14 | + (6)查询优惠码用户已使用次数 优惠码总限制 ,判断是否超出总使用限制,超出抛异常; 表:user_promotion_code_history | ||
15 | + (7)校验用户注册来源--优惠码限制用户注册渠道是ios和安卓 | ||
16 | + (8)用户类型校验--新客老客校验 | ||
17 | + (9)组装优惠码信息,返回 | ||
18 | +``` | ||
19 | + | ||
20 | +###2.下单添加使用优惠码记录 | ||
21 | + promotion.addPromotionCodeHistory | ||
22 | +#### 接口逻辑 | ||
23 | +```json | ||
24 | + 入参:uid,promotionCode,orderCode | ||
25 | + (1)根据优惠码查询批次号,表:promotion_batchno_code; | ||
26 | + (2)根据批次号获取该批次优惠码详情,表:promotion_code ; | ||
27 | + (3)判断状态是否已审核,未审核直接抛出异常 ; 审核状态:1 | ||
28 | + (4)校验优惠码有效期 | ||
29 | + (5)查询优惠码用户已使用次数 单用户限制 ,判断是否超出使用限制,超出抛异常; 表:user_promotion_code_history | ||
30 | + (6)查询优惠码用户已使用次数 优惠码总限制 ,判断是否超出总使用限制,超出抛异常; 表:user_promotion_code_history | ||
31 | + (7)校验用户注册来源--优惠码限制用户注册渠道是ios和安卓 | ||
32 | + (8)用户类型校验--新客老客校验 | ||
33 | + (9)组装优惠码信息 | ||
34 | + (10)redis原子+1,判断是否超过最大使用限制 | ||
35 | + (11)插入使用记录表user_promotion_code_history | ||
36 | +``` | ||
37 | + | ||
38 | +###3.取消订单清除优惠码使用记录(软删除) | ||
39 | +#### 接口逻辑 | ||
40 | +```json | ||
41 | + 入参:uid,orderCode | ||
42 | + (1)根据uid和orderCode查user_promotion_code_history表 | ||
43 | + (2)上述记录不为空时,原子-1更新redis 个人记录,总记录 | ||
44 | + (3) 更新user_promotion_code_history表 | ||
45 | +``` | ||
46 | + |
-
Please register or login to post a comment