From 3d2dccde51582e3a58d2afe4731ec1ad04229ee4 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期一, 30 八月 2021 09:25:46 +0800 Subject: [PATCH] 预约登记功能修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 42 insertions(+), 5 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 1b4d786..b891448 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 @@ -26,6 +26,7 @@ import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActReserveAnswerContentService; +import com.panzhihua.service_community.service.ComActReserveRecordService; import com.panzhihua.service_community.service.ComActReserveService; import com.panzhihua.service_community.service.ComActReserveSubSelectionService; import lombok.extern.slf4j.Slf4j; @@ -68,6 +69,8 @@ private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; @Resource private ComActReserveSubSelectionService comActReserveSubSelectionService; + @Resource + private ComActReserveRecordService comActReserveRecordService; private final static String COMMIT="用户已提交"; @Override @@ -81,7 +84,7 @@ if(comActReserveDO!=null){ //查询当前用户是否已预约并判断是否能继续预约 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()&&comActReserveDO.getIsRepeat()==ComActReserveDO.isRepeat.no){ + if(!list.isEmpty()&&list.size()>1&&comActReserveDO.getIsRepeat()==ComActReserveDO.isRepeat.no){ return R.fail("提交失败,不可重复预约"); } else { @@ -144,7 +147,7 @@ answerContentDO.setAnswerContent(subSelectionDO.getContent()); answerContentList.add(answerContentDO); } - }else if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.wenda)){ + }else{ //问答题处理 String values = questnaiteSub.getValues(); ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); @@ -162,11 +165,11 @@ Integer joinCount = comActReserveDO.getJoinCount(); comActReserveDO.setJoinCount(joinCount != null ? joinCount + 1 : 1); comActReserveMapper.updateById(comActReserveDO); - //新增用户答题记录 ComActReserveRecordDO userAnswerDO = new ComActReserveRecordDO(); userAnswerDO.setPhone(comActReserveCommitVO.getPhone()); userAnswerDO.setReserveId(questId); + userAnswerDO.setReserveTime(comActReserveCommitVO.getReserveTime()); userAnswerDO.setUserId(userId); userAnswerDO.setType(comActReserveCommitVO.getType()); userAnswerDO.setCreateAt(nowDate); @@ -177,7 +180,7 @@ else { userAnswerDO.setStatus(ComActReserveRecordDO.status.cg); } - comActReserveRecordMapper.insert(userAnswerDO); + comActReserveRecordService.saveOrUpdate(userAnswerDO); //给答题记录赋值预约登记记录id answerContentList.forEach(answerContent -> { @@ -189,12 +192,14 @@ comActReserveOperationRecordDO.setReserveId(comActReserveCommitVO.getId()); comActReserveOperationRecordDO.setReserveRecordId(userAnswerDO.getId()); comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br); - comActReserveOperationRecordDO.setReserveTime(DateUtil.date()); + comActReserveOperationRecordDO.setCreateAt(DateUtil.date()); + comActReserveOperationRecordDO.setReserveTime(comActReserveCommitVO.getReserveTime()); comActReserveOperationRecordDO.setReserveContent(COMMIT); comActReserveOperationRecordDO.setPhone(comActReserveCommitVO.getPhone()); comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.ytj); comActReserveOperationRecordDO.setUserId(comActReserveCommitVO.getUserId()); comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO); + return R.ok("提交成功"); } } } @@ -543,6 +548,38 @@ } @Override + public R getById(Long id,Long userId,Long recordId) { + ComActReserveDO comActReserveDO=comActReserveMapper.selectById(id); + if(comActReserveDO!=null){ + ComActReserveDetailVO comActReserveDetailVO=new ComActReserveDetailVO(); + 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")); + //判断当前数据是否可重复提交 + if(comActReserveDO.getIsRepeat()==ComActReserveDetailVO.isOk.y||list.isEmpty()){ + comActReserveDetailVO.setIsOk(ComActReserveDetailVO.isOk.n); + }else { + comActReserveDetailVO.setIsOk(ComActReserveDetailVO.isOk.y); + } + //如果用户已提交返回最新一条记录 列表时间倒序排列 + if(!list.isEmpty()){ + comActReserveDetailVO.setJsonObject(list.get(0).getJsonObject()); + comActReserveDetailVO.setReserveTime(list.get(0).getReserveTime()); + } + if(!secondlist.isEmpty()&&recordId!=null){ + secondlist.forEach(comActReserveRecordDO -> { + if(comActReserveRecordDO.getId().equals(recordId)){ + comActReserveDetailVO.setRecordStatus(comActReserveRecordDO.getStatus()); + } + }); + } + return R.ok(comActReserveDetailVO); + } + return R.fail("未查询到数据"); + + } + + @Override public R pageReserveList(PageUserReserveDTO pageUserReserveDTO) { return R.ok(comActReserveRecordMapper.pageReserveList(new Page<ComActReserveDO>(pageUserReserveDTO.getPageNum(), pageUserReserveDTO.getPageSize()),pageUserReserveDTO)); } -- Gitblit v1.7.1