From cbf825f4e63e77241a11ec90841637991e43940f Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期六, 24 七月 2021 18:11:28 +0800
Subject: [PATCH] Merge branch 'test' into 'master'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 112 insertions(+), 6 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..5203441 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,22 @@
                     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() != null){
+                        if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
+                            comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward());
+                        }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
+                            comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward());
+                        }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
+                            comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward());
+                        }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
+                            comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward());
+                        }
+                    }
+                }
             });
             iPage.setRecords(records);
         }
@@ -115,6 +135,15 @@
         comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
         if(comActEasyPhotoVO.getAddrRemark()==null){
             comActEasyPhotoVO.setAddrRemark("");
+        }
+
+        if(comActEasyPhotoVO.getActivityId() != null){
+            ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO.getActivityId());
+            if(photoActivityDO != null){
+                ComActEasyPhotoActivityVO easyPhotoActivityVO = new ComActEasyPhotoActivityVO();
+                BeanUtils.copyProperties(photoActivityDO,easyPhotoActivityVO);
+                comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO);
+            }
         }
         return R.ok(comActEasyPhotoVO);
     }
@@ -196,7 +225,6 @@
 //        操作类型 1审核通过 2驳回  3反馈
         ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
         cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
-        cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
 //        cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
         Date date = new Date();
         switch (type){
@@ -212,15 +240,16 @@
                 }else{
                     cmActEasyPhotoDO.setStatus(4);//已完成
                 }
+                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                 cmActEasyPhotoDO.setExamineAt(date);
-                //审核通过判断随手拍是否有活动并计算用户收益
-                comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId());
+                cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
                 break;
             case 2:
                 cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                 if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
                     return R.fail("该随手拍已审核,不可重复操作");
                 }
+                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                 cmActEasyPhotoDO.setStatus(3);//已驳回
                 cmActEasyPhotoDO.setExamineAt(date);
                 cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
@@ -230,6 +259,7 @@
                 if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){
                     return R.fail("该随手拍不是待反馈状态,不可进行反馈");
                 }
+                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                 cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
                 cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
                 cmActEasyPhotoDO.setStatus(4);//已完成
@@ -407,5 +437,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