| | |
| | | return; |
| | | } |
| | | |
| | | if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){ |
| | | log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId()); |
| | | // if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){ |
| | | // log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId()); |
| | | // return; |
| | | // } |
| | | |
| | | |
| | | // Date nowDate = new Date(); |
| | | //查询用户钱包 |
| | | ComActUserWalletDO userWalletDO = comActUserWalletMapper.selectOne(new QueryWrapper<ComActUserWalletDO>() |
| | | .lambda().eq(ComActUserWalletDO::getUserId,easyPhotoDO.getSponsorId()).eq(ComActUserWalletDO::getCommunityId,easyPhotoDO.getCommunityId())); |
| | | if(userWalletDO == null){ |
| | | userWalletDO = new ComActUserWalletDO(); |
| | | userWalletDO.setIncomeAmount(BigDecimal.ZERO); |
| | | userWalletDO.setAvailableAmount(BigDecimal.ZERO); |
| | | userWalletDO.setSettlementAmount(BigDecimal.ZERO); |
| | | userWalletDO.setUserId(easyPhotoDO.getSponsorId()); |
| | | userWalletDO.setCommunityId(easyPhotoDO.getCommunityId()); |
| | | userWalletDO.setEasyCount(0); |
| | | userWalletDO.setCreateAt(new Date()); |
| | | this.baseMapper.insert(userWalletDO); |
| | | } |
| | | |
| | | //计算收益 |
| | | BigDecimal profitAmount = BigDecimal.ZERO; |
| | | if(activityType.equals(ComActEasyPhotoDO.activityType.yz)){ |
| | | profitAmount = photoActivityDO.getGoodReward(); |
| | | }else if(activityType.equals(ComActEasyPhotoDO.activityType.jl)){ |
| | | profitAmount = photoActivityDO.getExcellentReward(); |
| | | }else if(activityType.equals(ComActEasyPhotoDO.activityType.pt)){ |
| | | profitAmount = photoActivityDO.getOrdinaryReward(); |
| | | } |
| | | |
| | | if(profitAmount.compareTo(BigDecimal.ZERO) == 0){ |
| | | log.error("此次参加活动的随手拍收益为0,不记录本次交易"); |
| | | return; |
| | | }else{ |
| | | //记录钱包变动前金额 |
| | | BigDecimal oldIncomeAmount = userWalletDO.getIncomeAmount(); |
| | | BigDecimal oldAvailableAmount = userWalletDO.getAvailableAmount(); |
| | | BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount(); |
| | | |
| | | //更新钱包金额 |
| | | userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(profitAmount)); |
| | | userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(profitAmount)); |
| | | comActUserWalletMapper.updateById(userWalletDO); |
| | | |
| | | //新增钱包资金交易记录 |
| | | Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId() |
| | | ,easyPhotoDO.getId(),profitAmount, ComActUserWalletTradeDO.type.fb,"发布随手拍" |
| | | ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add); |
| | | |
| | | //新增钱包资金变动记录 |
| | | comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId() |
| | | ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount() |
| | | ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId); |
| | | } |
| | | |
| | | |
| | | Date nowDate = new Date(); |
| | | //活动正在进行中,需要给用户计算收益 |
| | | if(nowDate.getTime() - photoActivityDO.getActivityStartAt().getTime() > 0 && nowDate.getTime() - photoActivityDO.getActivityEndAt().getTime() < 0){ |
| | | |
| | | //查询用户钱包 |
| | | ComActUserWalletDO userWalletDO = comActUserWalletMapper.selectOne(new QueryWrapper<ComActUserWalletDO>() |
| | | .lambda().eq(ComActUserWalletDO::getUserId,easyPhotoDO.getSponsorId()).eq(ComActUserWalletDO::getCommunityId,easyPhotoDO.getCommunityId())); |
| | | if(userWalletDO == null){ |
| | | userWalletDO = new ComActUserWalletDO(); |
| | | userWalletDO.setIncomeAmount(BigDecimal.ZERO); |
| | | userWalletDO.setAvailableAmount(BigDecimal.ZERO); |
| | | userWalletDO.setSettlementAmount(BigDecimal.ZERO); |
| | | userWalletDO.setUserId(easyPhotoDO.getSponsorId()); |
| | | userWalletDO.setCommunityId(easyPhotoDO.getCommunityId()); |
| | | userWalletDO.setEasyCount(0); |
| | | userWalletDO.setCreateAt(new Date()); |
| | | this.baseMapper.insert(userWalletDO); |
| | | } |
| | | |
| | | //计算收益 |
| | | BigDecimal profitAmount = BigDecimal.ZERO; |
| | | if(activityType.equals(ComActEasyPhotoDO.activityType.yz)){ |
| | | profitAmount = photoActivityDO.getGoodReward(); |
| | | }else if(activityType.equals(ComActEasyPhotoDO.activityType.jl)){ |
| | | profitAmount = photoActivityDO.getExcellentReward(); |
| | | }else if(activityType.equals(ComActEasyPhotoDO.activityType.pt)){ |
| | | profitAmount = photoActivityDO.getOrdinaryReward(); |
| | | } |
| | | |
| | | if(profitAmount.compareTo(BigDecimal.ZERO) == 0){ |
| | | log.error("此次参加活动的随手拍收益为0,不记录本次交易"); |
| | | return; |
| | | }else{ |
| | | //记录钱包变动前金额 |
| | | BigDecimal oldIncomeAmount = userWalletDO.getIncomeAmount(); |
| | | BigDecimal oldAvailableAmount = userWalletDO.getAvailableAmount(); |
| | | BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount(); |
| | | |
| | | //更新钱包金额 |
| | | userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(profitAmount)); |
| | | userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(profitAmount)); |
| | | comActUserWalletMapper.updateById(userWalletDO); |
| | | |
| | | //新增钱包资金交易记录 |
| | | Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId() |
| | | ,easyPhotoDO.getId(),profitAmount, ComActUserWalletTradeDO.type.fb,"发布随手拍" |
| | | ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add); |
| | | |
| | | //新增钱包资金变动记录 |
| | | comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId() |
| | | ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount() |
| | | ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId); |
| | | } |
| | | //更新随手拍活动信息 |
| | | easyPhotoDO.setActivityType(activityType); |
| | | easyPhotoDO.setActivityAmount(profitAmount); |
| | | comActEasyPhotoDAO.updateById(easyPhotoDO); |
| | | } |
| | | //更新随手拍活动信息 |
| | | easyPhotoDO.setActivityType(activityType); |
| | | easyPhotoDO.setActivityAmount(profitAmount); |
| | | comActEasyPhotoDAO.updateById(easyPhotoDO); |
| | | } |
| | | |
| | | /** |