| | |
| | | */ |
| | | 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; |
| | | } |
| | |
| | | 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()); |
| | |
| | | //根据商品原价获取商品补贴金额 |
| | | 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); |
| | |
| | | //根据商品原价获取商品补贴金额 |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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, |
| | |
| | | MallMoneyFlowTypeEnum.MARKET_SUBSIDIES.getName() |
| | | ); |
| | | |
| | | memberWalletService.addBalance(subsidyAmount.setScale(BigDecimal.ROUND_DOWN, 2),mallMember.getId()); |
| | | memberWalletService.addBalance(subsidyAmount.setScale(2, BigDecimal.ROUND_DOWN),mallMember.getId()); |
| | | |
| | | /** |
| | | * 生成直推返利的流水记录 |
| | |
| | | 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(), |
| | |
| | | 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(), |
| | |
| | | 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(), |
| | |
| | | //获取团队分享比例 |
| | | 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(), |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | |
| | | 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("余额不足"); |
| | |
| | | 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, |