使用优惠券多一句没有,少一句不行,用更短时间,教会更实用的技术!高级软件人才培训专家使用优惠券目录Contents定义优惠规则开发优惠券使用接口定义优惠规则01目录Contents分析业务流程实现优惠规则多一句没有,少一句不行,用更短时间,教会更实用的技术!高级软件人才培训专家分析业务流程开始加入购物车预下单下单支付取消订单生成订单id查询可用的优惠策略查询优惠明细创建订单核销优惠券更新订单状态退还优惠券结束查询订单查询订单进度查询订单明细查询优惠券规则目录Contents分析业务流程实现优惠规则多一句没有,少一句不行,用更短时间,教会更实用的技术!高级软件人才培训专家实现优惠规则①优惠券是否可用于当前订单?③生成优惠券的规则的描述②计算订单使用优惠券后的优惠金额publicinterfaceDiscount{/***判断当前价格是否满足优惠券使用限制*@paramtotalAmount订单总价*@paramcoupon优惠券信息*@return是否可以使用优惠券*/booleancanUse(inttotalAmount,Couponcoupon);/***计算折扣金额*@paramtotalAmount总金额*@paramcoupon优惠券信息*@return折扣金额*/intcalcDiscount(inttotalAmount,Couponcoupon);/***根据优惠券规则返回规则描述信息*@return规则描述信息*/StringgetRule(Couponcoupon);}查询优惠方案02目录Contents思路分析定义接口并初步筛选组合优惠方案计算优惠明细并发优化筛选最优解多一句没有,少一句不行,用更短时间,教会更实用的技术!高级软件人才培训专家案例思路分析需求:根据订单中的课程信息,查询当前用户所有可用优惠券并给出可行的优惠方案,优惠券可叠加•券相同时,保留优惠金额最高的方案•金额相同时,保留用券最少的方案开始查询所有可用优惠券初步筛选可用券排列出所有优惠方案计算每种方案筛选出最优解1,满200减252,满300打9折3,每满100减104,满500减60A:JAVA入门200B:UI设计99C:吉他入门991,满200减252,满300打9折3,每满100减10[1,2,3][1,3,2][2,1,3][2,3,1][3,2,1][3,1,2]workerworker...123132目录Contents思路分析定义接口并初步筛选组合优惠方案计算优惠明细并发优化筛选最优解多一句没有,少一句不行,用更短时间,教会更实用的技术!高级软件人才培训专家步骤一、需求:根据订单中的课程信息,查询当前用户所有优惠券并给出可行的优惠方案,优惠券可叠加•用券相同时,保留优惠金额最高的方案•金额相同时,保留...