springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveRegisterDetailedAdminDTO.java
New file @@ -0,0 +1,28 @@ package com.panzhihua.common.model.dtos.community.reserve; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel("分页查询预约登记列表请求参数") public class PageReserveRegisterDetailedAdminDTO { @ApiModelProperty(value = "分页-当前页数",example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数",example = "10") private Long pageSize = 10L; @ApiModelProperty(value = "开始时间查询") private String startTime; @ApiModelProperty(value = "结束时间查询") private String endTime; @ApiModelProperty(value = "预约登记id") private Long reserveId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterDetailedAnswerVO.java
New file @@ -0,0 +1,20 @@ package com.panzhihua.common.model.vos.community.reserve; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; @Data @ApiModel("登记明细用户填写答案返回参数") public class ComActReserveRegisterDetailedAnswerVO { @ApiModelProperty("题目id") private Long reserveSubId; @ApiModelProperty("回答内容") private String answerContent; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterDetailedVO.java
New file @@ -0,0 +1,27 @@ package com.panzhihua.common.model.vos.community.reserve; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; @Data @ApiModel("登记明细返回参数") public class ComActReserveRegisterDetailedVO { @ApiModelProperty("流水号") private Long id; @ApiModelProperty("用户昵称") private String nickName; @ApiModelProperty("提交时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty("答案列表") private List<ComActReserveRegisterDetailedAnswerVO> answerList; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveSubListVO.java
New file @@ -0,0 +1,24 @@ package com.panzhihua.common.model.vos.community.reserve; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("登记题目列表返回参数返回参数") public class ComActReserveSubListVO { @ApiModelProperty("题目id") private String id; @ApiModelProperty("题目内容") private String content; public ComActReserveSubListVO() { } public ComActReserveSubListVO(String id, String content){ this.id = id; this.content = content; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4535,4 +4535,20 @@ */ @GetMapping("/reserve/admin/register/list/export") R exportRegisterAdmin(@RequestParam("reserveId") Long reserveId); /** * 查询预约登记题目列表 * @param reserveId 预约登记id * @return 约登记题目列表 */ @GetMapping("/reserve/admin/subject/list") R subjectListAdmin(@RequestParam("reserveId") Long reserveId); /** * 分页查询登记明细列表 * @param detailedAdminDTO 请求参数 * @return 登记明细列表 */ @PostMapping("/reserve/admin/register/detailed/list") R registerDetailedListAdmin(@RequestBody PageReserveRegisterDetailedAdminDTO detailedAdminDTO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
@@ -602,4 +602,16 @@ } } @ApiOperation(value = "查询题目列表",response = ComActReserveSubListVO.class) @GetMapping("/subject/list") public R subjectList(@RequestParam("reserveId") Long reserveId) { return communityService.subjectListAdmin(reserveId); } @ApiOperation(value = "分页查询登记明细列表",response = ComActReserveRegisterDetailedVO.class) @PostMapping("/register/detailed/list") public R registerDetailedList(@RequestBody PageReserveRegisterDetailedAdminDTO detailedAdminDTO) { return communityService.registerDetailedListAdmin(detailedAdminDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
@@ -10,11 +10,8 @@ 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.*; 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.*; @@ -37,6 +34,8 @@ private ComActReserveAnswerContentService comActReserveAnswerContentService; @Resource private ComActReserveOperationRecordService comActReserveOperationRecordService; @Resource private ComActReserveSubService comActReserveSubService; /** * 社区后台-分页查询预约登记列表 @@ -250,6 +249,11 @@ return comActReserveService.listReserveAdmin(communityId); } /** * 导出登记明细数据 * @param reserveId 登记id * @return 登记明细数据 */ @GetMapping("/admin/register/list/export") public R exportRegisterAdmin(@RequestParam("reserveId") Long reserveId){ return comActReserveAnswerContentService.exportRegisterAdmin(reserveId); @@ -293,4 +297,24 @@ } return R.ok(); } /** * 查询预约登记题目列表 * @param reserveId 预约登记id * @return 约登记题目列表 */ @GetMapping("/admin/subject/list") public R subjectListAdmin(@RequestParam("reserveId") Long reserveId){ return comActReserveSubService.subjectListAdmin(reserveId); } /** * 分页查询登记明细列表 * @param detailedAdminDTO 请求参数 * @return 登记明细列表 */ @PostMapping("/admin/register/detailed/list") public R registerDetailedListAdmin(@RequestBody PageReserveRegisterDetailedAdminDTO detailedAdminDTO){ return comActReserveAnswerContentService.registerDetailedListAdmin(detailedAdminDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java
@@ -1,6 +1,11 @@ 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.reserve.PageReserveRegisterDetailedAdminDTO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -15,6 +20,26 @@ @Mapper public interface ComActReserveAnswerContentMapper extends BaseMapper<ComActReserveAnswerContentDO> { List<ComActReserveAnswerContentDO> selectListByReserve(@Param("registerStatisticsDTO")Long reserveId); /** * 查询用户填写登记类答案记录列表 * @param reserveId 预约登记id * @return 登记类答案记录列表 */ List<ComActReserveAnswerContentDO> selectListByReserve(@Param("reserveId")Long reserveId); /** * 分页查询用户填写某预约登记记录列表 * @param page 分页参数 * @param detailedAdminDTO 请求参数 * @return 某预约登记记录列表 */ IPage<ComActReserveRegisterDetailedVO> pageRegisterDetailedListAdmin(Page page, @Param("detailedAdminDTO") PageReserveRegisterDetailedAdminDTO detailedAdminDTO); /** * 查询登记记录填写的内容列表 * @param reserveRecordId 预约登记记录id * @return 登记记录填写的内容列表 */ List<ComActReserveRegisterDetailedAnswerVO> getRegisterDetailedAnswerList(@Param("reserveRecordId")Long reserveRecordId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.common.model.vos.community.reserve.ComActReserveSubListVO; import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO; import com.panzhihua.service_community.model.dos.ComActReserveSubDO; import org.apache.ibatis.annotations.Mapper; @@ -16,6 +17,13 @@ @Mapper public interface ComActReserveSubMapper extends BaseMapper<ComActReserveSubDO> { /** * 根据预约登记id查询题目列表 * @param reserveId 预约登记id * @return 题目列表 */ List<ComActReserveSubListVO> getReserveSubjectList(@Param("reserveId") Long reserveId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveAnswerContentDO.java
@@ -33,6 +33,11 @@ private Long reserveSubId; /** * 预约登记记录id */ private Long reserveRecordId; /** * 预约登记题目选项id */ private Long reserveSelectionId; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO; @@ -11,6 +12,18 @@ */ public interface ComActReserveAnswerContentService extends IService<ComActReserveAnswerContentDO> { /** * 导出登记明细数据 * @param reserveId 登记id * @return 登记明细数据 */ R exportRegisterAdmin(Long reserveId); /** * 分页查询登记明细列表 * @param detailedAdminDTO 请求参数 * @return 登记明细列表 */ R registerDetailedListAdmin(PageReserveRegisterDetailedAdminDTO detailedAdminDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveSubService.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComActReserveSubDO; /** @@ -10,4 +11,11 @@ */ public interface ComActReserveSubService extends IService<ComActReserveSubDO> { /** * 查询预约登记题目列表 * @param reserveId 预约登记id * @return 约登记题目列表 */ R subjectListAdmin(Long reserveId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -594,7 +594,7 @@ answerContentDO.setAnswerContent(subSelectionDO.getContent()); answerContentList.add(answerContentDO); } }else if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.wenda)){ }else{ //问答题处理 String values = questnaiteSub.getValues(); ComActQuestnaireAnswerContentDO answerContentDO = new ComActQuestnaireAnswerContentDO(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
@@ -1,11 +1,16 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO; import com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper; import com.panzhihua.service_community.dao.ComActReserveSubMapper; import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO; @@ -20,7 +25,9 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @auther lyq @@ -34,6 +41,11 @@ @Resource private ComActReserveSubMapper comActReserveSubMapper; /** * 导出登记明细数据 * @param reserveId 登记id * @return 登记明细数据 */ @Override public R exportRegisterAdmin(Long reserveId){ QuestnaireAnswersDTO result = new QuestnaireAnswersDTO(); @@ -59,4 +71,55 @@ result.setAnswers(vos); return R.ok(result); } /** * 分页查询登记明细列表 * @param detailedAdminDTO 请求参数 * @return 登记明细列表 */ @Override public R registerDetailedListAdmin(PageReserveRegisterDetailedAdminDTO detailedAdminDTO){ IPage<List<Map<String,Object>>> resultPage = new Page<>(); IPage<ComActReserveRegisterDetailedVO> registerDetailedPage = this.baseMapper.pageRegisterDetailedListAdmin(new Page(detailedAdminDTO.getPageNum(),detailedAdminDTO.getPageSize()),detailedAdminDTO); resultPage.setCurrent(registerDetailedPage.getCurrent()); resultPage.setTotal(registerDetailedPage.getTotal()); resultPage.setSize(registerDetailedPage.getSize()); resultPage.setPages(registerDetailedPage.getPages()); List<List<Map<String,Object>>> resultMapList = new ArrayList<>(); Integer nub = 1; for (ComActReserveRegisterDetailedVO registerDetailed:registerDetailedPage.getRecords()) { List<Map<String,Object>> mapList = new ArrayList<>(); //渲染序号 Map<String,Object> nubMap = new HashMap<>(); nubMap.put("nub",nub); mapList.add(nubMap); //渲染用户昵称 Map<String,Object> nickNameMap = new HashMap<>(); nickNameMap.put("nickName",registerDetailed.getNickName()); mapList.add(nickNameMap); //查询记录填写答案并装载到数据集中 List<ComActReserveRegisterDetailedAnswerVO> registerDetailedAnswerList = this.baseMapper.getRegisterDetailedAnswerList(registerDetailed.getId()); registerDetailedAnswerList.forEach(detailed -> { Map<String,Object> detailedMap = new HashMap<>(); detailedMap.put(detailed.getReserveSubId() + "",detailed.getAnswerContent()); mapList.add(detailedMap); }); //渲染登记流水号 Map<String,Object> idMap = new HashMap<>(); idMap.put("id",registerDetailed.getId()); mapList.add(idMap); //渲染登记时间 Map<String,Object> timeMap = new HashMap<>(); timeMap.put("time",registerDetailed.getCreateAt()); mapList.add(timeMap); resultMapList.add(mapList); nub++; } resultPage.setRecords(resultMapList); return R.ok(registerDetailedPage); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -158,8 +158,6 @@ } } if(!answerContentList.isEmpty()){ comActReserveAnswerContentService.saveBatch(answerContentList); //更新回答用户数量 Integer joinCount = comActReserveDO.getJoinCount(); comActReserveDO.setJoinCount(joinCount != null ? joinCount + 1 : 1); @@ -180,6 +178,12 @@ userAnswerDO.setStatus(ComActReserveRecordDO.status.cg); } comActReserveRecordMapper.insert(userAnswerDO); //给答题记录赋值预约登记记录id answerContentList.forEach(answerContent -> { answerContent.setReserveRecordId(userAnswerDO.getId()); }); comActReserveAnswerContentService.saveBatch(answerContentList); //新增用户操作记录 ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO(); comActReserveOperationRecordDO.setReserveId(comActReserveCommitVO.getId()); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveSubServiceImpl.java
@@ -1,11 +1,16 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.reserve.ComActReserveSubListVO; import com.panzhihua.service_community.dao.ComActReserveSubMapper; import com.panzhihua.service_community.model.dos.ComActReserveSubDO; import com.panzhihua.service_community.service.ComActReserveSubService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * @auther lyq @@ -16,4 +21,23 @@ @Service public class ComActReserveSubServiceImpl extends ServiceImpl<ComActReserveSubMapper, ComActReserveSubDO> implements ComActReserveSubService { /** * 查询预约登记题目列表 * @param reserveId 预约登记id * @return 约登记题目列表 */ @Override public R subjectListAdmin(Long reserveId){ List<ComActReserveSubListVO> resultList = new ArrayList<>(100); resultList.add(new ComActReserveSubListVO("nub","序号")); resultList.add(new ComActReserveSubListVO("nickName","用户昵称")); List<ComActReserveSubListVO> list = this.baseMapper.getReserveSubjectList(reserveId); if(list != null && !list.isEmpty()){ resultList.addAll(list); } resultList.add(new ComActReserveSubListVO("id","登记流水")); resultList.add(new ComActReserveSubListVO("time","登记时间")); return R.ok(resultList); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
@@ -15,11 +15,12 @@ <result column="create_at" property="createAt"/> <result column="update_by" property="updateBy"/> <result column="update_at" property="updateAt"/> <result column="reserve_record_id" property="reserveRecordId"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, reserve_sub_id, reserve_selection_id, user_id, type, choice, answer_content, create_by, create_at, update_by, update_at id, reserve_sub_id, reserve_selection_id, user_id, type, choice, answer_content, create_by, create_at, update_by, update_at, reserve_record_id </sql> <select id="selectListByReserve" resultType="com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO"> @@ -30,10 +31,33 @@ LEFT JOIN com_act_reserve_sub qs ON ac.reserve_sub_id = qs.id LEFT JOIN com_act_reserve qn ON qs.reserve_id = qn.id WHERE qn.id = 2 qn.id = #{reserveId} ORDER BY ac.user_id, qs.id </select> <select id="pageRegisterDetailedListAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO"> SELECT carr.id, su.nick_name, carr.create_at FROM com_act_reserve_record AS carr LEFT JOIN sys_user AS su ON su.user_id = carr.user_id WHERE reserve_id = #{detailedAdminDTO.reserveId} <if test='detailedAdminDTO.startTime != null and detailedAdminDTO.startTime != ""'> AND carr.create_at <![CDATA[ >= ]]> #{detailedAdminDTO.startTime} </if> <if test='detailedAdminDTO.endTime != null and detailedAdminDTO.endTime != ""'> AND carr.create_at <![CDATA[ <= ]]> #{detailedAdminDTO.endTime} </if> </select> <select id="getRegisterDetailedAnswerList" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO"> select reserve_sub_id,answer_content from com_act_reserve_answer_content where reserve_record_id = #{reserveRecordId} order by id asc </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml
@@ -21,4 +21,8 @@ id, reserve_id, sort, type, key, content, create_by, create_at, update_by, update_at </sql> <select id="getReserveSubjectList" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveSubListVO"> select id,content from com_act_reserve_sub where reserve_id = #{reserveId} order by id asc </select> </mapper>