huanghongfa
2021-08-21 2e64c232ab6b51b2cecf1ee96e1e9b709234f326
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
@@ -1,16 +1,22 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.bigscreen.work.ScreenMicroListDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.common.model.vos.community.screen.work.MicroListVO;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.service_community.dao.ComActMicroWishDAO;
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
import com.panzhihua.service_community.service.ComActMicroWishService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
@@ -25,6 +31,7 @@
 * @create: 2020-12-07 14:34
 **/
@Service
@Slf4j
public class ComActMicroWishServiceImpl extends ServiceImpl<ComActMicroWishDAO, ComActMicroWishDO> implements ComActMicroWishService {
    @Resource
    private ComActMicroWishDAO comActMicroWishDAO;
@@ -52,16 +59,21 @@
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWish(page, comActMicroWishVO);
        List<ComActMicroWishVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMicroWishVO1 -> {
                Long id = comActMicroWishVO1.getId();
                ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id).eq(ComActMicroWishUserDO::getUserId, userId));
                if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                    comActMicroWishVO1.setHaveGiveThumbsUp(0);
                } else {
                    comActMicroWishVO1.setHaveGiveThumbsUp(1);
                if(userId != null){
                    Long id = comActMicroWishVO1.getId();
                    ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
                            .eq(ComActMicroWishUserDO::getUserId, userId));
                    if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                        comActMicroWishVO1.setHaveGiveThumbsUp(0);
                    } else {
                        comActMicroWishVO1.setHaveGiveThumbsUp(1);
                    }
                }
                comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
            });
            iPage.setRecords(records);
        }
@@ -78,6 +90,9 @@
    @Override
    public R detailMicroWish(Long id, Long userId) {
        ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
            return R.fail("微心愿不存在");
        }
        Integer starNum = comActMicroWishVO.getStarNum();
        if (null==starNum) {
            comActMicroWishVO.setStarNum(0);
@@ -85,12 +100,15 @@
        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
            return R.fail("心愿不存在");
        }
        ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
        if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
            comActMicroWishVO.setHaveGiveThumbsUp(0);
        }else {
            comActMicroWishVO.setHaveGiveThumbsUp(1);
        if(userId != null){
            ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
            if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                comActMicroWishVO.setHaveGiveThumbsUp(0);
            }else {
                comActMicroWishVO.setHaveGiveThumbsUp(1);
            }
        }
        comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
        return R.ok(comActMicroWishVO);
    }
@@ -103,44 +121,47 @@
    @Override
    public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
        Long id = comActMicroWishVO.getId();
        Integer type = comActMicroWishVO.getType();
        if (ObjectUtils.isEmpty(type)||type>5||type<1) {
            return R.fail("操作类型不对");
        }
        int type = comActMicroWishVO.getType().intValue();
        String rejectReason = comActMicroWishVO.getRejectReason();
        Long responsibleId = comActMicroWishVO.getResponsibleId();
        String feedback = comActMicroWishVO.getFeedback();
        String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList();
        ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
        comActMicroWishDO.setId(id);
        Date date = new Date();
//        1 审核通过 2驳回 3分配人员 4发起活动 5反馈
        switch (type){
            case 1:
                comActMicroWishDO.setExamineAt(new Date());
                comActMicroWishDO.setExamineAt(date);
                comActMicroWishDO.setStatus(2);//待分配
                break;
            case 2:
                comActMicroWishDO.setExamineAt(new Date());
                comActMicroWishDO.setExamineAt(date);
                comActMicroWishDO.setRejectReason(rejectReason);
                comActMicroWishDO.setStatus(4);//驳回
                break;
            case 3:
                comActMicroWishDO.setDistributionAt(new Date());
                comActMicroWishDO.setDistributionAt(date);
                comActMicroWishDO.setResponsibleId(responsibleId);
                comActMicroWishDO.setStatus(3);//进行中
                comActMicroWishDO.setForm(1);
                break;
            case 4:
                comActMicroWishDO.setDistributionAt(new Date());
                comActMicroWishDO.setDistributionAt(date);
                comActMicroWishDO.setResponsibleId(responsibleId);
                comActMicroWishDO.setStatus(3);//进行中
                comActMicroWishDO.setStatus(3);//待确认
                comActMicroWishDO.setForm(2);
//                todo 给负责人增加一个待办事件
                break;
            case 5:
                comActMicroWishDO.setFeedbackAt(new Date());
                if(comActMicroWishVO.getFeedback().length() > 200){
                    return R.fail("反馈字数不得超过200字");
                }
                comActMicroWishDO.setFeedbackAt(date);
                comActMicroWishDO.setStatus(5);//待确认
                comActMicroWishDO.setFeedback(feedback);
                comActMicroWishDO.setFinish(feedback);
                comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList);
                comActMicroWishDO.setFinishAt(date);
                comActMicroWishDO.setFeedbackPhotoPathList(feedbackPhotoPathList);
                break;
            default:
@@ -207,7 +228,7 @@
        }
        ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
        comActMicroWishDO.setId(comActMicroWishVO.getId());
        comActMicroWishDO.setExamineAt(comActMicroWishVO.getExamineAt());
        comActMicroWishDO.setEvaluateAt(comActMicroWishVO.getEvaluateAt());
        comActMicroWishDO.setStatus(comActMicroWishVO.getStatus());
        comActMicroWishDO.setScore(comActMicroWishVO.getScore());
        comActMicroWishDO.setEvaluate(comActMicroWishVO.getEvaluate());
@@ -218,7 +239,47 @@
        return R.fail();
    }
    /**
     * 社区首页代办事件集合
     *
     * @param communityId 社区id
     * @param userId      登录用户
     * @return 代办事件集合
     */
    @Override
    public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) {
        List<TodoEventsVO> todoEventsVOS=comActMicroWishDAO.selectNeedToDo(communityId,userId);
        return todoEventsVOS;
    }
    @Override
    public R deleteMicroWish(Long id) {
        ComActMicroWishDO comActMicroWishDO = comActMicroWishDAO.selectById(id);
        if(comActMicroWishDO==null){
            return R.fail("id有误!");
        }
        comActMicroWishDAO.deleteById(id);
        comActMicroWishUserDAO.delete(new LambdaQueryWrapper<ComActMicroWishUserDO>().eq(ComActMicroWishUserDO::getMicroWishId,id));
        return R.ok();
    }
    @Override
    public R timedTaskActMicroWishAll() {
        int num=comActMicroWishDAO.updateStatusAutoConfirm();
        log.info("定时任务--修改待自动确认微心愿状态数量【{}】",num);
        return R.ok();
    }
    @Override
    public R getScreenMicroList(ScreenMicroListDTO microListDTO){
        IPage<MicroListVO> microListVOIPage = comActMicroWishDAO.getScreenMicroList(new Page(microListDTO.getPageNum(),microListDTO.getPageSize()),microListDTO);
        if(!microListVOIPage.getRecords().isEmpty()){
            microListVOIPage.getRecords().forEach(microListVO -> {
                Integer count = comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda()
                        .eq(ComActMicroWishUserDO::getMicroWishId,microListVO.getId()));
                microListVO.setStarNum(count);
            });
        }
        return R.ok(microListVOIPage);
    }
}