转载

EDEN-MACE 1.5.1 更新,重构分润计算模块,精准控制分润模型

EDEN-MACE 是一套灵活的管理佣金的分销管理系统,它涵盖并且总结了目前流行的分销模式,让分销更加简单。

开源地址: https://gitee.com/codingdb/distribution_management

视频教程

链接: https://pan.baidu.com/s/1he3Tnk324JKoMPsbtEPcyw 提取码:p20v

此次版本更新是针对分润模块进行代码的全部重构,增加代码的可读性,并且分润模型由原来的暴力计算转换成分润计算,计算更加精准.

代码位置:DisProfitRecordServiceImpl#generatorAllRecord

EDEN-MACE 1.5.1 更新,重构分润计算模块,精准控制分润模型

部分代码解析

此段代码是针对会员的分润计算

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("用户分润->结束新增用户分润");
    }
原文  https://www.oschina.net/news/106803/eden-mace-1-5-1-released
正文到此结束
Loading...