From 29c3367d8c8f9777bde6a86fa26c86d19a35bc07 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期四, 19 八月 2021 15:18:25 +0800
Subject: [PATCH] Merge branch 'zzj' of http://182.151.2.19:9380/root/zhihuishequ into zzj
---
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