|
|
查询用户优惠券可用不可用列表接口业务逻辑
|
|
|
-----
|
|
|
### 1.gateway入口
|
|
|
接口地址:method=app.Shopping.listCoupon,需要参数:int uid,required = true.
|
|
|
Postman模拟URL示例:http://192.168.102.205:8080/gateway?method=app.Shopping.listCoupon&uid=8041834&debug=XYZ
|
|
|
类名:com.yoho.gateway.controller.order.shopping.ShoppingController,方法名:listCoupon
|
|
|
### 2.返回
|
|
|
通过serviceCaller调用order模块的order.listCoupon服务进行具体的业务操作。
|
|
|
返回两个优惠券list:usable_coupons和unusable_coupons
|
|
|
### 3.调用order.listCoupon服务的具体过程
|
|
|
#### 3.1order模块的服务入口
|
|
|
服务入口:com.yoho.yhorder.shopping.restapi.ShoppingCouponController的listCoupon方法。
|
|
|
postman模拟URL示例:http://192.168.102.205:8084/order/shopping/listCoupon,post请求,body:{"uid":8041834}
|
|
|
方法中调用ShoppingCouponService的listCoupon方法
|
|
|
返回ShoppingCouponListResponse对象
|
|
|
#### 3.2listCoupon的执行过程
|
|
|
#### 3.2.1调用chargeUsableCoupon方法,返回ChargeContext对象,结果放在ChargeTotal中
|
|
|
#### 3.2.1.1生成算费参数ChargeParam,
|
|
|
设置CartType=ORDINARY_CART_TYPE,
|
|
|
ChargeType=LISTCOUPONO_CHARGE_TYPE
|
|
|
是否需要计算运费:不需要
|
|
|
是否需要查询有货币:不需要
|
|
|
是否需要查询红包:不需要
|
|
|
是否需要校验货到付款:不需要
|
|
|
##### 3.2.1.2chargeContextFactory构建ChargeContext算费上下文(具体见算费上下文ChargeContext构建具体过程.md文档)
|
|
|
##### 3.2.1.3chargerService.charge进行购物车算费(具体见购物车算费.md文档的LISTCOUPONO_CHARGE_TYPE计算优惠券可用不可用部分)
|
|
|
##### 3.2.2将ChargeContext.ChargeTotal中的结果包装到ShoppingCouponListResponse中返回 |
...
|
...
|
|