一、需求场景
目前系统针对于不用类型的商户,给予服务也不相同,总经办需要通过调库来限制客户的生包数量,从而打造品牌精品模式
二、需求目的
对于有设置每月单量限制的客户,在调库配货的时候如超过限制数,则需要调用钱包功能,如钱包也没有单量则不可生成包裹。
三、需求设计
调库配货的时候,对于客户订单生成包裹,增加生包的数量限制,取当前商户的限制单量。
注:选中订单调库配货、有货先发调库配货、手动批量调库配货、自动规则调库配货,都需要按照此逻辑进行。
3.1 获取当前商户在【irobotbox->商户信息管理】界面中维护的套餐,再通过套餐获取去【irobotbox->商户优惠套餐管理】界面中维护的【客户订单量】,如有值则先定义值:剩余包裹数=客户限制订单量-当月已生成客户订单包裹数
赛盒钱包包裹数=调用钱包API接口获取此值
可调库包裹数=剩余包裹数+赛盒钱包包裹数
3.2 如当前商户优惠套餐中【客户订单量】为空则不作限制,按照系统正常逻辑调库配货,否则进入3.3步骤;
3.3 判断调用赛盒钱包扣款UpdatePaymentNumber接口还存在未成功,则直接提示调库失败(失败原因:存在API调用赛盒包裹量扣款中,请联系赛盒客服!),如不存在未成功,则进入3.4步骤;
3.4 当前商户‘可调库包裹数’是否小于等于0,如是则直接提示调库失败(失败原因:已到达套餐单量限制,请到赛盒钱包系统充值!),如否则进入3.5步骤;
3.5 取当前商户‘可调库包裹数’作为本次调库生包数,并在生成包裹成功之后,需要校验‘本次生包数-剩余包裹数’是否大于0,如否则退出,如是则进入3.6步骤;
3.6 调用赛盒钱包API接口,按照‘本次生包数-剩余包裹数’扣去包裹数量
3.7 API接口调用
a)赛盒钱包包裹数
通过商户号+包裹量服务ID,调用赛盒对外API中‘GetFeeItemList’接口,获取RemaindNumber剩余服务数量。
b)赛盒钱包扣包裹数量
通过商户号+包裹量服务ID+使用数量,调用赛盒对外API中UpdatePaymentNumber接口。
注:如此调用接口存在未成功的情况,则需要有重试机制。
