diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsType.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsType.java index 6978bcc6..2485c1d0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsType.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsType.java @@ -64,6 +64,9 @@ public class TbConsType implements Serializable { @ApiModelProperty(value = "店铺id") private Integer shopId; + @Transient + private int productNum; + public void copy(TbConsType source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsTypeRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsTypeRepository.java index 237f1326..25b7904d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsTypeRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsTypeRepository.java @@ -3,6 +3,7 @@ package cn.ysk.cashier.cons.repository; import cn.ysk.cashier.cons.domain.TbConsType; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; /** * @website https://eladmin.vip @@ -14,4 +15,7 @@ public interface TbConsTypeRepository extends JpaRepository int countByConTypeCode(String conTypeCode); TbConsType findByConTypeCode(String conTypeCode); -} \ No newline at end of file + + @Query("SELECT count(*) FROM TbProskuCon c LEFT JOIN TbConsInfo i ON c.conInfoId = i.id WHERE i.conTypeId = :id") + int countProByTypeId(Integer id); +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsTypeDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsTypeDto.java index 40b1a917..07bc9767 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsTypeDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsTypeDto.java @@ -45,4 +45,5 @@ public class TbConsTypeDto implements Serializable { /** 店铺id */ private Integer shopId; -} \ No newline at end of file + private int productNum; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsTypeServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsTypeServiceImpl.java index 726344fa..821c93ff 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsTypeServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsTypeServiceImpl.java @@ -38,8 +38,18 @@ public class TbConsTypeServiceImpl implements TbConsTypeService { @Override public Map queryAll(TbConsTypeQueryCriteria criteria, Pageable pageable){ - Page page = tbConsTypeRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(tbConsTypeMapper::toDto)); + Page page = tbConsTypeRepository + .findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); + + for (TbConsType tbConsType : page.getContent()) { + tbConsType.setProductNum(tbConsTypeRepository.countProByTypeId(tbConsType.getId())); + } + + Map map = new LinkedHashMap<>(2); + map.put("content",page.getContent()); + map.put("totalElements",page.getTotalElements()); + + return map; } @Override @@ -105,4 +115,4 @@ public class TbConsTypeServiceImpl implements TbConsTypeService { } FileUtil.downloadExcel(list, response); } -} \ No newline at end of file +}