DESKTOP-71BH0QO\L、ming
2021-04-02 8555f974846ca5b4f4734f52b51e39cd4502df44
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -4,10 +4,20 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
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.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.utlis.SensitiveUtil;
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.service_community.service.ComActEasyPhotoService;
@@ -16,6 +26,7 @@
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -31,6 +42,10 @@
    private ComActEasyPhotoDAO comActEasyPhotoDAO;
    @Resource
    private ComActEasyPhotoUserDAO comActEasyPhotoUserDAO;
    @Resource
    private ComActEasyPhotoCommentDAO comActEasyPhotoCommentDAO ;
    @Resource
    private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ;
    /**
     * 分页查询随手拍
     *
@@ -62,6 +77,7 @@
                }else {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                }
                comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone()));
            });
            iPage.setRecords(records);
        }
@@ -78,7 +94,8 @@
    @Override
    public R detailEasyPhoto(Long id, Long userId) {
        ComActEasyPhotoVO comActEasyPhotoVO=comActEasyPhotoDAO.detailEasyPhoto(id);
        if (ObjectUtils.isEmpty(comActEasyPhotoVO)) {
        Integer status = comActEasyPhotoVO.getStatus();
        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));
@@ -87,6 +104,14 @@
        } else {
            comActEasyPhotoVO.setHaveGiveThumbsUp(1);
        }
        if (status.intValue()==4) {
            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
            if (null==feedbackAt) {
                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
            }
        }
        comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
        return R.ok(comActEasyPhotoVO);
    }
@@ -155,25 +180,29 @@
//        操作类型 1审核通过 2驳回  3反馈
        ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
        cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
        int isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack().intValue();
        cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
        Date date = new Date();
        switch (type){
            case 1:
                int isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack().intValue();
                if (isNeedFeedBack==1) {
                    cmActEasyPhotoDO.setStatus(2);//进行中
                    cmActEasyPhotoDO.setIsNeedFeedBack(1);
                }else{
                    cmActEasyPhotoDO.setStatus(4);//已完成
                }
                cmActEasyPhotoDO.setExamineAt(new Date());
                cmActEasyPhotoDO.setExamineAt(date);
                break;
            case 2:
                cmActEasyPhotoDO.setStatus(3);//已驳回
                cmActEasyPhotoDO.setExamineAt(new Date());
                cmActEasyPhotoDO.setExamineAt(date);
                cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
                break;
            case 3:
                cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
                cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
                cmActEasyPhotoDO.setStatus(4);//已完成
                cmActEasyPhotoDO.setFeedbackAt(new Date());
                cmActEasyPhotoDO.setFeedbackAt(date);
                break;
            default:break;
        }
@@ -183,4 +212,153 @@
        }
        return R.fail();
    }
    /**
     * 随手拍是否有待审核和带反馈的事件
     *
     * @param communityId 社区id
     * @param userId      登录用户id
     * @return 待处理事件集合
     */
    @Override
    public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) {
        List<TodoEventsVO> todoEventsVOS=comActEasyPhotoDAO.selectNeedToDo(communityId,userId);
        return todoEventsVOS;
    }
    /**
     * 小程序分页查询随手拍
     *
     * @param comActEasyPhotoVO 查询参数
     * @return 返回结果
     */
    @Override
    public R pageEasyPhotoApplets(ComActEasyPhotoVO comActEasyPhotoVO) {
        Page page = new Page<>();
        Long pageNum = comActEasyPhotoVO.getPageNum();
        Long pageSize = comActEasyPhotoVO.getPageSize();
        Long userId = comActEasyPhotoVO.getLogInUserId();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        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();
                ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
                if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
                }else {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                }
                if(status.intValue()==4&&null==feedbackAt){
                    comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
                }
            });
            iPage.setRecords(records);
        }
        return R.ok(iPage);
    }
    /**
     * 随手拍评论分页查询
     *
     * @param pageComActEasyPhotoCommentDTO 查询参数
     * @return 查询结果
     */
    @Override
    public R pageComActEasyPhotoComment(PageComActEasyPhotoCommentDTO pageComActEasyPhotoCommentDTO) {
        Page page = new Page<>();
        Long pageNum = pageComActEasyPhotoCommentDTO.getPageNum();
        Long pageSize = pageComActEasyPhotoCommentDTO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActEasyPhotoCommentVO> iPage = comActEasyPhotoCommentDAO.pageComActEasyPhotoComment(page, pageComActEasyPhotoCommentDTO);
        return R.ok(iPage);
    }
    /**
     * 评论点赞/取消点赞
     *
     * @param comActEasyPhotoCommentUserDTO 操作
     * @return 操作结果
     */
    @Override
    public R commentSign(ComActEasyPhotoCommentUserDTO comActEasyPhotoCommentUserDTO) {
        Long id = comActEasyPhotoCommentUserDTO.getId();
        if (null==id||0==id) {
            return R.fail("主键不能为空");
        }
        ComActEasyPhotoCommentDO comActEasyPhotoCommentDO = comActEasyPhotoCommentDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActEasyPhotoCommentDO)) {
            return R.fail("评论不存在");
        }
        Integer type = comActEasyPhotoCommentUserDTO.getType();
        if (null==type||type.intValue()>2||type.intValue()==0) {
            return R.fail("操作类型错误");
        }
        Long userId = comActEasyPhotoCommentUserDTO.getUserId();
        int num=0;
        if (type.intValue()==1) {
            ComActEasyPhotoCommentUserDO comActEasyPhotoCommentUserDO=new ComActEasyPhotoCommentUserDO();
            comActEasyPhotoCommentUserDO.setUserId(userId);
            comActEasyPhotoCommentUserDO.setEasyPhotoCommentId(id);
            ComActEasyPhotoCommentUserDO actEasyPhotoCommentUserDO = comActEasyPhotoCommentUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoCommentUserDO>().lambda().eq(ComActEasyPhotoCommentUserDO::getUserId, userId).eq(ComActEasyPhotoCommentUserDO::getEasyPhotoCommentId, id));
            if (!ObjectUtils.isEmpty(actEasyPhotoCommentUserDO)) {
                num=1;
            }else{
                num=comActEasyPhotoCommentUserDAO.insert(comActEasyPhotoCommentUserDO);
            }
        }else{
            num=comActEasyPhotoCommentUserDAO.delete(new QueryWrapper<ComActEasyPhotoCommentUserDO>().lambda().eq(ComActEasyPhotoCommentUserDO::getUserId,userId).eq(ComActEasyPhotoCommentUserDO::getEasyPhotoCommentId,id));
        }
        if (num>0) {
            return R.ok();
        } else {
            return R.fail();
        }
    }
    /**
     * 随手拍--评论--新增评论
     *
     * @param comActEasyPhotoCommentDTO 新增内容
     * @return 新增结果
     */
    @Override
    public R addComActEasyPhotoComment(ComActEasyPhotoCommentDTO comActEasyPhotoCommentDTO) {
        Long id = comActEasyPhotoCommentDTO.getId();
        ComActEasyPhotoDO comActEasyPhotoDO = comActEasyPhotoDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActEasyPhotoDO)) {
            return R.fail("随手拍不存在");
        }
        ComActEasyPhotoCommentDO comActEasyPhotoCommentDO=new ComActEasyPhotoCommentDO();
        comActEasyPhotoCommentDO.setComment(comActEasyPhotoCommentDTO.getComment());
        comActEasyPhotoCommentDO.setUserId(comActEasyPhotoCommentDTO.getUserId());
        comActEasyPhotoCommentDO.setEasyPhotoId(id);
        int insert = comActEasyPhotoCommentDAO.insert(comActEasyPhotoCommentDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
}