溯源码批次列表

This commit is contained in:
xiaogu
2025-09-14 16:16:46 +08:00
parent a280332aff
commit 705a4cc9e9
4 changed files with 79 additions and 0 deletions

View File

@@ -87,6 +87,19 @@ public class TraceabilityCodeController {
return success(respPageResult);
}
@GetMapping("/list")
@Operation(summary = "获得溯源-溯源码批次集合")
public CommonResult<PageResult<TraceabilityCodeRespVO>> getTraceabilityCodeList(@Valid TraceabilityCodePageReqVO pageReqVO) {
PageResult<TraceabilityCodeDO> pageResult = traceabilityCodeService.getTraceabilityCodeList(pageReqVO);
// 转换分页结果中的每个DO对象为RespVO对象
PageResult<TraceabilityCodeRespVO> respPageResult = new PageResult<>();
respPageResult.setList(pageResult.getList().stream()
.map(TraceabilityDataConverter::convertToRespVO)
.collect(Collectors.toList()));
respPageResult.setTotal(pageResult.getTotal());
return success(respPageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出溯源-溯源码 Excel")
@ApiAccessLog(operateType = EXPORT)

View File

@@ -60,4 +60,49 @@ public interface TraceabilityCodeMapper extends BaseMapperX<TraceabilityCodeDO>
.orderByDesc(TraceabilityCodeDO::getCreateTime));
}
default PageResult<TraceabilityCodeDO> selectPageList(TraceabilityCodePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<TraceabilityCodeDO>()
.eqIfPresent(TraceabilityCodeDO::getSpeciesCode, reqVO.getSpeciesCode())
.likeIfPresent(TraceabilityCodeDO::getSpeciesName, reqVO.getSpeciesName())
.eqIfPresent(TraceabilityCodeDO::getBaseId, reqVO.getBaseId())
.likeIfPresent(TraceabilityCodeDO::getBaseName, reqVO.getBaseName())
.eqIfPresent(TraceabilityCodeDO::getPlotId, reqVO.getPlotId())
.likeIfPresent(TraceabilityCodeDO::getPlotName, reqVO.getPlotName())
.eqIfPresent(TraceabilityCodeDO::getTenantId, reqVO.getTenantId())
// 采收时间范围查询
.gtIfPresent(TraceabilityCodeDO::getHarvestDate, reqVO.getHarvestDateStart())
.leIfPresent(TraceabilityCodeDO::getHarvestDate, reqVO.getHarvestDateEnd())
.eqIfPresent(TraceabilityCodeDO::getFarmingInputCount, reqVO.getFarmingInputCount())
.eqIfPresent(TraceabilityCodeDO::getProductId, reqVO.getProductId())
.likeIfPresent(TraceabilityCodeDO::getProductName, reqVO.getProductName())
.eqIfPresent(TraceabilityCodeDO::getPackingSpec, reqVO.getPackingSpec())
.eqIfPresent(TraceabilityCodeDO::getProductImage, reqVO.getProductImage())
.likeIfPresent(TraceabilityCodeDO::getBrandName, reqVO.getBrandName())
.eqIfPresent(TraceabilityCodeDO::getIntroduce, reqVO.getIntroduce())
.eqIfPresent(TraceabilityCodeDO::getBrandAuthenticationStr, reqVO.getBrandAuthentication())
.eqIfPresent(TraceabilityCodeDO::getBusinessId, reqVO.getBusinessId())
.likeIfPresent(TraceabilityCodeDO::getBusinessName, reqVO.getBusinessName())
.eqIfPresent(TraceabilityCodeDO::getIsShowBusinessName, reqVO.getIsShowBusinessName())
.eqIfPresent(TraceabilityCodeDO::getBusinessPhone, reqVO.getBusinessPhone())
.eqIfPresent(TraceabilityCodeDO::getIsShowBusinessPhone, reqVO.getIsShowBusinessPhone())
.likeIfPresent(TraceabilityCodeDO::getStoreName, reqVO.getStoreName())
.eqIfPresent(TraceabilityCodeDO::getIsShowStoreName, reqVO.getIsShowStoreName())
.eqIfPresent(TraceabilityCodeDO::getBusinessAddress, reqVO.getBusinessAddress())
.eqIfPresent(TraceabilityCodeDO::getIsShowBusinessAddress, reqVO.getIsShowBusinessAddress())
.eqIfPresent(TraceabilityCodeDO::getPublicityImage, reqVO.getPublicityImage())
.eqIfPresent(TraceabilityCodeDO::getIsShowPublicityImage, reqVO.getIsShowPublicityImage())
.eqIfPresent(TraceabilityCodeDO::getPublicityProfile, reqVO.getPublicityProfile())
.eqIfPresent(TraceabilityCodeDO::getIsShowPublicityProfile, reqVO.getIsShowPublicityProfile())
.eqIfPresent(TraceabilityCodeDO::getInspectionReport, reqVO.getInspectionReport())
.eqIfPresent(TraceabilityCodeDO::getCollectImages, reqVO.getCollectImages())
.eqIfPresent(TraceabilityCodeDO::getCameraInformation, reqVO.getCameraInformation())
.eqIfPresent(TraceabilityCodeDO::getCodeOutCount, reqVO.getCodeOutCount())
.eqIfPresent(TraceabilityCodeDO::getQrCode, reqVO.getQrCode())
.eqIfPresent(TraceabilityCodeDO::getStatus, reqVO.getStatus())
.eqIfPresent(TraceabilityCodeDO::getCodeOutBatch, reqVO.getCodeOutBatch())
.eqIfPresent(TraceabilityCodeDO::getScanCodeCount, reqVO.getScanCodeCount())
.betweenIfPresent(TraceabilityCodeDO::getCreateTime, reqVO.getCreateTime())
.groupBy(TraceabilityCodeDO::getCodeOutBatch)
.orderByDesc(TraceabilityCodeDO::getCreateTime));
}
}

View File

@@ -61,4 +61,6 @@ public interface TraceabilityCodeService {
PageResult<TraceabilityCodeDO> getTraceabilityCodePage(TraceabilityCodePageReqVO pageReqVO);
TraceabilityCodeDO scanTraceabilityCode(String id);
PageResult<TraceabilityCodeDO> getTraceabilityCodeList(@Valid TraceabilityCodePageReqVO pageReqVO);
}

View File

@@ -129,7 +129,24 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService {
}
return pageResult;
}
@Override
public PageResult<TraceabilityCodeDO> getTraceabilityCodeList(TraceabilityCodePageReqVO pageReqVO) {
PageResult<TraceabilityCodeDO> pageResult = traceabilityCodeMapper.selectPageList(pageReqVO);
if (pageResult.getList() != null) {
// 触发图片集合转换,确保分页结果中的每个DO对象都包含转换后的图片集合
pageResult.getList().forEach(traceabilityCode -> {
if (traceabilityCode != null) {
traceabilityCode.getProductImageList();
traceabilityCode.getPublicityImageList();
traceabilityCode.getCollectImagesList();
// 处理复杂数据结构的解析
parseComplexDataFromDatabase(traceabilityCode);
}
});
}
return pageResult;
}
@Override
public TraceabilityCodeDO scanTraceabilityCode(String id) {
TraceabilityCodeDO traceabilityCodeDO = traceabilityCodeMapper.selectById(id);
@@ -138,6 +155,8 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService {
return traceabilityCodeDO;
}
/**
* 处理图片集合转换
* 优先使用图片集合,如果图片集合为空则使用字符串