Browse Source

查询产品线的资料

master
luogw 1 month ago
parent
commit
b61646b572
  1. 8
      src/main/java/com/project/information/application/InformationApplicationService.java
  2. 12
      src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java
  3. 8
      src/main/java/com/project/information/controller/InformationController.java
  4. 1
      src/main/java/com/project/information/domain/dto/ProductLineDTO.java
  5. 7
      src/main/java/com/project/information/domain/entity/ProductLineEntity.java
  6. 1
      src/main/java/com/project/information/domain/param/InformationParam.java
  7. 2
      src/main/java/com/project/information/domain/param/ProductLineParam.java
  8. 12
      src/main/java/com/project/information/domain/service/SearchInformationDomainService.java
  9. 8
      src/main/java/com/project/information/domain/service/impl/GetTreeListProductLineDomainServiceImpl.java
  10. 42
      src/main/java/com/project/information/domain/service/impl/SearchInformationDomainServiceImpl.java

8
src/main/java/com/project/information/application/InformationApplicationService.java

@ -1,7 +1,10 @@
package com.project.information.application;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.information.domain.dto.InformationDTO;
import com.project.information.domain.param.FileCheckItem;
import com.project.information.domain.param.InformationParam;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -11,4 +14,9 @@ public interface InformationApplicationService {
Result<String> batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception;
/**
* 查询资料列表
*/
Result<PageResult<InformationDTO>> list(InformationParam informationParam);
}

12
src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java

@ -1,8 +1,13 @@
package com.project.information.application.impl;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.information.application.InformationApplicationService;
import com.project.information.domain.dto.InformationDTO;
import com.project.information.domain.param.FileCheckItem;
import com.project.information.domain.param.InformationParam;
import com.project.information.domain.service.InformationBaseService;
import com.project.information.domain.service.SearchInformationDomainService;
import com.project.information.domain.service.UploadInformationDomainService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -15,6 +20,8 @@ public class InformationApplicationServiceImpl implements InformationApplication
@Autowired
private UploadInformationDomainService uploadInformationDomainService;
@Autowired
private SearchInformationDomainService searchInformationDomainService;
@Override
public Result<String> checkDuplicates(Long subLineId, List<FileCheckItem> files) throws Exception {
@ -25,4 +32,9 @@ public class InformationApplicationServiceImpl implements InformationApplication
public Result<String> batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception {
return uploadInformationDomainService.batchUploadAndOverwrite(files , subLineId);
}
@Override
public Result<PageResult<InformationDTO>> list(InformationParam informationParam) {
return searchInformationDomainService.list(informationParam);
}
}

8
src/main/java/com/project/information/controller/InformationController.java

@ -1,12 +1,15 @@
package com.project.information.controller;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.information.application.InformationApplicationService;
import com.project.information.application.ProductLineApplicationService;
import com.project.information.domain.dto.InformationDTO;
import com.project.information.domain.dto.ProductLineDTO;
import com.project.information.domain.param.CheckDuplicatesParam;
import com.project.information.domain.param.FileCheckItem;
import com.project.information.domain.param.InformationParam;
import com.project.information.domain.param.ProductLineParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -31,4 +34,9 @@ public class InformationController {
public Result<String> batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception {
return informationApplicationService.batchUploadAndOverwrite(files , subLineId);
}
@GetMapping("/list")
public Result<PageResult<InformationDTO>> list(InformationParam informationParam) throws Exception {
return informationApplicationService.list(informationParam);
}
}

1
src/main/java/com/project/information/domain/dto/ProductLineDTO.java

