huanghongfa
2021-08-23 508dd8dde98b7da379e56a819d1cb8d78b98a110
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -8,8 +8,10 @@
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.*;
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.*;
@@ -18,6 +20,7 @@
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;
@@ -53,6 +56,8 @@
    @Resource
    private ComActActSignDAO comActActSignDAO;
    @Resource
    private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper;
    @Resource
    private ComActQuestnaireDAO comActQuestnaireDAO;
    /**
     * 分页查询随手拍
@@ -74,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 -> {
@@ -85,7 +90,6 @@
                }else {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                }
                comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone()));
                if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
                    //查询随手拍活动
@@ -100,6 +104,8 @@
                                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);
                            }
                        }
                    }
@@ -133,13 +139,20 @@
            }
        }
        if (status.intValue()==4) {
            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
            if (null==feedbackAt) {
                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
            }
//        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()));
//        comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
        if(comActEasyPhotoVO.getAddrRemark()==null){
            comActEasyPhotoVO.setAddrRemark("");
        }
@@ -229,53 +242,99 @@
    @Override
    public R putEasypHotoStatus(ComActEasyPhotoVO comActEasyPhotoVO) {
        Integer type = comActEasyPhotoVO.getType();
//        操作类型 1审核通过 2驳回  3反馈
        ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
        cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
//        cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
        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:
                cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
                    return R.fail("该随手拍已审核,不可重复操作");
                    return R.fail("该随手拍已处理,不可重复操作");
                }
                Integer isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack();
                if (isNeedFeedBack==1) {
                    cmActEasyPhotoDO.setStatus(2);//进行中
                    cmActEasyPhotoDO.setIsNeedFeedBack(1);
                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.setStatus(4);//已完成
                    cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no);
                    cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getHandlerId());
                }
                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                cmActEasyPhotoDO.setExamineAt(date);
                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 = 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());
//                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 = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){
                    return R.fail("该随手拍不是待反馈状态,不可进行反馈");
                    return R.fail("该随手拍不是进行中状态,不可进行反馈");
                }
                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
                cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
                cmActEasyPhotoDO.setStatus(4);//已完成
                cmActEasyPhotoDO.setFeedbackAt(date);
                //给随手拍新增反馈信息
                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();
@@ -581,5 +640,66 @@
        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));
    }
}