xiaoyong931011
2022-12-21 53cbc2537b9b0f13a572cf7d78964ab4d884b129
20221221
6 files modified
52 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java 6 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java 16 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 22 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java
@@ -37,10 +37,10 @@
     */
    public String belongStarRating(String price){
        String name = StarRatingEnum.NORMAL.name;
        BigDecimal priceBig = new BigDecimal(price).setScale(BigDecimal.ROUND_DOWN,2);
        BigDecimal priceBig = new BigDecimal(price).setScale(2,BigDecimal.ROUND_DOWN);
        for (StarRatingEnum starRatingEnum : StarRatingEnum.values()) {
            BigDecimal minValue = new BigDecimal(starRatingEnum.minValue).setScale(BigDecimal.ROUND_DOWN, 2);
            BigDecimal maxValue = new BigDecimal(starRatingEnum.maxValue).setScale(BigDecimal.ROUND_DOWN, 2);
            BigDecimal minValue = new BigDecimal(starRatingEnum.minValue).setScale(2, BigDecimal.ROUND_DOWN);
            BigDecimal maxValue = new BigDecimal(starRatingEnum.maxValue).setScale(2, BigDecimal.ROUND_DOWN);
            if(priceBig.compareTo(minValue) > 0 && priceBig.compareTo(maxValue) <= 0){
                name = starRatingEnum.name;
            }
src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java
@@ -111,7 +111,7 @@
                returnAmount = avaAmount;
                avaAmount = BigDecimal.ZERO;
            }else{
                avaAmount = avaAmount.subtract(returnAmount).setScale(BigDecimal.ROUND_DOWN,2);
                avaAmount = avaAmount.subtract(returnAmount).setScale(2,BigDecimal.ROUND_DOWN);
            }
            //增加用户金额
            memberWalletService.addBalance(returnAmount,mallMember.getId());
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -119,8 +119,8 @@
        //根据商品原价获取商品补贴金额
        DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SUBSIDY_PERCENT.getType()
                , DataDictionaryEnum.SUBSIDY_PERCENT.getCode());
        BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(BigDecimal.ROUND_DOWN,2);
        BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(BigDecimal.ROUND_DOWN, 2);
        BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(2, BigDecimal.ROUND_DOWN);
        mallGoods.setSubsidyAmount(subsidyAmount);
        if (mallGoods.getHasCarriage() == 2) {
            mallGoods.setCarriage(BigDecimal.ZERO);
@@ -363,8 +363,8 @@
        //根据商品原价获取商品补贴金额
        DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SUBSIDY_PERCENT.getType()
                , DataDictionaryEnum.SUBSIDY_PERCENT.getCode());
        BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(BigDecimal.ROUND_DOWN,2);
        BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(BigDecimal.ROUND_DOWN, 2);
        BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(2, BigDecimal.ROUND_DOWN);
        mallGoods.setSubsidyAmount(subsidyAmount);
        mallGoodsMapper.updateById(mallGoods);