@ -14,6 +14,7 @@ public class ProductLineDTO extends BaseDTO {
private Integer sort = 0;
private Boolean leaf;
private String business;
private String businessId;
private Long parentId;
private String parentName;

7
src/main/java/com/project/information/domain/entity/ProductLineEntity.java

@ -21,7 +21,7 @@ public class ProductLineEntity extends BaseEntity {
@Id
private Long id;
@Column(name = "name" , columnDefinition="varchar(550) comment '部门名称'")
@Column(name = "name" , columnDefinition="varchar(550) comment '产品线名称'")
private String name;
@Column(name = "sort", nullable = false)
@ -35,6 +35,11 @@ public class ProductLineEntity extends BaseEntity {
@Column(name = "business", columnDefinition="varchar(100) comment '所属BG名称'")
private String business;
@Column(name = "business_id")
@TableField("business_id")
@Comment("事业部ID")
private Long businessId;
@Column(name = "parent_id")
@TableField("parent_id")
@Comment("父级ID")

1
src/main/java/com/project/information/domain/param/InformationParam.java

@ -5,4 +5,5 @@ import lombok.Data;
@Data
public class InformationParam extends BaseParam {
private Long subLineId;
}

2
src/main/java/com/project/information/domain/param/ProductLineParam.java

@ -5,6 +5,6 @@ import lombok.Data;
@Data
public class ProductLineParam extends BaseParam {
private String business;
private Long businessId;
}

12
src/main/java/com/project/information/domain/service/SearchInformationDomainService.java

@ -0,0 +1,12 @@
package com.project.information.domain.service;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.information.domain.dto.InformationDTO;
import com.project.information.domain.param.InformationParam;
import java.util.List;
public interface SearchInformationDomainService {
Result<PageResult<InformationDTO>> list(InformationParam informationParam);
}

8
src/main/java/com/project/information/domain/service/impl/GetTreeListProductLineDomainServiceImpl.java

@ -1,5 +1,6 @@
package com.project.information.domain.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.project.base.domain.exception.BusinessErrorException;
@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
@ -22,11 +24,11 @@ public class GetTreeListProductLineDomainServiceImpl implements GetTreeListProdu
private ProductLineBaseService productLineBaseService;
@Override
public Result<List<ProductLineDTO>> treeList(ProductLineParam param) throws Exception {
if (StrUtil.isBlank(param.getBusiness())) {
throw new BusinessErrorException("所属 BG 不能为空");
if (ObjectUtil.isEmpty(param.getBusinessId())) {
throw new BusinessErrorException("事业部ID不能为空");
}
LambdaQueryWrapper<ProductLineEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProductLineEntity::getBusiness , param.getBusiness());
queryWrapper.eq(ProductLineEntity::getBusinessId , param.getBusinessId());
List<ProductLineDTO> res = productLineBaseService.list(queryWrapper)
.stream().map(entity -> entity.toDTO(ProductLineDTO::new))
.collect(Collectors.toList());

42
src/main/java/com/project/information/domain/service/impl/SearchInformationDomainServiceImpl.java

@ -0,0 +1,42 @@
package com.project.information.domain.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.base.domain.exception.BusinessErrorException;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.base.domain.utils.PageConverter;
import com.project.ding.domain.dto.UserDTO;
import com.project.ding.domain.entity.UserEntity;
import com.project.information.domain.dto.InformationDTO;
import com.project.information.domain.entity.InformationEntity;
import com.project.information.domain.param.InformationParam;
import com.project.information.domain.service.SearchInformationDomainService;
import com.project.information.mapper.InformationMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SearchInformationDomainServiceImpl implements SearchInformationDomainService {
@Autowired
private InformationMapper informationMapper;
@Override
public Result<PageResult<InformationDTO>> list(InformationParam informationParam) {
if (ObjectUtil.isEmpty(informationParam.getSubLineId())){
throw new BusinessErrorException("产品线ID不能为空");
}
LambdaQueryWrapper<InformationEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(InformationEntity::getCreateTime);
queryWrapper.eq(InformationEntity::getSubLineId, informationParam.getSubLineId());
IPage<InformationEntity> informationEntityIPage = informationMapper.selectPage(
PageConverter.toMpPage(informationParam),
queryWrapper);
IPage<InformationDTO> informationDTOIPage = informationEntityIPage.convert(entity -> entity.toDTO(InformationDTO::new));
return Result.page(informationDTOIPage);
}
}
Loading…
Cancel
Save