基于分销二开
经过多年的客户需求和自我总结,关于分销的二开需求、大部分都在以下三个方面进行:
- 成为分销商
- 绑定分销关系
- 分佣比例的读取
基于以上三个方面、Javashop商城进行了功能的优化、方便进行二次开发的方案。
添加分销商接口
Javashop系统默认是第一次进入分销中心时
路径
com.ention.javasho.aap.fenxiao.DistributionManager
方法
public class DistributionManager {
//注册为分销商、memberId必填、其它非必填
boolean add(Long memberId, String name,String phone)
}
入参
参数名 | 参数类型 | 说明 | 说明 |
---|---|---|---|
memberId | Long | 会员id | 必须 |
name | String | 姓名 | 非必须,为空传null |
phone | String | 手机号 | 非必须,为空传null |
返回值
是否成功添加分销商
绑定分销关系接口
当绑定分销关系的方式、与Javashop系统默认方法不同时,仅需将此方法注释、自行实现即可。
public class DistributionManager {
//绑定分销关系、memberId会员ID、agentMemberId上级分销商会员ID
bind(Long memberId,Long agentMemberId)
}
路径
com.ention.javasho.aap.fenxiao.DistributionManager
方法
public class DistributionManager {
//绑定分销关系、memberId会员ID、agentMemberId上级分销商会员ID
boolean bind(Long memberId,Long agentMemberId)
}
入参
参数名 | 参数类型 | 说明 | 说明 |
---|---|---|---|
memberId | Long | 会员id | 必须 |
agentMemberId | Long | 上级分销商会员ID | 必须 |
返回值
是否绑定关系
分佣比例获取扩展
tip
默认分佣比例是按spu指定,根据goods_id
从es_distribution_goods
表中读取
获取接口
分佣比例是通过统一的CommissionRatioRead
接口获取,系统默认实现为GoodsCommissionRatioRead
,如需扩展新的佣金读取方式,则需实现此接口,并替换掉原来的默认实现即可。
CommissionRatio是接口的返回值,实现者需要构建此模型中的三级分销比例
例子
自定义一个XXXCommissionRatioRead
实现CommissionRatioRead
接口 重写getRatio()
接口即可
//通过其它方式读取佣金比例实现类【自定义创建】
@Service
public XXXCommissionRatioRead implements CommissionRatioRead {
//读取佣金比例
@Override
CommissionRatio getRatio(Long goodsId,Long memberId) {
//XXXXX
return CommissionRatio;
}
}
tip
注意注释原实现类的@Service
注解,避免bean冲突