| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | **/ |
| | | @Service |
| | | @Slf4j |
| | | public class ComActMicroWishServiceImpl extends ServiceImpl<ComActMicroWishDAO, ComActMicroWishDO> |
| | | implements ComActMicroWishService { |
| | | public class ComActMicroWishServiceImpl extends ServiceImpl<ComActMicroWishDAO, ComActMicroWishDO> implements ComActMicroWishService { |
| | | @Resource |
| | | private ComActMicroWishDAO comActMicroWishDAO; |
| | | @Resource |
| | | private ComActMicroWishUserDAO comActMicroWishUserDAO; |
| | | |
| | | @Resource |
| | | private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper; |
| | | @Resource |
| | | private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper; |
| | | /** |
| | | * 分页查询微心愿 |
| | | * |
| | | * @param comActMicroWishVO |
| | | * 查询参数 |
| | | * @param comActMicroWishVO 查询参数 |
| | | * @return 心愿列表 |
| | | */ |
| | | @Override |
| | |
| | | Page page = new Page<>(); |
| | | Long pageNum = comActMicroWishVO.getPageNum(); |
| | | Long pageSize = comActMicroWishVO.getPageSize(); |
| | | if (null == pageNum || 0 == pageNum) { |
| | | if (null==pageNum || 0 == pageNum) { |
| | | pageNum = 1l; |
| | | } |
| | | if (null == pageSize || 0 == pageSize) { |
| | | if (null==pageSize || 0 == pageSize) { |
| | | pageSize = 10l; |
| | | } |
| | | page.setSize(pageSize); |
| | |
| | | List<ComActMicroWishVO> records = iPage.getRecords(); |
| | | if (!ObjectUtils.isEmpty(records)) { |
| | | records.forEach(comActMicroWishVO1 -> { |
| | | if (userId != null) { |
| | | if(userId != null){ |
| | | Long id = comActMicroWishVO1.getId(); |
| | | ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne( |
| | | new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id) |
| | | ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id) |
| | | .eq(ComActMicroWishUserDO::getUserId, userId)); |
| | | if (ObjectUtils.isEmpty(comActMicroWishUserDO)) { |
| | | comActMicroWishVO1.setHaveGiveThumbsUp(0); |
| | |
| | | comActMicroWishVO1.setHaveGiveThumbsUp(1); |
| | | } |
| | | } |
| | | comActMicroWishVO1 |
| | | .setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone())); |
| | | comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone())); |
| | | }); |
| | | iPage.setRecords(records); |
| | | } |
| | |
| | | /** |
| | | * 心愿详情 |
| | | * |
| | | * @param id |
| | | * 查询主键 |
| | | * @param userId |
| | | * 登录用户id |
| | | * @param id 查询主键 |
| | | * @param userId 登录用户id |
| | | * @return 心愿内容 |
| | | */ |
| | | @Override |
| | |
| | | return R.fail("微心愿不存在"); |
| | | } |
| | | Integer starNum = comActMicroWishVO.getStarNum(); |
| | | if (null == starNum) { |
| | | if (null==starNum) { |
| | | comActMicroWishVO.setStarNum(0); |
| | | } |
| | | if (ObjectUtils.isEmpty(comActMicroWishVO)) { |
| | | return R.fail("心愿不存在"); |
| | | } |
| | | if (userId != null) { |
| | | ComActMicroWishUserDO comActMicroWishUserDO = |
| | | comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda() |
| | | .eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id)); |
| | | 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 { |
| | | }else { |
| | | comActMicroWishVO.setHaveGiveThumbsUp(1); |
| | | } |
| | | } |
| | | //查询反馈列表 |
| | | List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id); |
| | | if(!feedList.isEmpty()){ |
| | | comActMicroWishVO.setFeedbackVOList(feedList); |
| | | } |
| | | //查询操作记录 |
| | | List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id); |
| | | if(!operationList.isEmpty()){ |
| | | comActMicroWishVO.setOperationRecordVOList(operationList); |
| | | } |
| | | comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone())); |
| | | //查询同类型id数组 |
| | | List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO); |
| | | if(!idList.isEmpty()){ |
| | | comActMicroWishVO.setIdList(idList); |
| | | } |
| | | return R.ok(comActMicroWishVO); |
| | | } |
| | | |
| | | /** |
| | | * 审核、分配、反馈心愿 |
| | | * |
| | | * @param comActMicroWishVO |
| | | * 具体操作 |
| | | * @param comActMicroWishVO 具体操作 |
| | | * @return 操作结果 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) { |
| | | Long id = comActMicroWishVO.getId(); |
| | | int type = comActMicroWishVO.getType().intValue(); |
| | |
| | | Long responsibleId = comActMicroWishVO.getResponsibleId(); |
| | | String feedback = comActMicroWishVO.getFeedback(); |
| | | String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList(); |
| | | ComActMicroWishDO comActMicroWishDO = new ComActMicroWishDO(); |
| | | ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO(); |
| | | comActMicroWishDO.setId(id); |
| | | Date date = new Date(); |
| | | // 1 审核通过 2驳回 3分配人员 4发起活动 5反馈 |
| | | switch (type) { |
| | | ComActMicroWishOperationRecordDO comActMicroWishOperationRecordDO=new ComActMicroWishOperationRecordDO(); |
| | | comActMicroWishOperationRecordDO.setCreateTime(date); |
| | | comActMicroWishOperationRecordDO.setUserId(comActMicroWishVO.getUserId()); |
| | | comActMicroWishOperationRecordDO.setWishId(comActMicroWishVO.getId()); |
| | | ComActMicroWishDO microWishDO = this.baseMapper.selectById(id); |
| | | if(microWishDO == null){ |
| | | return R.fail("未查询到该微心愿记录"); |
| | | } |
| | | // 1 审核通过 2驳回 3分配人员 4发起活动 5反馈 |
| | | switch (type){ |
| | | case 1: |
| | | if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){ |
| | | return R.fail("该微心愿已审核,不可重复审核"); |
| | | } |
| | | 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: |
| | | if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){ |
| | | return R.fail("该微心愿已审核,不可重复审核"); |
| | | } |
| | | comActMicroWishDO.setExamineAt(date); |
| | | comActMicroWishDO.setRejectReason(rejectReason); |
| | | comActMicroWishDO.setStatus(4);// 驳回 |
| | | comActMicroWishDO.setStatus(4);//驳回 |
| | | comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh); |
| | | comActMicroWishOperationRecordDO.setContent(rejectReason); |
| | | comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); |
| | | break; |
| | | case 3: |
| | | comActMicroWishDO.setDistributionAt(date); |
| | | comActMicroWishDO.setResponsibleId(responsibleId); |
| | | comActMicroWishDO.setStatus(3);// 进行中 |
| | | comActMicroWishDO.setStatus(3);//进行中 |
| | | comActMicroWishDO.setForm(1); |
| | | break; |
| | | case 4: |
| | | comActMicroWishDO.setDistributionAt(date); |
| | | comActMicroWishDO.setResponsibleId(responsibleId); |
| | | comActMicroWishDO.setStatus(3);// 待确认 |
| | | comActMicroWishDO.setStatus(3);//待确认 |
| | | comActMicroWishDO.setForm(2); |
| | | break; |
| | | case 5: |
| | | if (comActMicroWishVO.getFeedback().length() > 200) { |
| | | 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; |
| | | //新增反馈记录 |
| | | ComActMicroWishFeedbackDO comActMicroWishFeedbackDO=new ComActMicroWishFeedbackDO(); |
| | | comActMicroWishFeedbackDO.setCreateTime(date); |
| | | comActMicroWishFeedbackDO.setContent(feedback); |
| | | comActMicroWishFeedbackDO.setImgUrl(feedbackPhotoPathList); |
| | | comActMicroWishFeedbackDO.setMicroId(comActMicroWishVO.getId()); |
| | | comActMicroWishFeedbackDO.setUserId(comActMicroWishVO.getUserId()); |
| | | if(comActMicroWishVO.getStatus() != null && comActMicroWishVO.getStatus().equals(ComActMicroWishDO.status.ywc)){ |
| | | comActMicroWishDO.setStatus(comActMicroWishVO.getStatus()); |
| | | comActMicroWishDO.setFinishAt(date); |
| | | comActMicroWishDO.setFinish(feedback); |
| | | comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList); |
| | | } |
| | | // else { |
| | | // comActMicroWishDO.setStatus(3); |
| | | // } |
| | | comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO); |
| | | return R.ok(); |
| | | default: |
| | | break; |
| | | } |
| | | int update = comActMicroWishDAO.updateById(comActMicroWishDO); |
| | | if (update > 0) { |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | |
| | | /** |
| | | * 点赞/取消点赞微心愿 |
| | | * |
| | | * @param comActMicroWishVO |
| | | * 操作参数 |
| | | * @param comActMicroWishVO 操作参数 |
| | | * @return 操作结果 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) { |
| | | Integer haveGiveThumbsUp = comActMicroWishVO.getHaveGiveThumbsUp(); |
| | | Long userId = comActMicroWishVO.getSponsorId(); |
| | | Long microWishId = comActMicroWishVO.getId(); |
| | | 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()); |
| | | //查询微心愿集心数并判断修改微心愿状态 |
| | | 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 (empty) { |
| | | ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO(); |
| | | comActMicroWishUserDO1.setMicroWishId(microWishId); |
| | | comActMicroWishUserDO1.setUserId(userId); |
| | | num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1); |
| | | }else{ |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | if (num > 0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | return R.fail("该微心愿不可点心"); |
| | | } |
| | | |
| | | /** |
| | | * 用户确认心愿 |
| | | * |
| | | * @param comActMicroWishVO |
| | | * 用户评价 |
| | | * @param comActMicroWishVO 用户评价 |
| | | * @return 确认结果 |
| | | */ |
| | | @Override |
| | |
| | | return R.fail("心愿不存在"); |
| | | } |
| | | Integer status = comActMicroWishDO1.getStatus(); |
| | | if (status.intValue() != 5) { |
| | | return R.fail("心愿状态不是待确认"); |
| | | if (!status.equals(ComActMicroWishDO.status.ywc)) { |
| | | return R.fail("心愿状态不是已完成状态"); |
| | | } |
| | | ComActMicroWishDO comActMicroWishDO = new ComActMicroWishDO(); |
| | | ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO(); |
| | | comActMicroWishDO.setId(comActMicroWishVO.getId()); |
| | | comActMicroWishDO.setEvaluateAt(comActMicroWishVO.getEvaluateAt()); |
| | | comActMicroWishDO.setStatus(comActMicroWishVO.getStatus()); |
| | | comActMicroWishDO.setScore(comActMicroWishVO.getScore()); |
| | | comActMicroWishDO.setEvaluate(comActMicroWishVO.getEvaluate()); |
| | | int update = comActMicroWishDAO.updateById(comActMicroWishDO); |
| | | if (update > 0) { |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | |
| | | /** |
| | | * 社区首页代办事件集合 |
| | | * |
| | | * @param communityId |
| | | * 社区id |
| | | * @param userId |
| | | * 登录用户 |
| | | * @param communityId 社区id |
| | | * @param userId 登录用户 |
| | | * @return 代办事件集合 |
| | | */ |
| | | @Override |
| | | public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) { |
| | | List<TodoEventsVO> todoEventsVOS = comActMicroWishDAO.selectNeedToDo(communityId, userId); |
| | | List<TodoEventsVO> todoEventsVOS=comActMicroWishDAO.selectNeedToDo(communityId,userId); |
| | | return todoEventsVOS; |
| | | } |
| | | |
| | | @Override |
| | | public R deleteMicroWish(Long id) { |
| | | ComActMicroWishDO comActMicroWishDO = comActMicroWishDAO.selectById(id); |
| | | if (comActMicroWishDO == null) { |
| | | if(comActMicroWishDO==null){ |
| | | return R.fail("id有误!"); |
| | | } |
| | | comActMicroWishDAO.deleteById(id); |
| | | comActMicroWishUserDAO |
| | | .delete(new LambdaQueryWrapper<ComActMicroWishUserDO>().eq(ComActMicroWishUserDO::getMicroWishId, id)); |
| | | comActMicroWishUserDAO.delete(new LambdaQueryWrapper<ComActMicroWishUserDO>().eq(ComActMicroWishUserDO::getMicroWishId,id)); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R timedTaskActMicroWishAll() { |
| | | int num = comActMicroWishDAO.updateStatusAutoConfirm(); |
| | | log.info("定时任务--修改待自动确认微心愿状态数量【{}】", num); |
| | | 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()) { |
| | | 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())); |
| | | .eq(ComActMicroWishUserDO::getMicroWishId,microListVO.getId())); |
| | | microListVO.setStarNum(count); |
| | | }); |
| | | } |