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,5 +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
@@ -4350,6 +4350,32 @@ @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); /** * 社区后台-分页查询预约登记列表 * @param pageReserveDTO 请求参数 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
@@ -1,9 +1,19 @@ package com.panzhihua.service_community.api; import com.panzhihua.common.model.dtos.community.reserve.*; 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.service_community.service.ComActReserveAnswerContentService; 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.common.model.dtos.community.reserve.*; import com.panzhihua.service_community.service.ComActReserveAnswerContentService; import com.panzhihua.service_community.service.ComActReserveService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -25,6 +35,8 @@ private ComActReserveRecordService comActReserveRecordService; @Resource private ComActReserveAnswerContentService comActReserveAnswerContentService; @Resource private ComActReserveOperationRecordService comActReserveOperationRecordService; /** * 社区后台-分页查询预约登记列表 @@ -86,6 +98,28 @@ return comActReserveService.detailReserveAdmin(reserveId); } /** * 预约登记详情 * @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); } /** * 社区后台-根据社区id统计预约类数据 * @param makeStatisticsDTO 请求参数 @@ -221,4 +255,42 @@ return comActReserveAnswerContentService.exportRegisterAdmin(reserveId); } /** * 我的预约/登记 * @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
@@ -8,6 +8,10 @@ import com.panzhihua.common.model.vos.community.reserve.ComActReserveListAdminVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeLeftStatisticsAdminVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeRightStatisticsAdminVO; 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.community.ComActReserveIndexVo; import com.panzhihua.service_community.model.dos.ComActReserveDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -21,6 +25,8 @@ */ @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
@@ -10,6 +10,10 @@ import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeHandleListAdminVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeListAdminVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO; 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; @@ -23,6 +27,7 @@ */ @Mapper public interface ComActReserveRecordMapper extends BaseMapper<ComActReserveRecordDO> { IPage<ComActReserveRecordDO> pageReserveList(Page page, @Param("pageUserReserveDTO") PageUserReserveDTO pageUserReserveDTO); /** * 社区后台-根据预约id查询预约明细 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
@@ -173,4 +173,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
@@ -117,4 +117,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
@@ -139,4 +139,21 @@ ", updateBy=" + updateBy + "}"; } /** * 状态(1.待处理 2.预约成功 3.预约失败 4.已取消) */ public interface status{ int dcl = 1; int cg = 2; int sb = 3; int yqx = 4; } /** * 类型(1.预约 2.登记) */ public interface type{ int yy=1; int dj=2; } } 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
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.reserve.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.dtos.community.CancelRecordDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComActReserveRecordDO; import java.util.List; @@ -13,6 +15,7 @@ * @describe 预约登记记录表服务类 */ public interface ComActReserveRecordService extends IService<ComActReserveRecordDO> { R cancel(CancelRecordDTO comActReserveRecordDO); /** * 社区后台-根据预约id查询预约明细 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
@@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.reserve.*; import com.panzhihua.common.model.vos.R; 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; /** @@ -11,6 +14,8 @@ * @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
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.reserve.*; import com.panzhihua.common.model.vos.R; @@ -9,6 +10,9 @@ import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeOperationAdminVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper; 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; @@ -25,6 +29,9 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; /** * @auther lyq @@ -34,14 +41,44 @@ @Slf4j @Service public class ComActReserveRecordServiceImpl extends ServiceImpl<ComActReserveRecordMapper, ComActReserveRecordDO> implements ComActReserveRecordService { @Resource private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; @Resource private ComActReserveRecordMapper comActReserveRecordMapper; @Resource private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper; @Resource private ComActReserveOperationRecordService comActReserveOperationRecordService; 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("参数异常"); } /** * 社区后台-根据预约id查询预约明细 * @param pageMakeDTO 请求参数 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -3,6 +3,11 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.google.common.collect.Lists; import com.panzhihua.common.model.dtos.community.reserve.*; @@ -14,6 +19,13 @@ import com.panzhihua.service_community.dao.ComActReserveMapper; import com.panzhihua.service_community.dao.ComActReserveSubMapper; import com.panzhihua.service_community.model.dos.*; 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 com.panzhihua.service_community.service.ComActReserveSubSelectionService; import lombok.extern.slf4j.Slf4j; @@ -27,6 +39,12 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @auther lyq @@ -36,11 +54,150 @@ @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; @Resource private ComActReserveSubSelectionService comActReserveSubSelectionService; 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()); if(comActReserveCommitVO.getType()==ComActReserveRecordDO.type.yy){ userAnswerDO.setStatus(ComActReserveRecordDO.status.dcl); } else { userAnswerDO.setStatus(ComActReserveRecordDO.status.cg); } 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("参数错误"); } /** * 社区后台-分页查询预约登记列表 @@ -379,4 +536,8 @@ return R.ok(this.baseMapper.listReserveAdmin(communityId)); } @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
@@ -33,6 +33,28 @@ 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, end_time, is_del </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> <select id="pageReserveAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveAdminDTO" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveListAdminVO"> SELECT springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
@@ -28,6 +28,22 @@ 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> <select id="pageMakeAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeAdminDTO" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeListAdminVO"> SELECT