diff --git a/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java b/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java index c60eabc..bfc9f5d 100644 --- a/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java +++ b/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java @@ -1,5 +1,6 @@ package com.iflytop.handacid.app.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iflytop.handacid.common.base.BasePageQuery; import com.iflytop.handacid.common.model.entity.Formulation; import com.iflytop.handacid.common.model.vo.FormulationVO; @@ -33,7 +34,7 @@ public class FormulationController { @PostMapping("/page") @Operation(summary = "获取分页数据") public PageResult getPage(BasePageQuery query) { - return PageResult.success(null); + return PageResult.success(formulationService.getPage(query)); } /* @GetMapping("/list") diff --git a/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java b/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java index c7ea184..42737f5 100644 --- a/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java +++ b/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java @@ -1,10 +1,8 @@ package com.iflytop.handacid.common.model.entity; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iflytop.handacid.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java b/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java index 6dbceba..150bbe5 100644 --- a/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java +++ b/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java @@ -9,25 +9,24 @@ import lombok.EqualsAndHashCode; @TableName("formulation") @Data -@EqualsAndHashCode(callSuper = true) @Schema(description = "配方") -public class FormulationVO extends BaseEntity { - @NotNull - @Schema(description = "用量") +public class FormulationVO{ + + private Long id; + + @Schema(description = "加液量(mL)") private Double volume; - @NotNull - @Schema(description = "酸液ID") - private Long solutionId; - @Schema(description = "转数") - private Double revolutions; + @Schema(description = "溶液ID") + private Long solutionId; @Schema(description = "酸液名称") private String solutionName; - @Schema(description = "浓度") - private String concentration; + @Schema(description = "溶液浓度") + private Integer concentration; + + @Schema(description = "对应转数") + private Double revolutions; - @Schema(description = "系数") - private Double scale; } diff --git a/src/main/java/com/iflytop/handacid/common/service/FormulationService.java b/src/main/java/com/iflytop/handacid/common/service/FormulationService.java index ea93d0a..fc0064e 100644 --- a/src/main/java/com/iflytop/handacid/common/service/FormulationService.java +++ b/src/main/java/com/iflytop/handacid/common/service/FormulationService.java @@ -1,16 +1,50 @@ package com.iflytop.handacid.common.service; +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.iflytop.handacid.common.base.BasePageQuery; import com.iflytop.handacid.common.mapper.FormulationMapper; import com.iflytop.handacid.common.model.entity.Formulation; +import com.iflytop.handacid.common.model.entity.Solution; +import com.iflytop.handacid.common.model.vo.FormulationVO; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + /** * 配方接口服务 */ @Service @RequiredArgsConstructor public class FormulationService extends ServiceImpl { + private final SolutionService solutionService; + + public IPage getPage(BasePageQuery query) { + Page page = this.page(new Page<>(query.getPageNum(), query.getPageSize())); + List records = page.getRecords(); + if (records.isEmpty()) { + return new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); + } + List solutionIds = records.stream() + .map(Formulation::getSolutionId) + .filter(Objects::nonNull) + .distinct() + .toList(); + Map nameMap = solutionService.listByIds(solutionIds) + .stream() + .collect(Collectors.toMap(Solution::getId, Solution::getName)); + return page.convert(entity -> { + FormulationVO vo = new FormulationVO(); + BeanUtils.copyProperties(entity, vo); + vo.setSolutionName(nameMap.get(entity.getSolutionId())); + return vo; + }); + } }