From 44906e4e705282e6701170ffda3e5dc5a7dd4891 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 23 七月 2021 16:04:08 +0800
Subject: [PATCH] 随手拍改版接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 5 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
index 6f50b96..40d3983 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -5,12 +5,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO;
+import com.panzhihua.common.model.dtos.community.GrantRewardDTO;
 import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
 import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
 import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComActEasyPhotoCommentVO;
-import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
-import com.panzhihua.common.model.vos.community.TodoEventsVO;
+import com.panzhihua.common.model.vos.community.*;
 import com.panzhihua.common.utlis.DateUtils;
 import com.panzhihua.common.utlis.SensitiveUtil;
 import com.panzhihua.common.utlis.StringUtils;
@@ -18,11 +17,13 @@
 import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.ComActEasyPhotoService;
 import com.panzhihua.service_community.service.ComActUserWalletService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -33,6 +34,7 @@
  * @author: huang.hongfa weixin hhf9596 qq 959656820
  * @create: 2020-12-07 14:31
  **/
+@Slf4j
 @Service
 public class ComActEasyPhotoServiceImpl extends ServiceImpl<ComActEasyPhotoDAO, ComActEasyPhotoDO> implements ComActEasyPhotoService {
     @Resource
@@ -45,6 +47,8 @@
     private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ;
     @Resource
     private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper;
+    @Resource
+    private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper;
     @Resource
     private ComActUserWalletService comActUserWalletService;
     /**
@@ -79,6 +83,20 @@
                     comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                 }
                 comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone()));
+
+                if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
+                    //查询随手拍活动
+                    ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId());
+                    if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
+                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getGoodReward());
+                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
+                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getExcellentReward());
+                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
+                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getOrdinaryReward());
+                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
+                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getCommonlyReward());
+                    }
+                }
             });
             iPage.setRecords(records);
         }
@@ -213,8 +231,7 @@
                     cmActEasyPhotoDO.setStatus(4);//已完成
                 }
                 cmActEasyPhotoDO.setExamineAt(date);
-                //审核通过判断随手拍是否有活动并计算用户收益
-                comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId());
+                cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
                 break;
             case 2:
                 cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
@@ -407,5 +424,81 @@
         return R.ok(this.baseMapper.getEasyPhotoStatistics(communityId));
     }
 
+    /**
+     * 随手拍发放奖励
+     * @param grantRewardDTO    请求参数
+     * @return  发放结果
+     */
+    @Override
+    public R grantReward(GrantRewardDTO grantRewardDTO){
+
+        if(grantRewardDTO.getIds() == null){
+            return R.fail("参数错误");
+        }
+
+        for (Long id:grantRewardDTO.getIds()) {
+            //查询随手拍
+            ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(id);
+            if(easyPhotoDO != null){
+                if(easyPhotoDO.getActivityAmount() != null){
+                    log.info("该随手拍已发放过奖励,不可重复发放,随手拍id" + easyPhotoDO.getId());
+                    continue;
+                }
+                //审核通过判断随手拍是否有活动并计算用户收益
+                comActUserWalletService.examineAddMoney(easyPhotoDO.getActivityType(),easyPhotoDO.getId(),easyPhotoDO.getSponsorId(),grantRewardDTO.getAmount());
+            }
+        }
+        return R.ok();
+    }
+
+    /**
+     * 获取最新活动和用户最新收益
+     * @param userId    用户id
+     * @param communityId   社区id
+     * @return  最新活动和用户最新收益
+     */
+    @Override
+    public R getUserReward(Long userId,Long communityId){
+        //结果返回参数
+        ComActEasyPhotoRewardVO easyPhotoRewardVO = new ComActEasyPhotoRewardVO();
+        //查询随手拍活动
+        ComActEasyPhotoActivityVO photoActivityVO = new ComActEasyPhotoActivityVO();
+        Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
+        List<ComActEasyPhotoActivityDO> photoActivityDOS = comActEasyPhotoActivityMapper.selectList(
+                new QueryWrapper<ComActEasyPhotoActivityDO>().lambda().eq(ComActEasyPhotoActivityDO::getCommunityId,communityId)
+                        .eq(ComActEasyPhotoActivityDO::getStatus,ComActEasyPhotoActivityDO.status.jxz)
+                        .le(ComActEasyPhotoActivityDO::getActivityStartAt,nowDate).ge(ComActEasyPhotoActivityDO::getActivityEndAt,nowDate));
+        if(!photoActivityDOS.isEmpty()){
+            ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
+            BeanUtils.copyProperties(photoActivityDO,photoActivityVO);
+        }
+        easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO);
+
+        //查询用户未读奖励金额
+        BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId,communityId);
+        if(amount != null){
+            easyPhotoRewardVO.setAmount(amount);
+        }
+        return R.ok(easyPhotoRewardVO);
+    }
+
+    /**
+     * 读取用户随手拍奖励
+     * @param userId    用户id
+     * @return  读取结果
+     */
+    @Override
+    public R readUserReward(Long userId,Long communityId){
+        ComActEasyPhotoRewardDO easyPhotoRewardDO = comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda()
+                .eq(ComActEasyPhotoRewardDO::getUserId,userId).eq(ComActEasyPhotoRewardDO::getCommunityId,communityId)
+                .eq(ComActEasyPhotoRewardDO::getIsRead,ComActEasyPhotoRewardDO.isRead.no));
+        if(easyPhotoRewardDO != null){
+            easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.yes);
+            easyPhotoRewardDO.setUpdateAt(new Date());
+            comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO);
+        }
+        return R.ok();
+    }
+
 
 }

--
Gitblit v1.7.1