From cc1098fc00a50cb1591d182f04bc37066ff0a9e2 Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期四, 05 八月 2021 15:12:39 +0800 Subject: [PATCH] Merge branch 'test' into 'master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java | 144 +++++++++++++++++++++++++---------------------- 1 files changed, 76 insertions(+), 68 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java index 3b552a4..579f159 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java @@ -14,11 +14,9 @@ import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActEasyPhotoActivityMapper; import com.panzhihua.service_community.dao.ComActEasyPhotoDAO; +import com.panzhihua.service_community.dao.ComActEasyPhotoRewardMapper; import com.panzhihua.service_community.dao.ComActUserWalletMapper; -import com.panzhihua.service_community.model.dos.ComActEasyPhotoActivityDO; -import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO; -import com.panzhihua.service_community.model.dos.ComActUserWalletDO; -import com.panzhihua.service_community.model.dos.ComActUserWalletTradeDO; +import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActUserWalletChangeService; import com.panzhihua.service_community.service.ComActUserWalletService; import com.panzhihua.service_community.service.ComActUserWalletTradeService; @@ -51,6 +49,8 @@ private ComActUserWalletTradeService comActUserWalletTradeService; @Resource private ComActUserWalletChangeService comActUserWalletChangeService; + @Resource + private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; /** * 查询用户钱包信息 @@ -76,13 +76,16 @@ this.baseMapper.insert(userWalletDO); } BeanUtils.copyProperties(userWalletDO,comActWalletVO); - Map<String,String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId()); + Map<String,String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId(),5); if(!resultMap.isEmpty()){ comActWalletVO.setCommunityName(resultMap.get("name")); if(StringUtils.isEmpty(resultMap.get("content"))){ - this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN,walletDetailDTO.getCommunityId()); + this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN,"收益说明",walletDetailDTO.getCommunityId(),5); + comActWalletVO.setAgreement(Constants.PROFIT_EXPLAIN); + }else{ + comActWalletVO.setAgreement(resultMap.get("content")); } - comActWalletVO.setAgreement(Constants.PROFIT_EXPLAIN); + } Integer easyCount = 0; @@ -110,7 +113,7 @@ * @param easyPhotoId 随手拍id */ @Override - public void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId){ + public void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId,BigDecimal amount){ //查询随手拍信息 ComActEasyPhotoDO easyPhotoDO = comActEasyPhotoDAO.selectById(easyPhotoId); @@ -125,76 +128,81 @@ } //查询随手拍活动 - ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId()); - if(photoActivityDO == null){ - log.error("给用户添加收益失败,原因:未查到活动记录,活动id:" + easyPhotoDO.getActivityId()); - return; +// ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId()); +// if(photoActivityDO == null){ +// log.error("给用户添加收益失败,原因:未查到活动记录,活动id:" + easyPhotoDO.getActivityId()); +// return; +// } + +// 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); } - if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){ - log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId()); + if(amount.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(amount)); + userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(amount)); + comActUserWalletMapper.updateById(userWalletDO); - Date nowDate = new Date(); - //活动正在进行中,需要给用户计算收益 - if(nowDate.getTime() - photoActivityDO.getActivityStartAt().getTime() > 0 && nowDate.getTime() - photoActivityDO.getActivityEndAt().getTime() < 0){ + //新增钱包资金交易记录 + Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId() + ,easyPhotoDO.getId(),amount, ComActUserWalletTradeDO.type.fb,"发布随手拍" + ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add); - //查询用户钱包 - 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); - } + //新增钱包资金变动记录 + comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId() + ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount() + ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId); - //计算收益 - 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; + //查询用户未读奖励金额 + ComActEasyPhotoRewardDO easyPhotoRewardDO = comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda() + .eq(ComActEasyPhotoRewardDO::getCommunityId,easyPhotoDO.getCommunityId()) + .eq(ComActEasyPhotoRewardDO::getUserId,easyPhotoDO.getSponsorId()) + .eq(ComActEasyPhotoRewardDO::getIsRead,ComActEasyPhotoRewardDO.isRead.no)); + if(easyPhotoRewardDO == null){ + easyPhotoRewardDO = new ComActEasyPhotoRewardDO(); + easyPhotoRewardDO.setCommunityId(easyPhotoDO.getCommunityId()); + easyPhotoRewardDO.setUserId(easyPhotoDO.getSponsorId()); + easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.no); + easyPhotoRewardDO.setCreateAt(new Date()); + easyPhotoRewardDO.setAmount(amount); + comActEasyPhotoRewardMapper.insert(easyPhotoRewardDO); }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); + easyPhotoRewardDO.setAmount(easyPhotoRewardDO.getAmount().add(amount)); + easyPhotoRewardDO.setUpdateAt(new Date()); + comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO); } - //更新随手拍活动信息 - easyPhotoDO.setActivityType(activityType); - easyPhotoDO.setActivityAmount(profitAmount); - comActEasyPhotoDAO.updateById(easyPhotoDO); } + //更新随手拍活动信息 + easyPhotoDO.setActivityType(activityType); + easyPhotoDO.setActivityAmount(amount); + comActEasyPhotoDAO.updateById(easyPhotoDO); } /** -- Gitblit v1.7.1