| | |
| | | package cc.mrbird.febs.mall.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.enumerates.AgentLevelEnum; |
| | | import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; |
| | | import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.*; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.AppContants; |
| | | import cc.mrbird.febs.common.utils.HttpCurlUtil; |
| | | import cc.mrbird.febs.common.utils.ShareCodeUtil; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | | import cc.mrbird.febs.mall.service.IAgentService; |
| | | import cc.mrbird.febs.mall.service.IApiMallMemberService; |
| | | import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; |
| | | import cc.mrbird.febs.mall.service.IMallAchieveService; |
| | | import cc.mrbird.febs.mall.service.*; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | |
| | | private final MallGoodsMapper mallGoodsMapper; |
| | | private final IApiMallMemberWalletService memberWalletService; |
| | | private final MallRollPerkMapper mallRollPerkMapper; |
| | | private final IMallMoneyFlowService mallMoneyFlowService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); |
| | | memberWalletService.add(amountActual, id, "balance"); |
| | | mallMoneyFlowService.addMoneyFlow(id, amountActual, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), |
| | | mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | } |
| | | } |
| | | for(MallOrderItem mallOrderItem : mallOrderItemList){ |
| | |
| | | MallRollPerk mallRollPerk = new MallRollPerk(); |
| | | mallRollPerk.setMemberId(memberId); |
| | | mallRollPerk.setState(1); |
| | | mallRollPerk.setRollId(Long.parseLong(mallGoods.getLevelThreePrice().toString())); |
| | | mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue()); |
| | | mallRollPerkMapper.insert(mallRollPerk); |
| | | mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); |
| | | mallOrderInfoMapper.updateById(mallOrderInfo); |
| | | } |
| | | //赠送积分 |
| | | BigDecimal levelOnePrice = mallGoods.getLevelOnePrice(); |
| | | if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){ |
| | | memberWalletService.add(levelOnePrice, memberId, "score"); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), |
| | | mallOrderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue()); |
| | | } |
| | | } |
| | | } |