@@ -517,5 +517,13 @@
        return new FebsResponse().success();
    }
    public static void main(String[] args) {
        //根据商品原价获取商品补贴金额
        BigDecimal subsidyPercent = new BigDecimal("5").multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal("1")).setScale(2,BigDecimal.ROUND_DOWN);
        System.out.println(subsidyAmount);
    }
}
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -186,7 +186,7 @@
        Long subsidyAmountFlowId = mallMoneyFlowService.addMoneyFlow(
                mallMember.getId(),
                orderInfo.getOrderNo(),
                subsidyAmount.setScale(BigDecimal.ROUND_DOWN, 2),
                subsidyAmount.setScale(2, BigDecimal.ROUND_DOWN),
                MallMoneyFlowTypeEnum.MARKET_SUBSIDIES.getCode(),
                MallMoneyFlow.STATUS_SUCCESS,
                MallMoneyFlow.IS_RETURN_Y,
@@ -195,7 +195,7 @@
                MallMoneyFlowTypeEnum.MARKET_SUBSIDIES.getName()
        );
        memberWalletService.addBalance(subsidyAmount.setScale(BigDecimal.ROUND_DOWN, 2),mallMember.getId());
        memberWalletService.addBalance(subsidyAmount.setScale(2, BigDecimal.ROUND_DOWN),mallMember.getId());
        /**
         * 生成直推返利的流水记录
@@ -209,8 +209,8 @@
                DataDictionaryEnum.REWARD_PERCENT.getType(),
                DataDictionaryEnum.REWARD_PERCENT.getCode()
        );
        BigDecimal rewardPercent = new BigDecimal(rewardPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(BigDecimal.ROUND_DOWN,2);
        BigDecimal directRewardAmount = subsidyAmount.multiply(rewardPercent).setScale(BigDecimal.ROUND_DOWN, 2);
        BigDecimal rewardPercent = new BigDecimal(rewardPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal directRewardAmount = subsidyAmount.multiply(rewardPercent).setScale(2, BigDecimal.ROUND_DOWN);
        Long marketSubsidyFlowId = mallMoneyFlowService.addMoneyFlow(
                mallMember.getId(),
@@ -234,8 +234,8 @@
                DataDictionaryEnum.LEVEL_ONE.getType(),
                DataDictionaryEnum.LEVEL_ONE.getCode()
        );
        BigDecimal shareOne = new BigDecimal(shareOneDic.getValue()).multiply(new BigDecimal(0.01)).setScale(BigDecimal.ROUND_DOWN,2);
        BigDecimal shareOneAmount = subsidyAmount.multiply(shareOne).setScale(BigDecimal.ROUND_DOWN, 2);
        BigDecimal shareOne = new BigDecimal(shareOneDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal shareOneAmount = subsidyAmount.multiply(shareOne).setScale(2, BigDecimal.ROUND_DOWN);
        Long ShareOneFlowId = mallMoneyFlowService.addMoneyFlow(
                mallMember.getId(),
                orderInfo.getOrderNo(),
@@ -255,8 +255,8 @@
                    DataDictionaryEnum.LEVEL_TWO.getType(),
                    DataDictionaryEnum.LEVEL_TWO.getCode()
            );
            BigDecimal shareTwo = new BigDecimal(shareTwoDic.getValue()).multiply(new BigDecimal(0.01)).setScale(BigDecimal.ROUND_DOWN,2);
            BigDecimal shareTwoAmount = subsidyAmount.multiply(shareTwo).setScale(BigDecimal.ROUND_DOWN, 2);
            BigDecimal shareTwo = new BigDecimal(shareTwoDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN);
            BigDecimal shareTwoAmount = subsidyAmount.multiply(shareTwo).setScale(2, BigDecimal.ROUND_DOWN);
            Long shareTwoFlowId = mallMoneyFlowService.addMoneyFlow(
                    mallMember.getId(),
                    orderInfo.getOrderNo(),
@@ -300,7 +300,7 @@
                //获取团队分享比例
                BigDecimal manageSubsidyPercent = getManageSubsidyPercent(levelStart, levelUp);
                if(manageSubsidyPercent.compareTo(BigDecimal.ZERO) > 0){
                    BigDecimal teamManageAmount = subsidyAmount.multiply(manageSubsidyPercent).setScale(BigDecimal.ROUND_DOWN, 2);
                    BigDecimal teamManageAmount = subsidyAmount.multiply(manageSubsidyPercent).setScale(2, BigDecimal.ROUND_DOWN);
                    //生成团队分享流水
                    Long teamManageFlowId = mallMoneyFlowService.addMoneyFlow(
                            mallMember.getId(),
@@ -369,7 +369,7 @@
        String manageSubsidyPercentStr = jsonObject.get("manageSubsidyPercent").toString();
        manageSubsidyPercent =  new BigDecimal(manageSubsidyPercentStr)
                .multiply(new BigDecimal(0.01))
                .setScale(BigDecimal.ROUND_DOWN,2);
                .setScale(2,BigDecimal.ROUND_DOWN);
        return manageSubsidyPercent;
    }
@@ -388,7 +388,7 @@
        String subsidyPercentStr = jsonObject.get("manageSubsidyPercent").toString();
        subsidyPercent =  new BigDecimal(subsidyPercentStr)
                .multiply(new BigDecimal(0.01))
                .setScale(BigDecimal.ROUND_DOWN,2);
                .setScale(2,BigDecimal.ROUND_DOWN);
        return subsidyPercent;
    }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -611,7 +611,7 @@
                cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(value);
                String price = jsonObject.get("price").toString();
                String status = jsonObject.get("status").toString();
                apiMallMemberStarVo.setPrice(new BigDecimal(price).setScale(BigDecimal.ROUND_DOWN,2));
                apiMallMemberStarVo.setPrice(new BigDecimal(price).setScale(2,BigDecimal.ROUND_DOWN));
                apiMallMemberStarVo.setStatus(Integer.parseInt(status));
                apiMallMemberStarVos.add(apiMallMemberStarVo);
            }
@@ -664,7 +664,7 @@
        if (!SecureUtil.md5(tradePassword).equals(mallMember.getTradePassword())) {
            throw new FebsException("支付密码错误");
        }
        BigDecimal buyStarPriceBigDecimal = new BigDecimal(buyStarPrice).setScale(BigDecimal.ROUND_DOWN, 2);
        BigDecimal buyStarPriceBigDecimal = new BigDecimal(buyStarPrice).setScale(2, BigDecimal.ROUND_DOWN);
        int reduce = memberWalletService.reduce(buyStarPriceBigDecimal, mallMember.getId(), "balance");
        if (reduce == 2) {
            throw new FebsException("余额不足");
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -371,7 +371,7 @@
                Long payFlowId = mallMoneyFlowService.addMoneyFlow(
                        member.getId(),
                        orderInfo.getOrderNo(),
                        orderInfo.getAmount().negate().setScale(BigDecimal.ROUND_DOWN, 2),
                        orderInfo.getAmount().negate().setScale(2, BigDecimal.ROUND_DOWN),
                        MallMoneyFlowTypeEnum.PAY.getCode(),
                        MallMoneyFlow.STATUS_SUCCESS,
                        MallMoneyFlow.IS_RETURN_N,