diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/TraceabilityCodeController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/TraceabilityCodeController.java index 9a65ee32..29703a7f 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/TraceabilityCodeController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/TraceabilityCodeController.java @@ -87,6 +87,19 @@ public class TraceabilityCodeController { return success(respPageResult); } + @GetMapping("/list") + @Operation(summary = "获得溯源-溯源码批次集合") + public CommonResult> getTraceabilityCodeList(@Valid TraceabilityCodePageReqVO pageReqVO) { + PageResult pageResult = traceabilityCodeService.getTraceabilityCodeList(pageReqVO); + // 转换分页结果中的每个DO对象为RespVO对象 + PageResult 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) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/traceabilitycode/TraceabilityCodeMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/traceabilitycode/TraceabilityCodeMapper.java index 3e73c512..4c78cfb1 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/traceabilitycode/TraceabilityCodeMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/traceabilitycode/TraceabilityCodeMapper.java @@ -60,4 +60,49 @@ public interface TraceabilityCodeMapper extends BaseMapperX .orderByDesc(TraceabilityCodeDO::getCreateTime)); } + default PageResult selectPageList(TraceabilityCodePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .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)); + } } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeService.java index 6205543d..87d4bcf8 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeService.java @@ -61,4 +61,6 @@ public interface TraceabilityCodeService { PageResult getTraceabilityCodePage(TraceabilityCodePageReqVO pageReqVO); TraceabilityCodeDO scanTraceabilityCode(String id); + + PageResult getTraceabilityCodeList(@Valid TraceabilityCodePageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeServiceImpl.java index 3c21a9fb..c8df0040 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/traceabilitycode/TraceabilityCodeServiceImpl.java @@ -129,7 +129,24 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService { } return pageResult; } + @Override + public PageResult getTraceabilityCodeList(TraceabilityCodePageReqVO pageReqVO) { + PageResult 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; } + + /** * 处理图片集合转换 * 优先使用图片集合,如果图片集合为空则使用字符串