首页查询优化
This commit is contained in:
parent
88243286cb
commit
ba8767b725
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.common.core.service.DictService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
@ -18,14 +19,10 @@ import org.dromara.scale.domain.vo.SysScaleVo;
|
||||||
import org.dromara.scale.mapper.ScoreRecordMapper;
|
import org.dromara.scale.mapper.ScoreRecordMapper;
|
||||||
import org.dromara.scale.mapper.SysScaleMapper;
|
import org.dromara.scale.mapper.SysScaleMapper;
|
||||||
import org.dromara.scale.service.ISysScaleService;
|
import org.dromara.scale.service.ISysScaleService;
|
||||||
import org.dromara.system.domain.vo.SysDictDataVo;
|
|
||||||
import org.dromara.system.mapper.SysDictDataMapper;
|
|
||||||
import org.dromara.system.mapper.SysOssMapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 心理测评量Service业务层处理
|
* 心理测评量Service业务层处理
|
||||||
|
@ -37,8 +34,7 @@ import java.util.stream.Collectors;
|
||||||
@Service
|
@Service
|
||||||
public class SysScaleServiceImpl implements ISysScaleService {
|
public class SysScaleServiceImpl implements ISysScaleService {
|
||||||
private final SysScaleMapper baseMapper;
|
private final SysScaleMapper baseMapper;
|
||||||
private final SysDictDataMapper sysDictDataMapper;
|
private final DictService dictService;
|
||||||
private final SysOssMapper sysOssMapper;
|
|
||||||
private final ScoreRecordMapper scoreMapper;
|
private final ScoreRecordMapper scoreMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,11 +44,11 @@ public class SysScaleServiceImpl implements ISysScaleService {
|
||||||
public SysScaleVo queryById(Long scaleId) {
|
public SysScaleVo queryById(Long scaleId) {
|
||||||
|
|
||||||
SysScaleVo sysScaleVo = baseMapper.selectVoById(scaleId);
|
SysScaleVo sysScaleVo = baseMapper.selectVoById(scaleId);
|
||||||
List<SysDictDataVo> scaleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("scale_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getScaleType()));
|
String scaleTypeName = dictService.getDictLabel("scale_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getScaleType()));
|
||||||
sysScaleVo.setScaleTypeName(scaleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
sysScaleVo.setScaleTypeName(StrUtil.split(scaleTypeName, StrUtil.COMMA));
|
||||||
|
|
||||||
List<SysDictDataVo> peopleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("people_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getPeopleType()));
|
String peopleTypeName = dictService.getDictLabel("people_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getPeopleType()));
|
||||||
sysScaleVo.setPeopleTypeName(peopleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
sysScaleVo.setPeopleTypeName(StrUtil.split(peopleTypeName, StrUtil.COMMA));
|
||||||
//计算均分
|
//计算均分
|
||||||
List<ScoreRecord> scoreList = scoreMapper.selectList(new LambdaQueryWrapper<ScoreRecord>().select(ScoreRecord::getScore).eq(ScoreRecord::getBusinessId, scaleId).eq(ScoreRecord::getRecordStatus, 0));
|
List<ScoreRecord> scoreList = scoreMapper.selectList(new LambdaQueryWrapper<ScoreRecord>().select(ScoreRecord::getScore).eq(ScoreRecord::getBusinessId, scaleId).eq(ScoreRecord::getRecordStatus, 0));
|
||||||
OptionalDouble averageScore = scoreList.stream()
|
OptionalDouble averageScore = scoreList.stream()
|
||||||
|
@ -79,11 +75,11 @@ public class SysScaleServiceImpl implements ISysScaleService {
|
||||||
}
|
}
|
||||||
Page<SysScaleVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<SysScaleVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
for (SysScaleVo record : result.getRecords()) {
|
for (SysScaleVo record : result.getRecords()) {
|
||||||
List<SysDictDataVo> scaleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("scale_type", StrUtil.join(StrUtil.COMMA, record.getScaleType()));
|
String scaleTypeName = dictService.getDictLabel("scale_type", StrUtil.join(StrUtil.COMMA, record.getScaleType()));
|
||||||
record.setScaleTypeName(scaleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
record.setScaleTypeName(StrUtil.split(scaleTypeName, StrUtil.COMMA));
|
||||||
|
|
||||||
List<SysDictDataVo> peopleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("people_type", StrUtil.join(StrUtil.COMMA, record.getPeopleType()));
|
String peopleTypeName = dictService.getDictLabel("people_type", StrUtil.join(StrUtil.COMMA, record.getPeopleType()));
|
||||||
record.setPeopleTypeName(peopleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
record.setPeopleTypeName(StrUtil.split(peopleTypeName, StrUtil.COMMA));
|
||||||
}
|
}
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
@ -98,11 +94,11 @@ public class SysScaleServiceImpl implements ISysScaleService {
|
||||||
}
|
}
|
||||||
List<SysScaleVo> result = baseMapper.selectVoList(lqw);
|
List<SysScaleVo> result = baseMapper.selectVoList(lqw);
|
||||||
for (SysScaleVo record : result) {
|
for (SysScaleVo record : result) {
|
||||||
List<SysDictDataVo> scaleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("scale_type", StrUtil.join(StrUtil.COMMA, record.getScaleType()));
|
String scaleTypeName = dictService.getDictLabel("scale_type", StrUtil.join(StrUtil.COMMA, record.getScaleType()));
|
||||||
record.setScaleTypeName(scaleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
record.setScaleTypeName(StrUtil.split(scaleTypeName, StrUtil.COMMA));
|
||||||
|
|
||||||
List<SysDictDataVo> peopleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("people_type", StrUtil.join(StrUtil.COMMA, record.getPeopleType()));
|
String peopleTypeName = dictService.getDictLabel("people_type", StrUtil.join(StrUtil.COMMA, record.getPeopleType()));
|
||||||
record.setPeopleTypeName(peopleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList()));
|
record.setPeopleTypeName(StrUtil.split(peopleTypeName, StrUtil.COMMA));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue