huanghongfa
2021-08-23 508dd8dde98b7da379e56a819d1cb8d78b98a110
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -5,31 +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.SensitiveUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComActEasyPhotoCommentDAO;
import com.panzhihua.service_community.dao.ComActEasyPhotoCommentUserDAO;
import com.panzhihua.service_community.dao.ComActEasyPhotoDAO;
import com.panzhihua.service_community.dao.ComActEasyPhotoUserDAO;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoCommentDO;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoCommentUserDO;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoUserDO;
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
@@ -37,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
@@ -47,6 +47,18 @@
    private ComActEasyPhotoCommentDAO comActEasyPhotoCommentDAO ;
    @Resource
    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;
    /**
     * 分页查询随手拍
     *
@@ -67,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 -> {
@@ -78,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);
        }
@@ -99,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);
    }
@@ -129,6 +178,18 @@
    public R addEasyPhoto(ComActEasyPhotoVO comActEasyPhotoVO) {
        ComActEasyPhotoDO comActEasyPhotoDO=new ComActEasyPhotoDO();
        BeanUtils.copyProperties(comActEasyPhotoVO,comActEasyPhotoDO);
        //查询是否在活动时间内
        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)
                        .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) {
            return R.ok();
@@ -181,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();
@@ -252,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);
    }
@@ -370,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));
    }
}