皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

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

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

转自 https://www.oschina.net/news/106803/eden-mace-1-5-1-released

分享到:更多 ()