| | |
| | | private final MallProductBuyMapper mallProductBuyMapper; |
| | | private final MallProductSellMapper mallProductSellMapper; |
| | | private final MallProductSellRecordMapper mallProductSellRecordMapper; |
| | | private final MallMemberAmountMapper mallMemberAmountMapper; |
| | | private final IMallMoneyFlowService iMallMoneyFlowService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | |
| | | @Override |
| | | public void fcmNFTExchangeMsg(String cnt) { |
| | | /** |
| | | * 销毁数量 按照比例销毁或者返利给节点 |
| | | */ |
| | | BigDecimal destoryCntTotal = new BigDecimal(cnt); |
| | | |
| | | DataDictionaryCustom totalPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getType(), |
| | | DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getCode() |
| | | ); |
| | | BigDecimal totalPercent = new BigDecimal(totalPercentDic.getValue()).multiply(AppContants.BASIC_PERCENT); |
| | | //销毁数量 |
| | | BigDecimal destoryCnt = new BigDecimal(cnt); |
| | | BigDecimal destoryCnt = destoryCntTotal.multiply(totalPercent).setScale(2,BigDecimal.ROUND_DOWN); |
| | | |
| | | DataDictionaryCustom pointPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getType(), |
| | | DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getCode() |
| | | ); |
| | | BigDecimal pointPercent = new BigDecimal(pointPercentDic.getValue()).multiply(AppContants.BASIC_PERCENT); |
| | | |
| | | //节点评分总数量 |
| | | BigDecimal pointCnt = destoryCntTotal.multiply(pointPercent).setScale(2,BigDecimal.ROUND_DOWN); |
| | | //给每个节点平分pointCnt。 |
| | | QueryWrapper<MallMember> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("partner",1); |
| | | List<MallMember> mallMembers = mallMemberMapper.selectList(queryWrapper); |
| | | if(CollUtil.isNotEmpty(mallMembers)){ |
| | | BigDecimal dividePointCnt = pointCnt.divide(new BigDecimal(mallMembers.size()), 2, BigDecimal.ROUND_DOWN); |
| | | for(MallMember mallMember : mallMembers){ |
| | | Long memberId = mallMember.getId(); |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().add(dividePointCnt)); |
| | | mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); |
| | | String orderNo = MallUtils.getOrderNum("JD"); |
| | | iMallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | dividePointCnt, |
| | | MoneyFlowTypeNewEnum.PERK_POINT.getValue(), |
| | | orderNo, |
| | | mallMember.getId(), |
| | | FlowTypeNewEnum.FCM_COIN.getValue(), |
| | | MoneyFlowTypeNewEnum.PERK_POINT.getDescrition()); |
| | | } |
| | | } |
| | | |
| | | //更新总销毁数量 |
| | | DataDictionaryCustom fcmDestoryTotalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_DESTORY_TOTAL.getType(), |