From 78d1c9ee9b0c49f77c29d0535cb93c6d62c42f3a Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 11 十一月 2021 13:58:25 +0800 Subject: [PATCH] 1111修改提交 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 86 insertions(+), 15 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java index b37d37a..05682b6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java @@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; +import com.panzhihua.common.model.dtos.community.OperationDetailDTO; import com.panzhihua.common.model.dtos.community.reserve.*; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActReserveIndexVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubSelectionVO; import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO; import com.panzhihua.common.model.vos.community.reserve.*; @@ -35,6 +37,10 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; @@ -84,12 +90,13 @@ if(comActReserveDO!=null){ //查询当前用户是否已预约并判断是否能继续预约 if(comActReserveDO.getJoinAllCount()!=0){ - Integer count=comActReserveRecordMapper.selectCount(new QueryWrapper<ComActReserveRecordDO>().eq("reserve_id",comActReserveCommitVO.getId())); - if(count>=comActReserveDO.getJoinCount()){ + Integer count=comActReserveRecordMapper.selectCount(new QueryWrapper<ComActReserveRecordDO>() + .eq("reserve_id",comActReserveCommitVO.getId()) + .eq("status",ComActReserveRecordDO.status.cg)); + if(count>=comActReserveDO.getJoinAllCount()){ return R.fail("预约已上限"); } } - List<ComActReserveRecordDO> list=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("reserve_id",comActReserveCommitVO.getId()).eq("user_id",comActReserveCommitVO.getUserId()).in("status",1,2,3)); if(!list.isEmpty()&&list.size()>1&&comActReserveDO.getIsRepeat()==ComActReserveDO.isRepeat.no){ @@ -111,7 +118,7 @@ Long queSubId = questnaireSubDO.getId(); //根据上传的类型查询不同的题目选项 - if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan)){ + if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan) || questnaiteSub.getType().equals(QuestnaiteSubVO.type.imgselect)){ //单选题处理 ComActReserveSubSelectionDO subSelectionDO = comActReserveSubSelectionMapper.selectOne(new QueryWrapper<ComActReserveSubSelectionDO>() @@ -156,16 +163,19 @@ answerContentList.add(answerContentDO); } }else{ - //问答题处理 - String values = questnaiteSub.getValues(); - ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); - answerContentDO.setUserId(userId); - answerContentDO.setCreateAt(nowDate); - answerContentDO.setCreateBy(userId); - answerContentDO.setReserveSubId(queSubId); - answerContentDO.setType(2); - answerContentDO.setAnswerContent(values); - answerContentList.add(answerContentDO); + //文字描述不做处理 + if(!questnaiteSub.getType().equals(QuestnaiteSubVO.type.describe)){ + //问答题处理 + String values = questnaiteSub.getValues(); + ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); + answerContentDO.setUserId(userId); + answerContentDO.setCreateAt(nowDate); + answerContentDO.setCreateBy(userId); + answerContentDO.setReserveSubId(queSubId); + answerContentDO.setType(2); + answerContentDO.setAnswerContent(values); + answerContentList.add(answerContentDO); + } } } if(!answerContentList.isEmpty()){ @@ -175,6 +185,8 @@ comActReserveMapper.updateById(comActReserveDO); //新增用户答题记录 ComActReserveRecordDO userAnswerDO = new ComActReserveRecordDO(); + userAnswerDO.setContent(comActReserveCommitVO.getContent()); + userAnswerDO.setName(comActReserveCommitVO.getName()); userAnswerDO.setCommunityId(comActReserveCommitVO.getCommunityId()); userAnswerDO.setPhone(comActReserveCommitVO.getPhone()); userAnswerDO.setReserveId(questId); @@ -207,6 +219,7 @@ comActReserveOperationRecordDO.setPhone(comActReserveCommitVO.getPhone()); comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.ytj); comActReserveOperationRecordDO.setUserId(comActReserveCommitVO.getUserId()); + comActReserveOperationRecordDO.setRemark(comActReserveCommitVO.getContent()); comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO); return R.ok("提交成功"); } @@ -304,6 +317,7 @@ subSelectionDO.setCreateAt(nowDate); subSelectionDO.setType(subSelect.getType()); subSelectionDO.setKey(subSelect.getKey()); + subSelectionDO.setUrl(subSelect.getUrl()); subSelectionList.add(subSelectionDO); } } @@ -560,8 +574,10 @@ public R getById(Long id,Long userId,Long recordId,Integer isBack) { ComActReserveDO comActReserveDO=comActReserveMapper.selectById(id); if(comActReserveDO!=null){ + comActReserveDO.setViewNum(comActReserveDO.getViewNum()+1); ComActReserveDetailVO comActReserveDetailVO=new ComActReserveDetailVO(); if(isBack!=1){ + comActReserveDO.setViewNum(comActReserveDO.getViewNum()+1); BeanUtils.copyProperties(comActReserveDO,comActReserveDetailVO); List<ComActReserveRecordDO> list=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("user_id",userId).eq("reserve_id",id).in("status",1,2).orderByDesc("reserve_time")); List<ComActReserveRecordDO> secondlist=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("user_id",userId).eq("reserve_id",id).orderByDesc("reserve_time")); @@ -583,12 +599,16 @@ } }); } + //更新浏览量 + comActReserveMapper.updateById(comActReserveDO); return R.ok(comActReserveDetailVO); } ComActReserveRecordDO comActReserveRecordDO =comActReserveRecordMapper.selectById(recordId); if(comActReserveRecordDO!=null){ BeanUtils.copyProperties(comActReserveRecordDO,comActReserveDetailVO); } + //更新浏览量 + comActReserveMapper.updateById(comActReserveDO); return R.ok(comActReserveDetailVO); } return R.fail("未查询到数据"); @@ -597,6 +617,57 @@ @Override public R pageReserveList(PageUserReserveDTO pageUserReserveDTO) { - return R.ok(comActReserveRecordMapper.pageReserveList(new Page<ComActReserveDO>(pageUserReserveDTO.getPageNum(), pageUserReserveDTO.getPageSize()),pageUserReserveDTO)); + IPage<ComActReserveAppletsVO> ipage = comActReserveRecordMapper.pageReserveList(new Page<>(pageUserReserveDTO.getPageNum(), pageUserReserveDTO.getPageSize()),pageUserReserveDTO); + OperationDetailDTO operationDetailDTO = new OperationDetailDTO(); + ipage.getRecords().forEach(page -> { + operationDetailDTO.setReserveRecordId(page.getId()); + List<ComOperationListVO> operationList = comActReserveRecordMapper.queryAll(operationDetailDTO); + page.setOperationList(operationList); + }); + return R.ok(ipage); + } + + /** + * 小程序查询所有进行中的预约登记 + * @param communityId 社区id + * @return 社区所有进行中的预约登记列表 + */ + @Override + public R reserveListApplets(Long communityId){ + return R.ok(this.baseMapper.getReserveIndexList(communityId)); + } + + + public static void getFileByBytes(byte[] bytes, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists()) {// 判断文件目录是否存在 + dir.mkdirs(); + } + file = new File(filePath + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(bytes); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } } } -- Gitblit v1.7.1