跳到主要内容

基于分销二开

经过多年的客户需求和自我总结,关于分销的二开需求、大部分都在以下三个方面进行:

  1. 成为分销商
  2. 绑定分销关系
  3. 分佣比例的读取

基于以上三个方面、Javashop商城进行了功能的优化、方便进行二次开发的方案。

添加分销商接口

Javashop系统默认是第一次进入分销中心时

路径

com.ention.javasho.aap.fenxiao.DistributionManager

方法

public class DistributionManager {
//注册为分销商、memberId必填、其它非必填
boolean add(Long memberId, String name,String phone)
}

入参

参数名参数类型说明说明
memberIdLong会员id必须
nameString姓名非必须,为空传null
phoneString手机号非必须,为空传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)
}

入参

参数名参数类型说明说明
memberIdLong会员id必须
agentMemberIdLong上级分销商会员ID必须

返回值

是否绑定关系

分佣比例获取扩展

tip

默认分佣比例是按spu指定,根据goods_ides_distribution_goods表中读取

获取接口

image-20221018143543550

分佣比例是通过统一的CommissionRatioRead接口获取,系统默认实现为GoodsCommissionRatioRead,如需扩展新的佣金读取方式,则需实现此接口,并替换掉原来的默认实现即可。

CommissionRatio是接口的返回值,实现者需要构建此模型中的三级分销比例

例子

自定义一个XXXCommissionRatioRead实现CommissionRatioRead接口 重写getRatio()接口即可

//通过其它方式读取佣金比例实现类【自定义创建】
@Service
public XXXCommissionRatioRead implements CommissionRatioRead {
//读取佣金比例
@Override
CommissionRatio getRatio(Long goodsId,Long memberId) {
//XXXXX
return CommissionRatio;
}
}
tip

注意注释原实现类的@Service注解,避免bean冲突