Helius
2022-06-15 8654ec54f22fec61a996e024ba4d0105aa7ba3f9
add static profit
3 files modified
24 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ProfitTest.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -53,6 +53,15 @@
        memberProfitService.thankfulProfit();
    }
    /**
     * 静态分红
     */
    @Scheduled(cron = "0 30 2 * * ?")
    public void staticProfitJob() {
        memberProfitService.staticProfit();
    }
    /**
     * 排名奖 每月1号
     */
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -62,7 +62,7 @@
        }
        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.STATIC_BONUS.getType(), DataDictionaryEnum.STATIC_BONUS.getCode());
        BigDecimal perProfit = totalIncome.divide(new BigDecimal(dic.getValue()), 2, RoundingMode.HALF_UP).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
        BigDecimal perProfit = totalIncome.multiply(new BigDecimal(dic.getValue()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
        for (MallMember member : members) {
            List<MallGoods> goodsList = mallGoodsMapper.selectOrderGoodsList(member.getId(), profitDate);
@@ -72,6 +72,10 @@
            }
            for (MallGoods goods : goodsList) {
                if (goods.getIsNormal() == 1) {
                    continue;
                }
                BigDecimal goodsProfit = goods.getStaticProp().multiply(perProfit);
                int reduce = walletService.reduce(goodsProfit, member.getId(), "score");
@@ -308,6 +312,10 @@
            }
            BigDecimal reduceProfit = income.multiply(prop);
            if (reduceProfit.compareTo(BigDecimal.ZERO) > 0) {
                continue;
            }
            int reduce = walletService.reduce(reduceProfit.negate(), mallMember.getId(), "commission");
            if (reduce == 2) {
                continue;
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -27,4 +27,9 @@
    public void dynamicProfit() {
        memberProfitService.dynamicProfit(45L);
    }
    @Test
    public void thankfulProfit() {
        memberProfitService.thankfulProfit();
    }
}