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/ComActEasyPhotoServiceImpl.java |  441 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 382 insertions(+), 59 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 f325c99..330098f 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,26 +5,30 @@
 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.dtos.community.easyPhoto.ExportEasyPhotoDTO;
 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.utlis.DateUtils;
-import com.panzhihua.common.utlis.SensitiveUtil;
-import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.model.vos.community.easyPhoto.ExportEasyPhotoVO;
+import com.panzhihua.common.utlis.*;
 import com.panzhihua.service_community.dao.*;
 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.CollectionUtils;
 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;
+import java.util.Map;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -32,6 +36,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
@@ -44,6 +49,16 @@
     private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ;
     @Resource
     private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper;
+    @Resource
+    private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper;
+    @Resource
+    private ComActUserWalletService comActUserWalletService;
+    @Resource
+    private ComActActSignDAO comActActSignDAO;
+    @Resource
+    private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper;
+    @Resource
+    private ComActQuestnaireDAO comActQuestnaireDAO;
     /**
      * 分页查询随手拍
      *
@@ -64,7 +79,7 @@
         }
         page.setSize(pageSize);
         page.setCurrent(pageNum);
-        IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhoto(page, comActEasyPhotoVO);
+        IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdmin(page, comActEasyPhotoVO);
         List<ComActEasyPhotoVO> records = iPage.getRecords();
         if (!ObjectUtils.isEmpty(records)) {
             records.forEach(comActEasyPhotoVO1 -> {
@@ -75,7 +90,26 @@
                 }else {
                     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(photoActivityDO != null){
+                        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());
+                            }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.wu)){
+                                comActEasyPhotoVO1.setActivityMoney(BigDecimal.ZERO);
+                            }
+                        }
+                    }
+                }
             });
             iPage.setRecords(records);
         }
@@ -96,22 +130,40 @@
         if (ObjectUtils.isEmpty(comActEasyPhotoVO)||null== status) {
             return R.fail("随手拍不存在");
         }
-        ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
-        if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
-            comActEasyPhotoVO.setHaveGiveThumbsUp(0);
-        } else {
-            comActEasyPhotoVO.setHaveGiveThumbsUp(1);
-        }
-
-        if (status.intValue()==4) {
-            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
-            if (null==feedbackAt) {
-                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
+        if(!userId.equals(0L)){
+            ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
+            if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
+                comActEasyPhotoVO.setHaveGiveThumbsUp(0);
+            } else {
+                comActEasyPhotoVO.setHaveGiveThumbsUp(1);
             }
         }
-        comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
+
+//        if (status.equals(4)) {
+//            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
+//            if (null==feedbackAt) {
+//                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
+//            }
+//        }
+
+        //查询反馈信息
+        List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id);
+        if(!photoFeedbackList.isEmpty()){
+            comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList);
+        }
+
+//        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);
     }
@@ -130,10 +182,13 @@
         Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
         List<ComActEasyPhotoActivityDO> photoActivityDOS = comActEasyPhotoActivityMapper.selectList(
                 new QueryWrapper<ComActEasyPhotoActivityDO>().lambda().eq(ComActEasyPhotoActivityDO::getCommunityId,comActEasyPhotoVO.getCommunityId())
-                        .le(ComActEasyPhotoActivityDO::getActivityStartAt,nowDate).ge(ComActEasyPhotoActivityDO::getActivityEndAt,nowDate));
+                        .le(ComActEasyPhotoActivityDO::getActivityStartAt,nowDate).ge(ComActEasyPhotoActivityDO::getActivityEndAt,nowDate)
+                        .eq(ComActEasyPhotoActivityDO::getStatus,ComActEasyPhotoActivityDO.status.jxz));
         if(!photoActivityDOS.isEmpty()){
             ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
+            photoActivityDO.setCount(photoActivityDO.getCount() + 1);
             comActEasyPhotoDO.setActivityId(photoActivityDO.getId());
+            comActEasyPhotoActivityMapper.updateById(photoActivityDO);
         }
         int insert = comActEasyPhotoDAO.insert(comActEasyPhotoDO);
         if (insert>0) {
@@ -187,37 +242,99 @@
     @Override
     public R putEasypHotoStatus(ComActEasyPhotoVO comActEasyPhotoVO) {
         Integer type = comActEasyPhotoVO.getType();
-//        操作类型 1审核通过 2驳回  3反馈
-        ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
-        cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
-        cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
-        Date date = new Date();
+        comActEasyPhotoVO.setIsNeedFeedBack(1);
+        Date nowDate = new Date();
+//        操作类型 1审核通过 2驳回  3反馈 4完成随手拍
+        ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
+        if(cmActEasyPhotoDO == null){
+            return R.fail("未查询到随手拍记录");
+        }
         switch (type){
             case 1:
-                int isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack().intValue();
-                if (isNeedFeedBack==1) {
-                    cmActEasyPhotoDO.setStatus(2);//进行中
-                    cmActEasyPhotoDO.setIsNeedFeedBack(1);
-                }else{
-                    cmActEasyPhotoDO.setStatus(4);//已完成
+                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
+                    return R.fail("该随手拍已处理,不可重复操作");
                 }
-                cmActEasyPhotoDO.setExamineAt(date);
+                cmActEasyPhotoDO.setStatus(2);//进行中
+                cmActEasyPhotoDO.setIsNeedFeedBack(1);
+                cmActEasyPhotoDO.setIsPublicity(comActEasyPhotoVO.getIsPublicity());
+                if(comActEasyPhotoVO.getIsReportUrban().equals(ComActEasyPhotoVO.isReportUrban.yes)){
+                    cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.yes);
+                    cmActEasyPhotoDO.setTransferReason(comActEasyPhotoVO.getTransferReason());
+                    cmActEasyPhotoDO.setTransferTime(nowDate);
+                }else{
+                    cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no);
+                    cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getHandlerId());
+                }
+                cmActEasyPhotoDO.setExamineAt(nowDate);
+                cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
+                if(StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) || StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())){
+                    //说明此处有反馈,需要给随手拍新增反馈信息
+                    ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
+                    photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
+                    photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
+                    photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
+                    photoFeedbackDO.setCreateAt(nowDate);
+                    photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
+                    comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
+                }
+                //审核通过判断随手拍是否有活动并计算用户收益
+                comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO);
                 break;
             case 2:
-                cmActEasyPhotoDO.setStatus(3);//已驳回
-                cmActEasyPhotoDO.setExamineAt(date);
-                cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
+//                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
+//                    return R.fail("该随手拍已处理,不可重复操作");
+//                }
+//                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
+//                cmActEasyPhotoDO.setStatus(3);//已驳回
+//                cmActEasyPhotoDO.setExamineAt(nowDate);
+//                cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
                 break;
             case 3:
-                cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
-                cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
-                cmActEasyPhotoDO.setStatus(4);//已完成
-                cmActEasyPhotoDO.setFeedbackAt(date);
+                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){
+                    return R.fail("该随手拍不是进行中状态,不可进行反馈");
+                }
+                //给随手拍新增反馈信息
+                ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
+                photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
+                photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
+                photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
+                photoFeedbackDO.setCreateAt(nowDate);
+                photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
+                comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
+                break;
+            case 4:
+                if(cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
+                    return R.fail("该随手拍已完成,不可重复操作");
+                }
+                if(StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) || StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())){
+                    //说明此处有反馈,需要给随手拍新增反馈信息
+                    ComActEasyPhotoFeedbackDO photoFeedback = new ComActEasyPhotoFeedbackDO();
+                    photoFeedback.setEasyId(comActEasyPhotoVO.getId());
+                    photoFeedback.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
+                    photoFeedback.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
+                    photoFeedback.setCreateAt(nowDate);
+                    photoFeedback.setCreateBy(comActEasyPhotoVO.getUserId());
+                    comActEasyPhotoFeedbackMapper.insert(photoFeedback);
+                }
+//                if(cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
+//                    cmActEasyPhotoDO.setExamineAt(nowDate);
+//                    cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
+//                    cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
+//                    //审核通过判断随手拍是否有活动并计算用户收益
+//                    comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO);
+//                }
+                cmActEasyPhotoDO.setFeedbackAt(nowDate);
+                cmActEasyPhotoDO.setStatus(ComActEasyPhotoDO.status.ywc);
+                cmActEasyPhotoDO.setCompleteId(comActEasyPhotoVO.getUserId());
                 break;
             default:break;
         }
-        int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO);
-        if (update>0) {
+        if(!type.equals(3)){
+            int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO);
+            if (update>0) {
+                return R.ok();
+            }
+        }else{
             return R.ok();
         }
         return R.fail();
@@ -258,23 +375,25 @@
         page.setCurrent(pageNum);
         IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoApplets(page, comActEasyPhotoVO);
         List<ComActEasyPhotoVO> records = iPage.getRecords();
-        if (!ObjectUtils.isEmpty(records)) {
-            records.forEach(comActEasyPhotoVO1 -> {
-                Long id = comActEasyPhotoVO1.getId();
-                Integer status = comActEasyPhotoVO1.getStatus();
-                Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
-                List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO =
-                        comActEasyPhotoUserDAO.selectList(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
-                if (comActEasyPhotoUserDO==null||comActEasyPhotoUserDO.size()==0) {
-                    comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
-                }else {
-                    comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
-                }
-                if(status.intValue()==4&&null==feedbackAt){
-                    comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
-                }
-            });
-            iPage.setRecords(records);
+        if(userId != null){
+            if (!ObjectUtils.isEmpty(records)) {
+                records.forEach(comActEasyPhotoVO1 -> {
+                    Long id = comActEasyPhotoVO1.getId();
+                    Integer status = comActEasyPhotoVO1.getStatus();
+                    Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
+                    List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO =
+                            comActEasyPhotoUserDAO.selectList(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
+                    if (comActEasyPhotoUserDO==null||comActEasyPhotoUserDO.size()==0) {
+                        comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
+                    }else {
+                        comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
+                    }
+                    if(status.intValue()==4&&null==feedbackAt){
+                        comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
+                    }
+                });
+                iPage.setRecords(records);
+            }
         }
         return R.ok(iPage);
     }
@@ -376,7 +495,211 @@
         return R.fail();
     }
 
+    /**
+     * 社区随手拍列表统计
+     * @param communityId   社区id
+     * @return  统计结果
+     */
+    @Override
+    public R easyPhotoStatistics(Long communityId){
+        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());
+
+                String activityType = "";
+                if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
+                    activityType = "优质";
+                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
+                    activityType = "精良";
+                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
+                    activityType = "普通";
+                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
+                    activityType = "一般";
+                }
+                //发放奖励以后给用户推送消息
+                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(),"随手拍有奖活动",grantRewardDTO.getAmount(),activityType);
+                    }catch (Exception e){
+                        log.error("消息推送失败,失败原因:" + e.getMessage());
+                    }
+                }
+            }
+        }
+        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);
+        }
+
+        if(userId != null && userId != 0L){
+            //查询用户未读奖励金额
+            BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId,communityId);
+            if(amount != null){
+                easyPhotoRewardVO.setAmount(amount);
+            }
+        }
+
+        //查询当前社区正在进行中的弹窗调查问卷
+        ComActQuestnaireDO popupQuestnaireDO = comActQuestnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda()
+                .le(ComActQuestnaireDO::getStartTime,nowDate).ge(ComActQuestnaireDO::getEndTime,nowDate)
+                .eq(ComActQuestnaireDO::getCommunityId,communityId).eq(ComActQuestnaireDO::getState,2)
+                .eq(ComActQuestnaireDO::getAdverPositionPopup,ComActQuestnaireDO.isOk.yes));
+        if(popupQuestnaireDO != null){
+            ComActQuestnaireAppVO popupQuestnaireVO = new ComActQuestnaireAppVO();
+            BeanUtils.copyProperties(popupQuestnaireDO,popupQuestnaireVO);
+            if(userId != null){
+                if(popupQuestnaireDO.getIsForce().equals(ComActQuestnaireDO.isOk.no)){
+                    //查询用户是否已点击不再提醒
+                    Integer count = comActQuestnaireDAO.getNoRemindCount(userId,popupQuestnaireVO.getId());
+                    if(count <= 0){
+                        popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
+                    }
+                }else{
+                    popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
+                }
+            }
+            easyPhotoRewardVO.setPopupQuestnaireVO(popupQuestnaireVO);
+        }
+
+        //查询社区正在进行中的banner位置调查问卷列表
+        List<ComActQuestnaireAppVO> bannerQuestnaireList = comActQuestnaireDAO.getIndexTopQuestnaireList(communityId);
+        if(!bannerQuestnaireList.isEmpty()){
+            easyPhotoRewardVO.setBannerQuestnaireList(bannerQuestnaireList);
+        }
+
+        //查询社区正在进行中的应用位置调查问卷列表
+        List<ComActQuestnaireAppVO> applicationQuestnaireList = comActQuestnaireDAO.getIndexApplicationQuestnaireList(communityId);
+        if(!applicationQuestnaireList.isEmpty()){
+            easyPhotoRewardVO.setApplicationQuestnaireList(applicationQuestnaireList);
+        }
+
+        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();
+    }
+
+    @Override
+    public R easyPhotoCount(ComActEasyPhotoVO comActEasyPhotoVO) {
+        return R.ok(this.comActEasyPhotoDAO.easyPhotoCount(comActEasyPhotoVO));
+    }
+
+    @Override
+    public R updatePageeasyphoto(ComActEasyPhotoVO comActEasyPhotoVO) {
+        ComActEasyPhotoDO comActEasyPhotoDO=new ComActEasyPhotoDO();
+        BeanUtils.copyProperties(comActEasyPhotoVO,comActEasyPhotoDO);
+        int result=this.comActEasyPhotoDAO.updateById(comActEasyPhotoDO);
+        if(result>0){
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R export(ExportEasyPhotoDTO exportEasyPhotoDTO) {
+        if(exportEasyPhotoDTO!=null){
+            List<ExportEasyPhotoVO> list;
+            if(!CollectionUtils.isEmpty(exportEasyPhotoDTO.getIds())){
+                list=this.comActEasyPhotoDAO.exportByIds(exportEasyPhotoDTO.getIds());
+            }
+            else {
+                list=this.comActEasyPhotoDAO.export(exportEasyPhotoDTO);
+            }
+            return R.ok(list);
+        }
+        return R.fail("参数错误");
+    }
+
+    /**
+     * 社区后台-切换随手拍公示状态
+     * @param comActEasyPhotoVO 请求参数
+     * @return  切换结果
+     */
+    @Override
+    public R easyPhotoSwitchPublicity(ComActEasyPhotoVO comActEasyPhotoVO){
+        //查询随手拍
+        ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(comActEasyPhotoVO.getId());
+        if(easyPhotoDO == null){
+            return R.fail("未查询到随手拍记录");
+        }
+        easyPhotoDO.setIsPublicity(comActEasyPhotoVO.getIsPublicity());
+        if(this.baseMapper.updateById(easyPhotoDO) > 0){
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+    }
+
+    /**
+     * 查询社区待处理随手拍id集合
+     * @param communityId   社区id
+     * @return  社区待处理随手拍id集合
+     */
+    @Override
+    public R easyPhotoNoHandleList(Long communityId){
+        return R.ok(this.baseMapper.easyPhotoNoHandleIds(communityId));
+    }
 
 
 }

--
Gitblit v1.7.1