From a469e6f48a0312cb6c5a183a89fb79b9807ef13d Mon Sep 17 00:00:00 2001 From: tangxiaobao <303826152@qq.com> Date: 星期一, 06 九月 2021 18:20:17 +0800 Subject: [PATCH] 办事指南分页查询按时间降序排列 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java | 192 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 143 insertions(+), 49 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java index 6f31a02..866e4cb 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java @@ -1,24 +1,35 @@ 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.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.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; @@ -35,7 +46,10 @@ private ComActMicroWishDAO comActMicroWishDAO; @Resource private ComActMicroWishUserDAO comActMicroWishUserDAO; - + @Resource + private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper; + @Resource + private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper; /** * 分页查询微心愿 * @@ -57,19 +71,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); } @@ -96,13 +112,30 @@ 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); + } + } + //查询反馈列表 + 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); } @@ -113,6 +146,7 @@ * @return 操作结果 */ @Override + @Transactional public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) { Long id = comActMicroWishVO.getId(); int type = comActMicroWishVO.getType().intValue(); @@ -122,44 +156,87 @@ String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList(); ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO(); comActMicroWishDO.setId(id); + Boolean isUpdate = false; Date date = new Date(); + 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: + isUpdate = true; + 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: + isUpdate = true; + if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){ + return R.fail("该微心愿已审核,不可重复审核"); + } comActMicroWishDO.setExamineAt(date); comActMicroWishDO.setRejectReason(rejectReason); comActMicroWishDO.setStatus(4);//驳回 + comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh); + comActMicroWishOperationRecordDO.setContent(rejectReason); + comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); break; case 3: + isUpdate = true; comActMicroWishDO.setDistributionAt(date); comActMicroWishDO.setResponsibleId(responsibleId); comActMicroWishDO.setStatus(3);//进行中 comActMicroWishDO.setForm(1); break; case 4: + isUpdate = true; comActMicroWishDO.setDistributionAt(date); comActMicroWishDO.setResponsibleId(responsibleId); comActMicroWishDO.setStatus(3);//待确认 comActMicroWishDO.setForm(2); break; case 5: - comActMicroWishDO.setFeedbackAt(date); - comActMicroWishDO.setStatus(5);//待确认 - comActMicroWishDO.setFeedback(feedback); - comActMicroWishDO.setFinish(feedback); - comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList); - comActMicroWishDO.setFinishAt(date); - comActMicroWishDO.setFeedbackPhotoPathList(feedbackPhotoPathList); - break; + if(comActMicroWishVO.getFeedback().length() > 200){ + return R.fail("反馈字数不得超过200字"); + } + //新增反馈记录 + 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)){ + isUpdate = true; + comActMicroWishDO.setStatus(ComActMicroWishDO.status.ywc); + comActMicroWishDO.setFinishAt(date); + comActMicroWishDO.setFinish(feedback); + comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList); + } +// else { +// comActMicroWishDO.setStatus(3); +// } + comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO); default: break; } - int update = comActMicroWishDAO.updateById(comActMicroWishDO); - if (update>0) { + if(isUpdate){ + int update = comActMicroWishDAO.updateById(comActMicroWishDO); + if (update>0) { + return R.ok(); + } + }else{ return R.ok(); } return R.fail(); @@ -172,33 +249,37 @@ * @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("该微心愿不可点心"); } /** @@ -214,8 +295,8 @@ 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.setId(comActMicroWishVO.getId()); @@ -260,4 +341,17 @@ 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); + } } -- Gitblit v1.7.1