Browse Source

fix:修复配方分页

master
白凤吉 4 days ago
parent
commit
9ed7611f4d
  1. 3
      src/main/java/com/iflytop/handacid/app/controller/FormulationController.java
  2. 2
      src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java
  3. 25
      src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java
  4. 34
      src/main/java/com/iflytop/handacid/common/service/FormulationService.java

3
src/main/java/com/iflytop/handacid/app/controller/FormulationController.java

@ -1,5 +1,6 @@
package com.iflytop.handacid.app.controller; 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.base.BasePageQuery;
import com.iflytop.handacid.common.model.entity.Formulation; import com.iflytop.handacid.common.model.entity.Formulation;
import com.iflytop.handacid.common.model.vo.FormulationVO; import com.iflytop.handacid.common.model.vo.FormulationVO;
@ -33,7 +34,7 @@ public class FormulationController {
@PostMapping("/page") @PostMapping("/page")
@Operation(summary = "获取分页数据") @Operation(summary = "获取分页数据")
public PageResult<FormulationVO> getPage(BasePageQuery query) { public PageResult<FormulationVO> getPage(BasePageQuery query) {
return PageResult.success(null);
return PageResult.success(formulationService.getPage(query));
} }
/* @GetMapping("/list") /* @GetMapping("/list")

2
src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java

@ -1,10 +1,8 @@
package com.iflytop.handacid.common.model.entity; package com.iflytop.handacid.common.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.iflytop.handacid.common.base.BaseEntity; import com.iflytop.handacid.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

25
src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java

@ -9,25 +9,24 @@ import lombok.EqualsAndHashCode;
@TableName("formulation") @TableName("formulation")
@Data @Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "配方") @Schema(description = "配方")
public class FormulationVO extends BaseEntity {
@NotNull
@Schema(description = "用量")
public class FormulationVO{
private Long id;
@Schema(description = "加液量(mL)")
private Double volume; private Double volume;
@NotNull
@Schema(description = "酸液ID")
private Long solutionId;
@Schema(description = "转数")
private Double revolutions;
@Schema(description = "溶液ID")
private Long solutionId;
@Schema(description = "酸液名称") @Schema(description = "酸液名称")
private String solutionName; private String solutionName;
@Schema(description = "浓度")
private String concentration;
@Schema(description = "溶液浓度")
private Integer concentration;
@Schema(description = "对应转数")
private Double revolutions;
@Schema(description = "系数")
private Double scale;
} }

34
src/main/java/com/iflytop/handacid/common/service/FormulationService.java

@ -1,16 +1,50 @@
package com.iflytop.handacid.common.service; 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.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.mapper.FormulationMapper;
import com.iflytop.handacid.common.model.entity.Formulation; 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 lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 配方接口服务 * 配方接口服务
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class FormulationService extends ServiceImpl<FormulationMapper, Formulation> { public class FormulationService extends ServiceImpl<FormulationMapper, Formulation> {
private final SolutionService solutionService;
public IPage<FormulationVO> getPage(BasePageQuery query) {
Page<Formulation> page = this.page(new Page<>(query.getPageNum(), query.getPageSize()));
List<Formulation> records = page.getRecords();
if (records.isEmpty()) {
return new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
}
List<Long> solutionIds = records.stream()
.map(Formulation::getSolutionId)
.filter(Objects::nonNull)
.distinct()
.toList();
Map<Long, String> 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;
});
}
} }
Loading…
Cancel
Save