package com.panzhihua.service_community.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.DesensitizedUtil; 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.google.common.base.Joiner; 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.model.vos.user.SysUserVO; import com.panzhihua.common.utlis.SensitiveUtil; import com.panzhihua.common.utlis.StringUtils; 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.entity.ComActEasyPhotoHandler; 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.ComActEasyPhotoHandlerService; import com.panzhihua.service_community.service.ComActMicroWishOperationRecordService; 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 * @description: 微心愿 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-07 14:34 **/ @Service @Slf4j public class ComActMicroWishServiceImpl extends ServiceImpl implements ComActMicroWishService { @Resource private ComActMicroWishDAO comActMicroWishDAO; @Resource private ComActMicroWishUserDAO comActMicroWishUserDAO; @Resource private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper; @Resource private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper; @Resource private ComActMicroWishOperationRecordService wishOperationRecordService; @Resource private ComActEasyPhotoHandlerService easyPhotoHandlerService; /** * 分页查询微心愿 * * @param comActMicroWishVO 查询参数 * @return 心愿列表 */ @Override public R pageMicroWish(ComActMicroWishVO comActMicroWishVO) { Long userId = comActMicroWishVO.getResponsibleId(); Page page = new Page<>(); Long pageNum = comActMicroWishVO.getPageNum(); Long pageSize = comActMicroWishVO.getPageSize(); if (null==pageNum || 0 == pageNum) { pageNum = 1l; } if (null==pageSize || 0 == pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage iPage = comActMicroWishDAO.pageMicroWish(page, comActMicroWishVO); List records = iPage.getRecords(); if (!ObjectUtils.isEmpty(records)) { records.forEach(comActMicroWishVO1 -> { if(userId != null){ Long id = comActMicroWishVO1.getId(); ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().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())); //查询处理人 comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId())); }); iPage.setRecords(records); } return R.ok(iPage); } @Override public R pageMicroWishApplets(ComActMicroWishVO comActMicroWishVO) { Long userId = comActMicroWishVO.getResponsibleId(); IPage iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum() ,comActMicroWishVO.getPageSize()), comActMicroWishVO); List records = iPage.getRecords(); if (!ObjectUtils.isEmpty(records)) { records.forEach(comActMicroWishVO1 -> { if(userId != null){ Long id = comActMicroWishVO1.getId(); ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().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); } return R.ok(iPage); } @Override public R pageMicroWishAppletsDesensitize(ComActMicroWishVO comActMicroWishVO) { Long userId = comActMicroWishVO.getResponsibleId(); IPage iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum() ,comActMicroWishVO.getPageSize()), comActMicroWishVO); List records = iPage.getRecords(); if (!ObjectUtils.isEmpty(records)) { records.forEach(comActMicroWishVO1 -> { if(userId != null){ Long id = comActMicroWishVO1.getId(); ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().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())); comActMicroWishVO1.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO1.getSponsorName())); comActMicroWishVO1.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO1.getResponsibleName())); }); iPage.setRecords(records); } return R.ok(iPage); } /** * 心愿详情 * * @param id 查询主键 * @param userId 登录用户id * @return 心愿内容 */ @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); } if (ObjectUtils.isEmpty(comActMicroWishVO)) { return R.fail("心愿不存在"); } if(userId != null){ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id)); if (ObjectUtils.isEmpty(comActMicroWishUserDO)) { comActMicroWishVO.setHaveGiveThumbsUp(0); }else { comActMicroWishVO.setHaveGiveThumbsUp(1); } } //查询反馈列表 List feedList=comActMicroWishFeedbackMapper.selectByWishId(id); if(!feedList.isEmpty()){ comActMicroWishVO.setFeedbackVOList(feedList); } //查询操作记录 List operationList=comActMicroWishOperationRecordMapper.getByWishId(id); if(!operationList.isEmpty()){ comActMicroWishVO.setOperationRecordVOList(operationList); } comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone())); //查询同类型id数组 List idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO); if(!idList.isEmpty()){ comActMicroWishVO.setIdList(idList); } //查询处理人 comActMicroWishVO.setResponsibleName(this.getWishHandleName(comActMicroWishVO.getHandleId())); return R.ok(comActMicroWishVO); } /** * 心愿详情 - 脱敏 * * @param id 查询主键 * @param userId 登录用户id * @return 心愿内容 */ @Override public R detailMicroWishDesensitize(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); } if (ObjectUtils.isEmpty(comActMicroWishVO)) { return R.fail("心愿不存在"); } if(userId != null){ ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id)); if (ObjectUtils.isEmpty(comActMicroWishUserDO)) { comActMicroWishVO.setHaveGiveThumbsUp(0); }else { comActMicroWishVO.setHaveGiveThumbsUp(1); } } //查询反馈列表 List feedList=comActMicroWishFeedbackMapper.selectByWishId(id); if(!feedList.isEmpty()){ for (ComActMicroWishFeedbackVO comActMicroWishFeedbackVO : feedList) { comActMicroWishFeedbackVO.setName(DesensitizedUtil.chineseName(comActMicroWishFeedbackVO.getName())); } comActMicroWishVO.setFeedbackVOList(feedList); } //查询操作记录 List operationList=comActMicroWishOperationRecordMapper.getByWishId(id); if(!operationList.isEmpty()){ comActMicroWishVO.setOperationRecordVOList(operationList); } comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone())); comActMicroWishVO.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO.getSponsorName())); comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO.getResponsibleName())); //查询同类型id数组 List idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO); if(!idList.isEmpty()){ comActMicroWishVO.setIdList(idList); } //查询处理人 comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(this.getWishHandleName(comActMicroWishVO.getHandleId()))); return R.ok(comActMicroWishVO); } /** * 审核、分配、反馈心愿 * * @param comActMicroWishVO 具体操作 * @return 操作结果 */ @Override @Transactional public synchronized R putlMicroWish(ComActMicroWishVO comActMicroWishVO) { Long id = comActMicroWishVO.getId(); 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); 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.setAimNum(comActMicroWishVO.getAimNum()); comActMicroWishDO.setStatus(7);//集心中 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.sh); comActMicroWishOperationRecordDO.setContent("审核通过"); comActMicroWishOperationRecordDO.setRemark("微心愿审核通过"); 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); comActMicroWishOperationRecordDO.setRemark("微心愿审核未通过"); comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); break; case 3: /** * 状态 * 状态 1待审核 2待分配 3进行中 4已驳回 5待确认6 已完成 */ if(comActMicroWishDO.getStatus()!=null && comActMicroWishDO.getStatus()!=2) { return R.fail("该微心愿已认领,不可重复认领"); } isUpdate = true; comActMicroWishDO.setDistributionAt(date); comActMicroWishDO.setResponsibleId(responsibleId); comActMicroWishDO.setStatus(3);//进行中 // comActMicroWishDO.setForm(1); if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){ comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds())); } //添加操作记录 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp); if(comActMicroWishDO.getForm()!=null) { if(comActMicroWishDO.getForm()==3) { comActMicroWishOperationRecordDO.setContent("认领心愿"); comActMicroWishOperationRecordDO.setRemark("认领心愿"); } else { comActMicroWishOperationRecordDO.setContent("分配心愿"); comActMicroWishOperationRecordDO.setRemark("分配心愿"); } } else { comActMicroWishOperationRecordDO.setContent("分配心愿"); comActMicroWishOperationRecordDO.setRemark("分配心愿"); } comActMicroWishOperationRecordDO.setUserId(responsibleId); comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); //添加分配人员 if(comActMicroWishVO.getHandleList() != null && comActMicroWishVO.getHandleList().size() > 0){ comActMicroWishVO.getHandleList().forEach(handle -> { easyPhotoHandlerService.addHandleRecord(microWishDO.getCommunityId(),handle.getUserId() ,microWishDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.WXY,comActMicroWishVO.getSponsorId()); }); } break; case 4: isUpdate = true; comActMicroWishDO.setDistributionAt(date); comActMicroWishDO.setResponsibleId(responsibleId); comActMicroWishDO.setStatus(3);//待确认 comActMicroWishDO.setForm(2); if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){ comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds())); } //添加操作记录 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp); comActMicroWishOperationRecordDO.setContent("分配心愿"); comActMicroWishOperationRecordDO.setRemark("分配心愿"); comActMicroWishOperationRecordDO.setUserId(responsibleId); comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); break; case 5: 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.dqr)){ isUpdate = true; comActMicroWishDO.setStatus(ComActMicroWishDO.status.dqr); comActMicroWishDO.setFinishAt(date); comActMicroWishDO.setFinish(feedback); comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList); //添加操作记录 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk); comActMicroWishOperationRecordDO.setContent(feedback); comActMicroWishOperationRecordDO.setRemark("心愿已完成"); comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList); comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); }else{ //添加操作记录 comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk); comActMicroWishOperationRecordDO.setContent(feedback); if(comActMicroWishVO.getForm()==null || comActMicroWishVO.getForm() ==3 ) { comActMicroWishOperationRecordDO.setRemark("用户反馈"); } else { comActMicroWishOperationRecordDO.setRemark("社区反馈"); } comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList); comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO); } // else { // comActMicroWishDO.setStatus(3); // } comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO); default: break; } if(isUpdate){ int update = comActMicroWishDAO.updateById(comActMicroWishDO); if (update>0) { return R.ok(); } }else{ return R.ok(); } return R.fail(); } /** * 点赞/取消点赞微心愿 * * @param comActMicroWishVO 操作参数 * @return 操作结果 */ @Override @Transactional(rollbackFor = Exception.class) public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) { Long userId = comActMicroWishVO.getSponsorId(); Long microWishId = comActMicroWishVO.getId(); //查询微心愿集心数并判断修改微心愿状态 ComActMicroWishDO comActMicroWishDO=comActMicroWishDAO.selectById(microWishId); Integer count=comActMicroWishUserDAO.selectCount(new QueryWrapper().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId)); if(comActMicroWishDO!=null&&comActMicroWishDO.getAimNum()!=null&&count().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); //完成集心添加操作记录 wishOperationRecordService.addOperationRecord("完成集心",comActMicroWishDO.getSponsorId() ,comActMicroWishDO.getId(),ComActMicroWishOperationRecordDO.type.jx,"用户完成集心",null); } return R.ok(); } } } return R.fail("该微心愿不可点心"); } /** * 用户确认心愿 * * @param comActMicroWishVO 用户评价 * @return 确认结果 */ @Override public R putMicroWishConfirm(ComActMicroWishVO comActMicroWishVO) { ComActMicroWishDO comActMicroWishDO1 = comActMicroWishDAO.selectById(comActMicroWishVO.getId()); if (ObjectUtils.isEmpty(comActMicroWishDO1)) { return R.fail("心愿不存在"); } Integer status = comActMicroWishDO1.getStatus(); if (!status.equals(ComActMicroWishDO.status.dqr)) { return R.fail("心愿状态不是待确认状态"); } 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) { //用户确认心愿添加操作记录 wishOperationRecordService.addOperationRecord(comActMicroWishVO.getEvaluate(),comActMicroWishDO1.getSponsorId() ,comActMicroWishDO1.getId(),ComActMicroWishOperationRecordDO.type.wc,"用户已确认",null); return R.ok(); } return R.fail(); } /** * 社区首页代办事件集合 * * @param communityId 社区id * @param userId 登录用户 * @return 代办事件集合 */ @Override public List selectNeedToDo(Long communityId, Long userId) { List 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().eq(ComActMicroWishUserDO::getMicroWishId,id)); return R.ok(); } @Override public R timedTaskActMicroWishAll() { //微心愿自动确认前需要添加操作记录 List wishIds = comActMicroWishDAO.getWishAutoConfirmIds(); wishIds.forEach(wishId -> { //需要添加操作记录 wishOperationRecordService.addOperationRecord("系统自动确认微心愿",null ,wishId, ComActMicroWishOperationRecordDO.type.zd,"系统自动确认微心愿",null); }); int num=comActMicroWishDAO.updateStatusAutoConfirm(); log.info("定时任务--修改待自动确认微心愿状态数量【{}】",num); return R.ok(); } @Override public R getScreenMicroList(ScreenMicroListDTO microListDTO){ IPage microListVOIPage = comActMicroWishDAO.getScreenMicroList(new Page(microListDTO.getPageNum(),microListDTO.getPageSize()),microListDTO); if(!microListVOIPage.getRecords().isEmpty()){ microListVOIPage.getRecords().forEach(microListVO -> { Integer count = comActMicroWishUserDAO.selectCount(new QueryWrapper().lambda() .eq(ComActMicroWishUserDO::getMicroWishId,microListVO.getId())); microListVO.setStarNum(count); }); } return R.ok(microListVOIPage); } /** * 微心愿处理人列表 * @param communityId 社区id * @param type 处理人类型(1.后台用户 2.党员 3.志愿者) * @return 处理人列表 */ @Override public R wishHandleListAdmin(Long communityId,Integer type){ return R.ok(comActMicroWishDAO.getWishHandleListAdmin(type,communityId)); } /** * 拼接处理人 * @param handleId 处理人id字符串 * @return 处理人名称 */ private String getWishHandleName(String handleId){ StringBuffer sb = new StringBuffer(); if(StringUtils.isNotEmpty(handleId)){ String []handleIds = handleId.split(","); if(handleIds.length > 0){ for (String id : handleIds) { SysUserVO user = comActMicroWishDAO.getUserByUserId(Long.parseLong(id)); if(user != null){ if(user.getType().equals(SysUserVO.type.xcx)){ if(user.getIsPartymember().equals(SysUserVO.isOk.yes)){ sb.append(user.getName() + "(党员),"); }else if(user.getIsVolunteer().equals(SysUserVO.isOk.yes)){ sb.append(user.getName() + "(志愿者),"); }else{ sb.append(user.getName()); } }else if(user.getType().equals(SysUserVO.type.sqht)){ sb.append(user.getName() + "(后台用户),"); } } } } } String result = sb.toString(); if(result.length() > 0){ result = result.substring(0,result.length()-1); } return result; } /** * 社区后台分页查询微心愿 * @param comActMicroWishVO 请求参数 * @return 微心愿列表 */ @Override public R pageMicroWishAdmin(ComActMicroWishVO comActMicroWishVO) { Long userId = comActMicroWishVO.getResponsibleId(); IPage iPage = comActMicroWishDAO.pageMicroWishAdmin(new Page(comActMicroWishVO.getPageNum() ,comActMicroWishVO.getPageSize()), comActMicroWishVO); iPage.getRecords().forEach(comActMicroWishVO1 -> { if(userId != null){ Long id = comActMicroWishVO1.getId(); ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper().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())); //查询处理人 comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId())); }); return R.ok(iPage); } }