diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScale.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScale.java index 9d40f40..bb4bf04 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScale.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/SysScale.java @@ -2,12 +2,9 @@ package org.dromara.scale.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.github.linpeilie.annotations.AutoMapper; -import io.github.linpeilie.annotations.AutoMapping; import lombok.Data; import lombok.EqualsAndHashCode; import org.dromara.common.tenant.core.TenantEntity; -import org.dromara.scale.domain.vo.SysScaleVo; import java.io.Serial; import java.math.BigDecimal; @@ -21,7 +18,7 @@ import java.math.BigDecimal; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_scale") -@AutoMapper(target = SysScaleVo.class, reverseConvertGenerate = false) +//@AutoMapper(target = SysScaleVo.class, reverseConvertGenerate = false) public class SysScale extends TenantEntity { @Serial @@ -66,13 +63,12 @@ public class SysScale extends TenantEntity { /** * 适应人群:对应字典项people_type */ - @AutoMapping(target = "peopleType", expression = "java(cn.hutool.core.util.StrUtil.split(source.getPeopleType(), \",\"))") private String peopleType; /** * 适用年龄段:对应字典项age_range */ - @AutoMapping(target = "ageRange", expression = "java(cn.hutool.core.util.StrUtil.split(source.getAgeRange(), \",\"))") + private String ageRange; /** @@ -90,7 +86,7 @@ public class SysScale extends TenantEntity { /** * 量表类型:对应字典项scale_type */ - @AutoMapping(target = "scaleType", expression = "java(cn.hutool.core.util.StrUtil.split(source.getScaleType(), \",\"))") + private String scaleType; /** diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleVo.java index 73d62ca..5823f5b 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/SysScaleVo.java @@ -1,9 +1,11 @@ package org.dromara.scale.domain.vo; +import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapping; import lombok.Data; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; +import org.dromara.scale.domain.SysScale; import java.io.Serial; import java.io.Serializable; @@ -18,6 +20,7 @@ import java.util.List; * @date 2024-03-29 */ @Data +@AutoMapper(target = SysScale.class) public class SysScaleVo implements Serializable { @Serial @@ -61,16 +64,19 @@ public class SysScaleVo implements Serializable { /** * 适应人群:对应字典项people_type */ + @AutoMapping(target = "peopleType", expression = "java(cn.hutool.core.util.StrUtil.split(source.getPeopleType(), \",\"))") private List peopleType; /** * 适应人群 */ + private List peopleTypeName; /** * 适用年龄段:对应字典项age_range */ + @AutoMapping(target = "ageRange", expression = "java(cn.hutool.core.util.StrUtil.split(source.getAgeRange(), \",\"))") private List ageRange; /** @@ -99,6 +105,7 @@ public class SysScaleVo implements Serializable { /** * 量表类型:对应字典项scale_type */ + @AutoMapping(target = "scaleType", expression = "java(cn.hutool.core.util.StrUtil.split(source.getScaleType(), \",\"))") private List scaleType; /** diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleServiceImpl.java index 292df11..af4b5b6 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleServiceImpl.java @@ -48,6 +48,11 @@ public class SysScaleServiceImpl implements ISysScaleService { public SysScaleVo queryById(Long scaleId) { SysScaleVo sysScaleVo = baseMapper.selectVoById(scaleId); + List scaleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("scale_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getScaleType())); + sysScaleVo.setScaleTypeName(scaleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList())); + + List peopleTypeList = sysDictDataMapper.selectDictDataByTypeAndDictValue("people_type", StrUtil.join(StrUtil.COMMA, sysScaleVo.getPeopleType())); + sysScaleVo.setPeopleTypeName(peopleTypeList.stream().map(SysDictDataVo::getDictLabel).collect(Collectors.toList())); //计算均分 List scoreList = scoreMapper.selectList(new LambdaQueryWrapper().select(ScoreRecord::getScore).eq(ScoreRecord::getBusinessId, scaleId).eq(ScoreRecord::getRecordStatus, 0)); OptionalDouble averageScore = scoreList.stream()