| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | private ComActMicroWishDAO comActMicroWishDAO; |
| | | @Resource |
| | | private ComActMicroWishUserDAO comActMicroWishUserDAO; |
| | | |
| | | @Resource |
| | | private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper; |
| | | @Resource |
| | | private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper; |
| | | /** |
| | | * 分页查询微心愿 |
| | | * |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | * @return 操作结果 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) { |
| | | Long id = comActMicroWishVO.getId(); |
| | | int type = comActMicroWishVO.getType().intValue(); |
| | |
| | | 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); |
| | |
| | | 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; |
| | |
| | | * @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("该微心愿不可点心"); |
| | | } |
| | | |
| | | /** |