huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,20 +8,28 @@
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.ComActMicroWishFeedbackVO;
import com.panzhihua.common.model.vos.community.ComActMicroWishOperationRecordVO;
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.ComActMicroWishFeedbackMapper;
import com.panzhihua.service_community.dao.ComActMicroWishOperationRecordMapper;
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishFeedbackDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishOperationRecordDO;
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.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -37,7 +46,10 @@
    private ComActMicroWishDAO comActMicroWishDAO;
    @Resource
    private ComActMicroWishUserDAO comActMicroWishUserDAO;
    @Resource
    private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper;
    @Resource
    private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
    /**
     * 分页查询微心愿
     *
@@ -108,7 +120,24 @@
                comActMicroWishVO.setHaveGiveThumbsUp(1);
            }
        }
        //查询反馈列表
        if(comActMicroWishVO.getStatus()==5||comActMicroWishVO.getStatus()==6){
            List<ComActMicroWishFeedbackVO> list=comActMicroWishFeedbackMapper.selectByWishId(id);
            if(!list.isEmpty()){
                comActMicroWishVO.setFeedbackVOList(list);
            }
        }
        //查询操作记录
        List<ComActMicroWishOperationRecordVO> list=comActMicroWishOperationRecordMapper.getByWishId(id);
        if(!list.isEmpty()){
            comActMicroWishVO.setOperationRecordVOList(list);
        }
        comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
        //查询同类型id数组
        List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
        if(!idList.isEmpty()){
            comActMicroWishVO.setIdList(idList);
        }
        return R.ok(comActMicroWishVO);
    }
@@ -119,6 +148,7 @@
     * @return 操作结果
     */
    @Override
    @Transactional
    public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
        Long id = comActMicroWishVO.getId();
        int type = comActMicroWishVO.getType().intValue();
@@ -129,16 +159,27 @@
        ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
        comActMicroWishDO.setId(id);
        Date date = new Date();
        ComActMicroWishOperationRecordDO comActMicroWishOperationRecordDO=new ComActMicroWishOperationRecordDO();
        comActMicroWishOperationRecordDO.setCreateTime(date);
        comActMicroWishOperationRecordDO.setUserId(comActMicroWishVO.getUserId());
        comActMicroWishOperationRecordDO.setWishId(comActMicroWishVO.getId());
//        1 审核通过 2驳回 3分配人员 4发起活动 5反馈
        switch (type){
            case 1:
                comActMicroWishDO.setExamineAt(date);
                comActMicroWishDO.setStatus(2);//待分配
                comActMicroWishDO.setAimNum(comActMicroWishVO.getAimNum());
                comActMicroWishDO.setStatus(7);//集心中
                comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.sh);
                comActMicroWishOperationRecordDO.setContent("审核通过");
                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                break;
            case 2:
                comActMicroWishDO.setExamineAt(date);
                comActMicroWishDO.setRejectReason(rejectReason);
                comActMicroWishDO.setStatus(4);//驳回
                comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh);
                comActMicroWishOperationRecordDO.setContent("审核未通过");
                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                break;
            case 3:
                comActMicroWishDO.setDistributionAt(date);
@@ -156,13 +197,20 @@
                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);
                //新增反馈记录
                ComActMicroWishFeedbackDO comActMicroWishFeedbackDO=new ComActMicroWishFeedbackDO();
                comActMicroWishFeedbackDO.setCreateTime(date);
                comActMicroWishFeedbackDO.setContent(feedback);
                comActMicroWishFeedbackDO.setImgUrl(feedbackPhotoPathList);
                comActMicroWishFeedbackDO.setMicroId(comActMicroWishVO.getId());
                comActMicroWishFeedbackDO.setUserId(comActMicroWishVO.getUserId());
                if(comActMicroWishVO.getStatus().equals(ComActMicroWishDO.status.ywc)){
                    comActMicroWishDO.setStatus(comActMicroWishVO.getStatus());
                }
                else {
                    comActMicroWishDO.setStatus(5);
                }
                comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO);
                break;
            default:
                break;
@@ -181,33 +229,37 @@
     * @return 操作结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) {
        Integer haveGiveThumbsUp = comActMicroWishVO.getHaveGiveThumbsUp();
        Long userId = comActMicroWishVO.getSponsorId();
        Long microWishId = comActMicroWishVO.getId();
        //查询微心愿集心数并判断修改微心愿状态
        ComActMicroWishDO comActMicroWishDO=comActMicroWishDAO.selectById(microWishId);
        Integer count=comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId));
        if(comActMicroWishDO!=null&&comActMicroWishDO.getAimNum()!=null&&count<comActMicroWishDO.getAimNum()){
            if(comActMicroWishDO.getStatus()==ComActMicroWishDO.status.jx){
        ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
        boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
        int num=0;
        if (haveGiveThumbsUp.intValue()==1) {
            if (empty) {
                ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
                comActMicroWishUserDO1.setMicroWishId(microWishId);
                comActMicroWishUserDO1.setUserId(userId);
                num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
            }else{
                return R.ok();
            }
        }else {
            if (empty) {
                return R.ok();
            } else {
                num= comActMicroWishUserDAO.deleteById(comActMicroWishUserDO.getId());
            }
                    return R.fail("无法重新点心");
        }
        if (num>0) {
                    if(count>=comActMicroWishDO.getAimNum()-1){
                        comActMicroWishDO.setStatus(ComActMicroWishDO.status.dfp);
                        comActMicroWishDO.setFeedbackAt(DateUtil.date());
                        comActMicroWishDAO.updateById(comActMicroWishDO);
                    }
            return R.ok();
        }
        return R.fail();
            }
        }
        return R.fail("该微心愿不可点心");
    }
    /**