From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 72 insertions(+), 27 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 e75c4e0..2ad0c0f 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 @@ -12,13 +12,10 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.wallet.ComActWalletVO; 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.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.common.utlis.WxUtil; +import com.panzhihua.common.utlis.WxXCXTempSend; +import com.panzhihua.service_community.dao.*; +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; @@ -29,6 +26,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.Map; @@ -51,6 +49,10 @@ private ComActUserWalletTradeService comActUserWalletTradeService; @Resource private ComActUserWalletChangeService comActUserWalletChangeService; + @Resource + private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; + @Resource + private ComActActSignDAO comActActSignDAO; /** * 查询用户钱包信息 @@ -76,16 +78,18 @@ this.baseMapper.insert(userWalletDO); } BeanUtils.copyProperties(userWalletDO,comActWalletVO); - Map<String,String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId()); - if(!resultMap.isEmpty()){ + Map<String,String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId(),5); + if(resultMap != null && !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")); } - + }else{ + this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN,"收益说明",walletDetailDTO.getCommunityId(),5); + comActWalletVO.setAgreement(Constants.PROFIT_EXPLAIN); } Integer easyCount = 0; @@ -113,7 +117,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); @@ -139,6 +143,16 @@ // return; // } + //计算收益 + if(activityType.equals(ComActEasyPhotoDO.activityType.yz)){ + amount = photoActivityDO.getGoodReward(); + }else if(activityType.equals(ComActEasyPhotoDO.activityType.jl)){ + amount = photoActivityDO.getExcellentReward(); + }else if(activityType.equals(ComActEasyPhotoDO.activityType.pt)){ + amount = photoActivityDO.getOrdinaryReward(); + }else if(activityType.equals(ComActEasyPhotoDO.activityType.yb)){ + amount = photoActivityDO.getCommonlyReward(); + } // Date nowDate = new Date(); //查询用户钱包 @@ -156,17 +170,7 @@ 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){ + if(amount.compareTo(BigDecimal.ZERO) == 0){ log.error("此次参加活动的随手拍收益为0,不记录本次交易"); return; }else{ @@ -176,24 +180,65 @@ BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount(); //更新钱包金额 - userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(profitAmount)); - userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(profitAmount)); + userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(amount)); + userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(amount)); comActUserWalletMapper.updateById(userWalletDO); //新增钱包资金交易记录 Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId() - ,easyPhotoDO.getId(),profitAmount, ComActUserWalletTradeDO.type.fb,"发布随手拍" + ,easyPhotoDO.getId(),amount, ComActUserWalletTradeDO.type.fb,easyPhotoDO.getDetail() ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add); //新增钱包资金变动记录 comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId() ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount() ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId); + + //查询用户未读奖励金额 + 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{ + easyPhotoRewardDO.setAmount(easyPhotoRewardDO.getAmount().add(amount)); + easyPhotoRewardDO.setUpdateAt(new Date()); + comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO); + } } //更新随手拍活动信息 easyPhotoDO.setActivityType(activityType); - easyPhotoDO.setActivityAmount(profitAmount); + easyPhotoDO.setActivityAmount(amount); comActEasyPhotoDAO.updateById(easyPhotoDO); + + String activityTypeName = ""; + if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){ + activityTypeName = "优质"; + }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){ + activityTypeName = "精良"; + }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){ + activityTypeName = "普通"; + }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){ + activityTypeName = "一般"; + } + //发放奖励以后给用户推送消息 + Map<String,String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId()); + if(map != null){ + String openid = map.get("openid"); + WxXCXTempSend util = new WxXCXTempSend(); + try { + WxUtil.sendSubscribeJLDZ(openid,util.getAppAccessToken(),"随手拍有奖活动",amount.setScale(2, RoundingMode.HALF_UP),activityTypeName); + }catch (Exception e){ + log.error("消息推送失败,失败原因:" + e.getMessage()); + } + } } /** -- Gitblit v1.7.1