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("用户分润->结束新增用户分润"); }