EDEN-MACE 是一套灵活的管理佣金的分销管理系统,它涵盖并且总结了目前流行的分销模式,让分销更加简单。
开源地址:https://gitee.com/codingdb/distribution_management
视频教程
链接:https://pan.baidu.com/s/1he3Tnk324JKoMPsbtEPcyw 提取码:p20v
此次版本更新是针对分润模块进行代码的全部重构,增加代码的可读性,并且分润模型由原来的暴力计算转换成分润计算,计算更加精准.
代码位置:DisProfitRecordServiceImpl#generatorAllRecord
部分代码解析
此段代码是针对会员的分润计算
1.取需要计算的分润的用户
2. 对fullIndex字段进行反转,巧妙的运用下标和等级的关系,进行分润(比如下标成为1,这个用户就是源用户的上级)
public void calMemberMoney(DisProfitRecordVo param,DisMemberInfo memberInfo){
logger.info("用户分润->开始新增用户分润");
String[] levelInfo=memberInfo.getDisFullIndex().split("\\.");
logger.info("用户分润->处理上级人员分润{}",levelInfo.length);
//反转数组
levelInfo = DistUtils.reverseArray(levelInfo);
for (int i = 0;i<levelInfo.length;i++){
String userId =levelInfo[i];
logger.info("用户分润->开始处理{}级用户,用户id{}",i,userId);
if(i==0){
logger.info("用户分润->自己不能给自己分润,分润用户{},{}",userId,memberInfo.getDisUserId());
continue;
}
addAmountRecord(userId,String.valueOf(i),IdentityStatus.USER_STATUS.getStatus(),param,memberInfo);
}
logger.info("用户分润->结束新增用户分润");
}