From 134eca4362913537b63d35b51b2a9c2a1870e1a5 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期五, 03 十二月 2021 15:57:35 +0800 Subject: [PATCH] 房屋租赁修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 176 insertions(+), 4 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 51c8afb..1c2ff77 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,6 +10,7 @@ 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; @@ -36,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; @@ -113,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>() @@ -226,6 +231,131 @@ return R.fail("参数错误"); } + @Override + public R commitNoToken(ComActReserveCommitVO comActReserveCommitVO) { + if(comActReserveCommitVO!=null){ + ComActReserveDO comActReserveDO=new ComActReserveDO(); + Date nowDate=DateUtil.date(); + //查询预约登记记录 + List<ComActReserveDO> list=comActReserveMapper.selectList(new QueryWrapper<ComActReserveDO>().lambda().eq(ComActReserveDO::getCommunityId,comActReserveCommitVO.getCommunityId()).eq(ComActReserveDO::getTitle,"返攀登记")); + if(!list.isEmpty()){ + comActReserveDO=list.get(0); + } + comActReserveCommitVO.setId(comActReserveDO.getId()); + if(comActReserveDO!=null){ + List<QuestnaiteSubVO> questnaiteSubVOS = JSON.parseArray(comActReserveCommitVO.getJsonObject(),QuestnaiteSubVO.class); + if(!questnaiteSubVOS.isEmpty()){ + Long questId=comActReserveCommitVO.getId(); + List<ComActReserveAnswerContentDO> answerContentList=new ArrayList<>(); + for(QuestnaiteSubVO questnaiteSub:questnaiteSubVOS){ + //查询用户填写题目 + ComActReserveSubDO questnaireSubDO = comActReserveSubMapper.selectOne(new QueryWrapper<ComActReserveSubDO>().lambda() + .eq(ComActReserveSubDO::getReserveId,questId).eq(ComActReserveSubDO::getKey,questnaiteSub.getKey())); + if(questnaireSubDO == null){ + log.error("未查询到调查问卷题目,题目名称:" + questnaiteSub.getLabel() + "题目key:" + questnaiteSub.getKey()); + continue; + } + Long queSubId = questnaireSubDO.getId(); + //根据上传的类型查询不同的题目选项 + if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan) || questnaiteSub.getType().equals(QuestnaiteSubVO.type.imgselect)){ + //单选题处理 + ComActReserveSubSelectionDO subSelectionDO = comActReserveSubSelectionMapper.selectOne(new QueryWrapper<ComActReserveSubSelectionDO>() + .lambda().eq(ComActReserveSubSelectionDO::getReserveSubId,queSubId).eq(ComActReserveSubSelectionDO::getReserveId,questId) + .eq(ComActReserveSubSelectionDO::getKey,questnaiteSub.getValues())); + if(subSelectionDO == null){ + log.error("未查询到调查问卷选项,题目名称:" + questnaiteSub.getLabel() + "选项key:" + questnaiteSub.getValues()); + continue; + } + + ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); + answerContentDO.setCreateAt(nowDate); + answerContentDO.setReserveSelectionId(subSelectionDO.getId()); + answerContentDO.setReserveSubId(queSubId); + answerContentDO.setType(1); + answerContentDO.setChoice(subSelectionDO.getOptionName()); + answerContentDO.setAnswerContent(subSelectionDO.getContent()); + answerContentList.add(answerContentDO); + }else if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.duoxuan)){ + //多选题处理 + String values = questnaiteSub.getValues(); + String []value = values.split(","); + for (int i = 0; i < value.length; i++) { + ComActReserveSubSelectionDO subSelectionDO = comActReserveSubSelectionMapper.selectOne(new QueryWrapper<ComActReserveSubSelectionDO>() + .lambda().eq(ComActReserveSubSelectionDO::getReserveSubId,queSubId).eq(ComActReserveSubSelectionDO::getReserveId,questId) + .eq(ComActReserveSubSelectionDO::getKey,value[i])); + if(subSelectionDO == null){ + log.error("未查询到调查问卷选项,题目名称:" + questnaiteSub.getLabel() + "选项key:" + questnaiteSub.getValues()); + continue; + } + ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); + answerContentDO.setCreateAt(nowDate); + answerContentDO.setReserveSelectionId(subSelectionDO.getId()); + answerContentDO.setReserveSubId(queSubId); + answerContentDO.setType(1); + answerContentDO.setChoice(subSelectionDO.getOptionName()); + answerContentDO.setAnswerContent(subSelectionDO.getContent()); + answerContentList.add(answerContentDO); + } + }else{ + //文字描述不做处理 + if(!questnaiteSub.getType().equals(QuestnaiteSubVO.type.describe)){ + //问答题处理 + String values = questnaiteSub.getValues(); + ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO(); + answerContentDO.setCreateAt(nowDate); + answerContentDO.setReserveSubId(queSubId); + answerContentDO.setType(2); + answerContentDO.setAnswerContent(values); + answerContentList.add(answerContentDO); + } + } + } + if(!answerContentList.isEmpty()){ + //更新回答用户数量 + Integer joinCount = comActReserveDO.getJoinCount(); + comActReserveDO.setJoinCount(joinCount != null ? joinCount + 1 : 1); + comActReserveMapper.updateById(comActReserveDO); + //新增用户答题记录 + ComActReserveRecordDO userAnswerDO = new ComActReserveRecordDO(); + userAnswerDO.setContent(comActReserveCommitVO.getContent()!=null?comActReserveCommitVO.getContent():""); + userAnswerDO.setName(comActReserveCommitVO.getName()!=null?comActReserveCommitVO.getName():""); + userAnswerDO.setCommunityId(comActReserveCommitVO.getCommunityId()); + userAnswerDO.setPhone(comActReserveCommitVO.getPhone()!=null?comActReserveCommitVO.getPhone():""); + userAnswerDO.setReserveId(questId); + userAnswerDO.setReserveTime(comActReserveCommitVO.getReserveTime()!=null?comActReserveCommitVO.getReserveTime():new Date()); + userAnswerDO.setType(comActReserveCommitVO.getType()!=null? comActReserveCommitVO.getType() : 2); + userAnswerDO.setCreateAt(nowDate); + userAnswerDO.setJsonObject(comActReserveCommitVO.getJsonObject()); + userAnswerDO.setStatus(ComActReserveRecordDO.status.cg); + comActReserveRecordService.saveOrUpdate(userAnswerDO); + + //给答题记录赋值预约登记记录id + answerContentList.forEach(answerContent -> { + answerContent.setReserveRecordId(userAnswerDO.getId()); + }); + comActReserveAnswerContentService.saveBatch(answerContentList); + //新增用户操作记录 + ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO(); + comActReserveOperationRecordDO.setReserveId(comActReserveCommitVO.getId()); + comActReserveOperationRecordDO.setReserveRecordId(userAnswerDO.getId()); + comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br); + comActReserveOperationRecordDO.setCreateAt(DateUtil.date()); + comActReserveOperationRecordDO.setReserveTime(comActReserveCommitVO.getReserveTime()); + comActReserveOperationRecordDO.setReserveContent(COMMIT); + //comActReserveOperationRecordDO.setPhone(comActReserveCommitVO.getPhone()); + comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.ytj); + //comActReserveOperationRecordDO.setRemark(comActReserveCommitVO.getContent()); + comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO); + return R.ok("提交成功"); + } + } + + + } + } + return R.fail("参数错误"); + } + /** * 社区后台-分页查询预约登记列表 @@ -312,6 +442,7 @@ subSelectionDO.setCreateAt(nowDate); subSelectionDO.setType(subSelect.getType()); subSelectionDO.setKey(subSelect.getKey()); + subSelectionDO.setUrl(subSelect.getUrl()); subSelectionList.add(subSelectionDO); } } @@ -573,8 +704,8 @@ 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")); + List<ComActReserveRecordDO> list=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("user_id",userId).eq("reserve_id",id).in("status",1,2).orderByDesc("create_at")); + List<ComActReserveRecordDO> secondlist=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("user_id",userId).eq("reserve_id",id).orderByDesc("create_at")); //判断当前数据是否可重复提交 if(comActReserveDO.getIsRepeat()==ComActReserveDetailVO.isOk.y||list.isEmpty()){ comActReserveDetailVO.setIsOk(ComActReserveDetailVO.isOk.n); @@ -611,7 +742,14 @@ @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); } /** @@ -623,4 +761,38 @@ 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