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.ComActReserveRecordListVO;
|
import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO;
|
import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO;
|
import com.panzhihua.common.utlis.DateUtils;
|
import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper;
|
import com.panzhihua.service_community.dao.ComActReserveSubMapper;
|
import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
|
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
|
import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO;
|
import com.panzhihua.service_community.model.dos.ComActReserveSubDO;
|
import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
|
import com.panzhihua.service_community.service.ComActReserveSubService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
|
/**
|
* @auther lyq
|
* @create 2021-08-23 10:33:32
|
* @describe 预约登记回答记录内容 服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class ComActReserveAnswerContentServiceImpl extends ServiceImpl<ComActReserveAnswerContentMapper, ComActReserveAnswerContentDO> implements ComActReserveAnswerContentService {
|
|
@Resource
|
private ComActReserveSubMapper comActReserveSubMapper;
|
|
/**
|
* 导出登记明细数据
|
* @param reserveId 登记id
|
* @return 登记明细数据
|
*/
|
@Override
|
public R exportRegisterAdmin(Long reserveId){
|
QuestnaireAnswersDTO result = new QuestnaireAnswersDTO();
|
|
//查询题目
|
List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda().eq(ComActReserveSubDO::getReserveId, reserveId));
|
List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>();
|
list.forEach(subDo -> {
|
ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
|
BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
|
listSubVo.add(comActQuestnaireSubVO);
|
});
|
result.setSubs(listSubVo);
|
|
//查询用户回答
|
List<ComActQuestnaireAnswerContentVO> vos = this.baseMapper.selectListByReserve(reserveId);
|
result.setAnswers(vos);
|
|
return R.ok(result);
|
}
|
|
/**
|
* 分页查询登记明细列表
|
* @param detailedAdminDTO 请求参数
|
* @return 登记明细列表
|
*/
|
@Override
|
public R registerDetailedListAdmin(PageReserveRegisterDetailedAdminDTO detailedAdminDTO){
|
IPage<HashMap<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<HashMap<String,Object>> resultMapList = new ArrayList<>();
|
Integer nub = 1;
|
if(!registerDetailedPage.getRecords().isEmpty()){
|
for (ComActReserveRegisterDetailedVO registerDetailed:registerDetailedPage.getRecords()) {
|
//渲染序号
|
HashMap<String,Object> map = new HashMap<>();
|
map.put("nub",nub);
|
//渲染用户昵称
|
map.put("nickName",registerDetailed.getNickName());
|
//查询记录填写答案并装载到数据集中
|
List<ComActReserveRegisterDetailedAnswerVO> registerDetailedAnswerList = this.baseMapper.getRegisterDetailedAnswerList(registerDetailed.getId());
|
if(!registerDetailedAnswerList.isEmpty()){
|
for (ComActReserveRegisterDetailedAnswerVO detailed:registerDetailedAnswerList) {
|
map.put(detailed.getReserveSubId() + "",detailed.getAnswerContent());
|
}
|
}
|
//渲染登记流水号
|
map.put("id",registerDetailed.getId());
|
//渲染登记时间
|
map.put("time", DateUtils.format(registerDetailed.getCreateAt(),DateUtils.ymdhms_format));
|
resultMapList.add(map);
|
nub++;
|
}
|
}
|
resultPage.setRecords(resultMapList);
|
return R.ok(resultPage);
|
}
|
}
|