package com.gkhy.exam.institutionalaccess.service.serviceImpl;
|
|
import com.gkhy.exam.institutionalaccess.entity.ThStudyAuth;
|
import com.gkhy.exam.institutionalaccess.entity.ThStudyTrack;
|
import com.gkhy.exam.institutionalaccess.model.query.ThStudyDetailQuery;
|
import com.gkhy.exam.institutionalaccess.model.vo.ThStudyAuthVO;
|
import com.gkhy.exam.institutionalaccess.model.vo.ThStudyDetailVO;
|
import com.gkhy.exam.institutionalaccess.model.vo.ThStudyTrackVO;
|
import com.gkhy.exam.institutionalaccess.service.ThStudyAuthService;
|
import com.gkhy.exam.institutionalaccess.service.ThStudyDetailService;
|
import com.gkhy.exam.institutionalaccess.service.ThStudyRecordManagerService;
|
import com.gkhy.exam.institutionalaccess.service.ThStudyTrackService;
|
import com.gkhy.exam.institutionalaccess.utils.ConvertTimeUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@Service("ThStudyRecordManagerService")
|
public class ThStudyRecordManagerServiceImpl implements ThStudyRecordManagerService {
|
@Autowired
|
private ThStudyDetailService thStudyDetailService;
|
@Autowired
|
private ThStudyTrackService thStudyTrackService;
|
@Autowired
|
private ThStudyAuthService thStudyAuthService;
|
|
@Override
|
public List<ThStudyDetailVO> listByPage(ThStudyDetailQuery query) {
|
List<ThStudyDetailVO> thStudyDetailVOS = thStudyDetailService.listByPage(query);
|
|
if(!CollectionUtils.isEmpty(thStudyDetailVOS)){
|
List<String> detailUuids = thStudyDetailVOS.stream().map(ThStudyDetailVO::getUuid).collect(Collectors.toList());
|
//获取认证记录
|
List<ThStudyAuth> authList = thStudyAuthService.getListByStudyDetaiIds(detailUuids);
|
//获取轨迹
|
List<ThStudyTrack> trackList = thStudyTrackService.getListByStudyDetaiIds(detailUuids);
|
|
for(ThStudyDetailVO thStudyDetailVO : thStudyDetailVOS){
|
thStudyDetailVO.setDurationDesc(ConvertTimeUtils.convertTimeToString(thStudyDetailVO.getDuration()));
|
thStudyDetailVO.setStartPositionDesc(ConvertTimeUtils.convertTimeToString(thStudyDetailVO.getStartPosition()));
|
thStudyDetailVO.setFinishPositionDesc(ConvertTimeUtils.convertTimeToString(thStudyDetailVO.getFinishPosition()));
|
List<ThStudyAuthVO> thStudyAuthVOList = authList.stream().filter(a -> a.getStudyDetailUuid().equals(thStudyDetailVO.getUuid()))
|
.map(a -> {
|
ThStudyAuthVO thStudyAuthVO = new ThStudyAuthVO();
|
BeanUtils.copyProperties(a, thStudyAuthVO);
|
thStudyAuthVO.setAuthPostionDesc(ConvertTimeUtils.convertTimeToString(a.getAuthPosition()));
|
return thStudyAuthVO;
|
}).collect(Collectors.toList());
|
|
List<ThStudyTrackVO> trackVOList = trackList.stream().filter(t -> t.getStudyDetailUuid().equals(thStudyDetailVO.getUuid()))
|
.map(t -> {
|
ThStudyTrackVO thStudyTrackVO = new ThStudyTrackVO();
|
BeanUtils.copyProperties(t, thStudyTrackVO);
|
thStudyTrackVO.setTimeIntervalDesc(ConvertTimeUtils.convertTimeToString(t.getTimeInterval()));
|
return thStudyTrackVO;
|
}).collect(Collectors.toList());
|
thStudyDetailVO.setAuthList(thStudyAuthVOList);
|
thStudyDetailVO.setTrackList(trackVOList);
|
}
|
}
|
return thStudyDetailVOS;
|
}
|
|
|
}
|