springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComReserveApi.java
New file @@ -0,0 +1,71 @@ package com.panzhihua.applets.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.CancelRecordDTO; import com.panzhihua.common.model.dtos.community.OperationDetailDTO; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActReserveCommitVO; import com.panzhihua.common.service.community.CommunityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * 预约/登记服务 */ @Slf4j @RestController @RequestMapping("reserve") @Api(tags = "预约/登记服务") public class ComReserveApi extends BaseController { @Resource private CommunityService communityService; @ApiOperation("详情") @GetMapping("/detail") public R detail(@RequestParam("id") Long id){ return communityService.reserveDetail(id); } @ApiOperation("用户提交数据") @PostMapping("/commit") public R commit(@RequestBody ComActReserveCommitVO comActReserveCommitVO){ comActReserveCommitVO.setCommunityId(this.getCommunityId()); comActReserveCommitVO.setUserId(this.getUserId()); return communityService.reserveCommit(comActReserveCommitVO); } /** * 我的预约/登记 * @param pageUserReserveDTO * @return */ @ApiOperation("我的预约/登记") @PostMapping("/userReserveList") public R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO){ pageUserReserveDTO.setUserId(this.getUserId()); return communityService.userReserveList(pageUserReserveDTO); } /** * 取消预约/登记 */ @ApiOperation("取消预约/登记") @PostMapping("/cancelReserve") public R userCancelReserve(@RequestBody CancelRecordDTO cancelRecordDTO){ return communityService.userCancelReserve(cancelRecordDTO); } /** * 预约详情操作记录 */ @ApiOperation("预约详情操作记录") @PostMapping("/detailOperation") public R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO){ comActReserveOperationRecordDO.setUserId(this.getUserId()); return communityService.reserveOperation(comActReserveOperationRecordDO); } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/CancelRecordDTO.java
New file @@ -0,0 +1,25 @@ package com.panzhihua.common.model.dtos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("取消预约/登记参数") public class CancelRecordDTO { @ApiModelProperty("记录id") private Long id; /** * 内容 */ @ApiModelProperty("内容") private String content; /** * 备注 */ @ApiModelProperty("备注") private String remark; private Integer status; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/OperationDetailDTO.java
New file @@ -0,0 +1,23 @@ package com.panzhihua.common.model.dtos.community; import lombok.Data; @Data public class OperationDetailDTO { /** * 预约登记记录id */ private Long reserveRecordId; /** * 用户id */ private Long userId; /** * 类型(1.本人操作 2.社区操作) */ private Integer type; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageUserReserveDTO.java
New file @@ -0,0 +1,12 @@ package com.panzhihua.common.model.dtos.community; import lombok.Data; @Data public class PageUserReserveDTO { private Integer pageNum; private Integer pageSize; private Integer type; private Long userId; private Integer status; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
@@ -29,4 +29,10 @@ @ApiModelProperty("应用位置问卷调查列表") private List<ComActQuestnaireAppVO> applicationQuestnaireList; @ApiModelProperty("banner预约/登记列表") private List<ComActReserveIndexVo> comActReserveIndexBannerVos; @ApiModelProperty("应用预约/登记列表") private List<ComActReserveIndexVo> comActReserveIndexApplicationVos; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveCommitVO.java
New file @@ -0,0 +1,22 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("提交预约/登记参数") public class ComActReserveCommitVO { @ApiModelProperty("记录id") private Long id; @ApiModelProperty("表单json") private String jsonObject; @ApiModelProperty("用户id") private Long userId; @ApiModelProperty("社区id") private Long communityId; @ApiModelProperty("手机号") private String phone; @ApiModelProperty("类型 1预约 2登记") private Integer type; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveIndexVo.java
New file @@ -0,0 +1,24 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("预约/登记返回参数") public class ComActReserveIndexVo { private Long id; @ApiModelProperty("标题") private String title; @ApiModelProperty("类型(1.预约 2.登记) ") private Integer type; @ApiModelProperty("图标类型(1.预设1 2.预设2 3.预设3 4.预设4 5.用户自定义图片)") private Integer imgType; @ApiModelProperty("图标url(当img_type为5时,此字段的值为图标url地址)") private String imgUrl; @ApiModelProperty("是否是首页顶部(1.是 2.否)") private Integer adverPositionTop; @ApiModelProperty("是否是首页应用(1.是 2.否)") private Integer adverPositionApplication; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4348,4 +4348,30 @@ */ @GetMapping("/easyphoto/noHandle/list") R easyPhotoNoHandleList(@RequestParam("communityId") Long communityId); @GetMapping("/reserve/detail") R reserveDetail(@RequestParam("id") Long id); @PostMapping("/reserve/commit") R reserveCommit(@RequestBody ComActReserveCommitVO comActReserveCommitVO); /** * 我的预约/登记 * @param pageUserReserveDTO * @return */ @PostMapping("/reserve/userReserveList") R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO); /** * 取消预约/登记 */ @PostMapping("/reserve/cancelReserve") R userCancelReserve(@RequestBody CancelRecordDTO comActReserveRecordDO); /** * 预约详情操作记录 */ @PostMapping("/reserve/detailOperation") R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
@@ -1,5 +1,17 @@ package com.panzhihua.service_community.api; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.CancelRecordDTO; import com.panzhihua.common.model.dtos.community.OperationDetailDTO; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActReserveCommitVO; import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper; import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO; import com.panzhihua.service_community.model.dos.ComActReserveRecordDO; import com.panzhihua.service_community.service.ComActReserveOperationRecordService; import com.panzhihua.service_community.service.ComActReserveRecordService; import com.panzhihua.service_community.service.ComActReserveService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -16,6 +28,69 @@ @Resource private ComActReserveService comActReserveService; @Resource private ComActReserveRecordService comActReserveRecordService; @Resource private ComActReserveOperationRecordService comActReserveOperationRecordService; /** * 预约登记详情 * @param id * @return */ @GetMapping("/detail") public R detail(@RequestParam("id") Long id){ if(id!=null){ return R.ok(comActReserveService.getById(id)); } return R.fail(); } /** * 小程序提交预约/登记 * @param comActReserveCommitVO * @return */ @PostMapping("/commit") public R commit(@RequestBody ComActReserveCommitVO comActReserveCommitVO){ return comActReserveService.commit(comActReserveCommitVO); } /** * 我的预约/登记 * @param pageUserReserveDTO * @return */ @PostMapping("/userReserveList") public R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO){ return comActReserveService.pageReserveList(pageUserReserveDTO); } /** * 取消预约/登记 */ @PostMapping("/cancelReserve") public R userCancelReserve(@RequestBody CancelRecordDTO cancelRecordDTO){ return comActReserveRecordService.cancel(cancelRecordDTO); } /** * 预约详情操作记录 */ @PostMapping("/detailOperation") public R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO){ if(comActReserveOperationRecordDO!=null){ QueryWrapper<ComActReserveOperationRecordDO> queryWrapper=new QueryWrapper<>(); if(comActReserveOperationRecordDO.getUserId()!=null){ queryWrapper.eq("user_id",comActReserveOperationRecordDO.getUserId()); } if(comActReserveOperationRecordDO.getReserveRecordId()!=null){ queryWrapper.eq("reserve_record_id",comActReserveOperationRecordDO.getReserveRecordId()); } if(comActReserveOperationRecordDO.getType()!=null){ queryWrapper.eq("type",comActReserveOperationRecordDO.getType()); } queryWrapper.orderByDesc("reserve_time"); return R.ok(comActReserveOperationRecordService.list(queryWrapper)); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java
@@ -1,8 +1,16 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActReserveIndexVo; import com.panzhihua.service_community.model.dos.ComActReserveDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @auther lyq @@ -11,5 +19,6 @@ */ @Mapper public interface ComActReserveMapper extends BaseMapper<ComActReserveDO> { List<ComActReserveIndexVo> indexBanner(Long communityId); List<ComActReserveIndexVo> indexApplication(Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java
@@ -1,8 +1,13 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.service_community.model.dos.ComActReserveDO; import com.panzhihua.service_community.model.dos.ComActReserveRecordDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * @auther lyq @@ -11,5 +16,5 @@ */ @Mapper public interface ComActReserveRecordMapper extends BaseMapper<ComActReserveRecordDO> { IPage<ComActReserveRecordDO> pageReserveList(Page page, @Param("pageUserReserveDTO") PageUserReserveDTO pageUserReserveDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
@@ -147,4 +147,8 @@ ", updateBy=" + updateBy + "}"; } public interface isRepeat{ int yes=1; int no=2; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java
@@ -99,4 +99,22 @@ ", createBy=" + createBy + "}"; } /** * 1本人 2社区 */ public interface type{ int br=1; int sq=2; } /** * 状态(1.提交 2.预约成功 3.预约失败 4.取消) */ public interface status{ int ytj=1; int cg=2; int sb=3; int qx=4; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java
@@ -129,4 +129,14 @@ ", updateBy=" + updateBy + "}"; } /** * 状态(1.待处理 2.预约成功 3.预约失败 4.已取消) */ public interface status{ int dcl = 1; int cg = 2; int sb = 3; int yqx = 4; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -45,6 +46,7 @@ /** * 问卷调查题目key */ @TableField("`key`") private String key; /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -40,6 +41,7 @@ /** * 预约登记选项key */ @TableField("`key`") private String key; /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveOperationRecordService.java
@@ -4,6 +4,7 @@ import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO; import java.util.Date; import java.util.List; /** * @auther lyq @@ -26,5 +27,4 @@ */ void addReserveOperationRecord(Long reserveId, Long reserveRecordId, Long userId, Integer type , String phone, String reserveContent,String remark,Integer status,Long createBy); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java
@@ -1,6 +1,8 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.CancelRecordDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComActReserveRecordDO; /** @@ -9,5 +11,5 @@ * @describe 预约登记记录表服务类 */ public interface ComActReserveRecordService extends IService<ComActReserveRecordDO> { R cancel(CancelRecordDTO comActReserveRecordDO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
@@ -1,6 +1,9 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActReserveCommitVO; import com.panzhihua.service_community.model.dos.ComActReserveDO; /** @@ -9,5 +12,6 @@ * @describe 预约登记表服务类 */ public interface ComActReserveService extends IService<ComActReserveDO> { R commit(ComActReserveCommitVO comActReserveCommitVO); R pageReserveList(PageUserReserveDTO pageUserReserveDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -59,6 +59,8 @@ private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper; @Resource private ComActQuestnaireDAO comActQuestnaireDAO; @Resource private ComActReserveMapper comActReserveMapper; /** * 分页查询随手拍 * @@ -618,7 +620,16 @@ if(!applicationQuestnaireList.isEmpty()){ easyPhotoRewardVO.setApplicationQuestnaireList(applicationQuestnaireList); } //查询社区正在进行中的banner预约/登记列表 List<ComActReserveIndexVo> comActReserveIndexVos=comActReserveMapper.indexBanner(communityId); if(!comActReserveIndexVos.isEmpty()){ easyPhotoRewardVO.setComActReserveIndexBannerVos(comActReserveIndexVos); } //查询社区正在进行中的应用预约/登记列表 List<ComActReserveIndexVo> comActReserveIndexApplicationVos=comActReserveMapper.indexApplication(communityId); if(!comActReserveIndexApplicationVos.isEmpty()){ easyPhotoRewardVO.setComActReserveIndexApplicationVos(comActReserveIndexApplicationVos); } return R.ok(easyPhotoRewardVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
@@ -1,11 +1,19 @@ package com.panzhihua.service_community.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.CancelRecordDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper; import com.panzhihua.service_community.dao.ComActReserveRecordMapper; import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO; import com.panzhihua.service_community.model.dos.ComActReserveRecordDO; import com.panzhihua.service_community.service.ComActReserveRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; /** * @auther lyq @@ -15,5 +23,38 @@ @Slf4j @Service public class ComActReserveRecordServiceImpl extends ServiceImpl<ComActReserveRecordMapper, ComActReserveRecordDO> implements ComActReserveRecordService { @Resource private ComActReserveRecordMapper comActReserveRecordMapper; @Resource private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; private final static String CANCEL="用户取消"; @Override @Transactional public R cancel(CancelRecordDTO comActReserveRecord) { if(comActReserveRecord!=null&&comActReserveRecord.getId()!=null){ ComActReserveRecordDO comActReserveRecordDO=comActReserveRecordMapper.selectById(comActReserveRecord.getId()); if(comActReserveRecordDO!=null&&comActReserveRecordDO.getStatus()!=ComActReserveRecordDO.status.yqx){ comActReserveRecordDO.setStatus(ComActReserveRecordDO.status.yqx); comActReserveRecordDO.setContent(comActReserveRecord.getContent()); int result =comActReserveRecordMapper.updateById(comActReserveRecordDO); if(result>0){ ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO(); comActReserveOperationRecordDO.setReserveId(comActReserveRecordDO.getReserveId()); comActReserveOperationRecordDO.setReserveRecordId(comActReserveRecordDO.getId()); comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br); comActReserveOperationRecordDO.setReserveTime(DateUtil.date()); comActReserveOperationRecordDO.setReserveContent(CANCEL); comActReserveOperationRecordDO.setPhone(comActReserveRecordDO.getPhone()); comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.qx); comActReserveOperationRecordDO.setUserId(comActReserveRecordDO.getUserId()); comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO); return R.ok(); } } return R.fail("无法重复取消"); } return R.fail("参数异常"); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -1,11 +1,27 @@ package com.panzhihua.service_community.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.service_community.dao.ComActReserveMapper; import com.panzhihua.service_community.model.dos.ComActReserveDO; import com.panzhihua.common.model.dtos.community.PageUserReserveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActReserveCommitVO; import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO; 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.ComActReserveService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @auther lyq @@ -15,5 +31,146 @@ @Slf4j @Service public class ComActReserveServiceImpl extends ServiceImpl<ComActReserveMapper, ComActReserveDO> implements ComActReserveService { @Resource private ComActReserveMapper comActReserveMapper; @Resource private ComActReserveSubMapper comActReserveSubMapper; @Resource private ComActReserveSubSelectionMapper comActReserveSubSelectionMapper; @Resource private ComActReserveAnswerContentService comActReserveAnswerContentService; @Resource private ComActReserveRecordMapper comActReserveRecordMapper; @Resource private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; private final static String COMMIT="用户已提交"; @Override @Transactional public R commit(ComActReserveCommitVO comActReserveCommitVO) { if(comActReserveCommitVO!=null){ Long userId=comActReserveCommitVO.getUserId(); Date nowDate=DateUtil.date(); ComActReserveDO comActReserveDO=comActReserveMapper.selectById(comActReserveCommitVO.getId()); 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){ return R.fail("提交失败,不可重复预约"); } else { 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)){ //单选题处理 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.setUserId(userId); answerContentDO.setCreateAt(nowDate); answerContentDO.setCreateBy(userId); 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.setUserId(userId); answerContentDO.setCreateAt(nowDate); answerContentDO.setCreateBy(userId); 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.wenda)){ //问答题处理 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()){ comActReserveAnswerContentService.saveBatch(answerContentList); //更新回答用户数量 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.setUserId(userId); userAnswerDO.setType(comActReserveCommitVO.getType()); userAnswerDO.setCreateAt(nowDate); userAnswerDO.setJsonObject(comActReserveCommitVO.getJsonObject()); userAnswerDO.setStatus(ComActReserveRecordDO.status.dcl); comActReserveRecordMapper.insert(userAnswerDO); //新增用户操作记录 ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO(); comActReserveOperationRecordDO.setReserveId(comActReserveCommitVO.getId()); comActReserveOperationRecordDO.setReserveRecordId(userAnswerDO.getId()); comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br); comActReserveOperationRecordDO.setReserveTime(DateUtil.date()); comActReserveOperationRecordDO.setReserveContent(COMMIT); comActReserveOperationRecordDO.setPhone(comActReserveCommitVO.getPhone()); comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.ytj); comActReserveOperationRecordDO.setUserId(comActReserveCommitVO.getUserId()); comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO); } } } } } return R.fail("参数错误"); } @Override public R pageReserveList(PageUserReserveDTO pageUserReserveDTO) { return R.ok(comActReserveRecordMapper.pageReserveList(new Page<ComActReserveDO>(pageUserReserveDTO.getPageNum(), pageUserReserveDTO.getPageSize()),pageUserReserveDTO)); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml
@@ -31,4 +31,26 @@ id, community_id, type, title, view_num, join_all_count, join_count, img_type, img_url, status, publish_time, is_repeat, remark, json_object, adver_position_top, adver_position_application, create_at, create_by, update_at, update_by </sql> <select id="indexBanner" resultType="com.panzhihua.common.model.vos.community.ComActReserveIndexVo"> select id,title,type,img_type, img_url,adver_position_top, adver_position_application from com_act_reserve where status = 1 and adver_position_top = 1 <if test="communityId !=null"> and community_id =#{communityId} </if> </select> <select id="indexApplication" resultType="com.panzhihua.common.model.vos.community.ComActReserveIndexVo"> select id,title,type,img_type, img_url,adver_position_top, adver_position_application from com_act_reserve <where> status = 1 and adver_position_application = 1 <if test="communityId !=null"> and community_id =#{communityId} </if> </where> </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
@@ -28,4 +28,20 @@ id, user_id, reserve_id, community_id, type, name, phone, status, content, remark, act_remark, reserve_time, json_object, create_at, create_by, update_at, update_by </sql> <select id="pageReserveList" resultMap="BaseResultMap"> select * from com_act_reserve_record <where> 1=1 <if test="pageUserReserveDTO.type !=null"> and type =#{pageUserReserveDTO.type} </if> <if test="pageUserReserveDTO.status !=null"> and status =#{pageUserReserveDTO.status} </if> <if test="pageUserReserveDTO.userId !=null"> and user_id =#{pageUserReserveDTO.userId} </if> </where> </select> </mapper>