From 2822ef24696a93a670be4f068142a4baa33427cb Mon Sep 17 00:00:00 2001 From: tortoise <2891138827@qq.com> Date: Thu, 29 Aug 2024 21:57:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=AA=E4=BA=BA=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sims/common/ModelMapperConfig.java | 22 +++++------ .../sims/controller/RecordController.java | 2 - .../top/suyiiyii/sims/dto/UserRecordDto.java | 39 +++++++++++++++++++ 3 files changed, 50 insertions(+), 13 deletions(-) create mode 100644 src/main/java/top/suyiiyii/sims/dto/UserRecordDto.java diff --git a/src/main/java/top/suyiiyii/sims/common/ModelMapperConfig.java b/src/main/java/top/suyiiyii/sims/common/ModelMapperConfig.java index ad495cf..b053317 100644 --- a/src/main/java/top/suyiiyii/sims/common/ModelMapperConfig.java +++ b/src/main/java/top/suyiiyii/sims/common/ModelMapperConfig.java @@ -4,6 +4,8 @@ import org.modelmapper.ModelMapper; import org.modelmapper.convention.MatchingStrategies; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import top.suyiiyii.sims.dto.RecordDto; +import top.suyiiyii.sims.dto.UserRecordDto; /** * @Author tortoise @@ -20,24 +22,22 @@ public class ModelMapperConfig { ModelMapper modelMapper = new ModelMapper(); // 设置完全匹配 modelMapper.getConfiguration().setFullTypeMatchingRequired(true); - // 设置匹配策略为严格模式 modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT); - // configureUser(modelMapper); + // configureUser(modelMapper); return modelMapper; } - // 配置 User 类的映射规则 + private void configureUser(ModelMapper modelMapper) { - // 定义 UserModel -> User 的映射规则 - // modelMapper.typeMap(RecordDto.class, Record.class) // 跳过设置密码字段 - // 定义 User -> UserModel 的映射规则 - // modelMapper.typeMap(User.class, RecordDto.class) - // .addMappings(mapper -> mapper.skip(RecordDto::setPassword)) // 跳过设置密码字段 - // .addMappings(mapper -> mapper.map(User::getRealName, UserModel::setName)); // 将 User 的 realName 映射为 UserModel 的 name -// .addMappings(mapper -> mapper.using(dateToStringConverter).map(User::getCreateTime, UserModel::setCreateTime)) -// .addMappings(mapper -> mapper.using(dateToStringConverter).map(User::getUpdateTime, UserModel::setUpdateTime)); +//定义 Record -> UserRecordDto 的映射规则 + //modelMapper.typeMap(Record.class, UserRecordDto.class) + // .addMappings(mapper -> mapper.skip(UserRecordDto::setRevokeDate)) + // .addMappings(mapper -> mapper.skip(UserRecordDto::setRevokeReason)) + // .addMappings(mapper -> mapper.skip(UserRecordDto::setRevokeRemark)) + // .addMappings(mapper -> mapper.skip(UserRecordDto::setOperatorUserId)) + // .addMappings(mapper -> mapper.skip(UserRecordDto::setLastUpdateTime)); } } diff --git a/src/main/java/top/suyiiyii/sims/controller/RecordController.java b/src/main/java/top/suyiiyii/sims/controller/RecordController.java index f4d169e..09177d8 100644 --- a/src/main/java/top/suyiiyii/sims/controller/RecordController.java +++ b/src/main/java/top/suyiiyii/sims/controller/RecordController.java @@ -61,12 +61,10 @@ RecordController { String token = (String) request.getAttribute("token"); String userId = JwtUtils.extractUserId(token); List recordDtos = new ArrayList<>(); - List records = recordService.getMyAllRecords(page, size, userId); for (Record record : records) { RecordDto recordDto = modelMapper.map(record, RecordDto.class); recordDto.setCategoryName(categoryService.getCategoryName(record.getCategoryId())); - recordDto.setSubCategoryName(categoryService.getsubCategoryName(record.getCategoryId())); diff --git a/src/main/java/top/suyiiyii/sims/dto/UserRecordDto.java b/src/main/java/top/suyiiyii/sims/dto/UserRecordDto.java new file mode 100644 index 0000000..13460de --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/dto/UserRecordDto.java @@ -0,0 +1,39 @@ +package top.suyiiyii.sims.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author tortoise + * @Date 2024/8/29 21:02 + * @PackageName:top.suyiiyii.sims.dto + * @ClassName: UserRecordDto + * @Description: TODO + * @Version 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserRecordDto { + // 用户ID + private Integer studentId; + + + private String categoryName; + + private String subCategoryName; + // 奖惩日期 + private Long date; + // 奖惩内容 + private String content; + // 奖惩原因 + private String reason; + // 奖惩金额 + private Double amount; + // 奖惩备注 + private String remark; + // 是否撤销 + private Boolean isRevoked; + +}