From ce615d4fc339d851d0bf9cfe036176c9a5e499f1 Mon Sep 17 00:00:00 2001 From: xiaogu Date: Sun, 14 Sep 2025 15:48:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BA=AF=E6=BA=90=E7=A0=81=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/TraceabilityCodePageReqVO.java | 13 ++++++++++ .../vo/TraceabilityCodeRespVO.java | 12 +++++---- .../vo/TraceabilityCodeSaveReqVO.java | 15 ++++++++--- .../traceabilitycode/TraceabilityCodeDO.java | 3 +++ .../util/TraceabilityDataConverter.java | 26 +++++++++---------- .../TraceabilityCodeServiceImpl.java | 25 +++++------------- 6 files changed, 54 insertions(+), 40 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodePageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodePageReqVO.java index 7c166783..8a4be02d 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodePageReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodePageReqVO.java @@ -131,4 +131,17 @@ public class TraceabilityCodePageReqVO extends PageParam { private LocalDateTime[] createTime; private String codeOutBatch; private Long scanCodeCount; + + /** + * 计量单位 + */ + private Integer measuringUnit; + + private String measuringUnitName; + /** + * 包装单位 + */ + private Integer packingUnit; + + private String packingUnitName; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeRespVO.java index 7e55d51f..05f1aa0c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeRespVO.java @@ -1,10 +1,12 @@ package cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; +import lombok.Data; + import java.time.LocalDateTime; -import cn.idev.excel.annotation.*; +import java.util.List; @Schema(description = "管理后台 - 溯源-溯源码 Response VO") @Data @@ -182,10 +184,10 @@ public class TraceabilityCodeRespVO { @Schema(description = "计量单位", example = "3") private Integer measuringUnit; - + private String measuringUnitName; @Schema(description = "包装单位", example = "8") private Integer packingUnit; - + private String packingUnitName; @Schema(description = "自定义数据列表") private List customData; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeSaveReqVO.java index 203eaa5c..11484ee8 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/traceabilitycode/vo/TraceabilityCodeSaveReqVO.java @@ -138,11 +138,18 @@ public class TraceabilityCodeSaveReqVO { @Schema(description = "检验报告列表") private List inspectionReportList; - @Schema(description = "计量单位", example = "3") - private String measuringUnit; + /** + * 计量单位 + */ + private Integer measuringUnit; - @Schema(description = "包装单位", example = "8") - private String packingUnit; + private String measuringUnitName; + /** + * 包装单位 + */ + private Integer packingUnit; + + private String packingUnitName; @Schema(description = "自定义数据列表") private List customData; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java index 5aad1885..6fe322be 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java @@ -219,11 +219,14 @@ public class TraceabilityCodeDO extends BaseDO { */ private Integer measuringUnit; + private String measuringUnitName; /** * 包装单位 */ private Integer packingUnit; + private String packingUnitName; + /** * 是否显示基地 */ diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/framework/util/TraceabilityDataConverter.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/framework/util/TraceabilityDataConverter.java index 18436ad9..314de513 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/framework/util/TraceabilityDataConverter.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/framework/util/TraceabilityDataConverter.java @@ -5,7 +5,6 @@ import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.traceabilitycode.TraceabilityCodeDO; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -29,7 +28,7 @@ public class TraceabilityDataConverter { } TraceabilityCodeRespVO respVO = new TraceabilityCodeRespVO(); - + // 基本信息映射 respVO.setId(traceabilityCodeDO.getId()); respVO.setSpeciesCode(traceabilityCodeDO.getSpeciesCode()); @@ -66,7 +65,8 @@ public class TraceabilityDataConverter { respVO.setCreateTime(traceabilityCodeDO.getCreateTime()); respVO.setCodeOutBatch(traceabilityCodeDO.getCodeOutBatch()); respVO.setScanCodeCount(traceabilityCodeDO.getScanCodeCount()); - + respVO.setMeasuringUnitName(traceabilityCodeDO.getMeasuringUnitName()); + respVO.setPackingUnitName(traceabilityCodeDO.getPackingUnitName()); // 统一显示标志格式:Long -> Boolean respVO.setIsShowBusinessName(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessName())); respVO.setIsShowBusinessPhone(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessPhone())); @@ -75,45 +75,45 @@ public class TraceabilityDataConverter { respVO.setIsShowPublicityImage(convertLongToBoolean(traceabilityCodeDO.getIsShowPublicityImage())); respVO.setIsShowPublicityProfile(convertLongToBoolean(traceabilityCodeDO.getIsShowPublicityProfile())); respVO.setIsShowBase(convertLongToBoolean(traceabilityCodeDO.getIsShowBase())); - + // 处理复杂数据结构 respVO.setFarmingInputJson(traceabilityCodeDO.getFarmingInputJson()); respVO.setCustomDataJson(traceabilityCodeDO.getCustomDataJson()); respVO.setMeasuringUnit(traceabilityCodeDO.getMeasuringUnit()); respVO.setPackingUnit(traceabilityCodeDO.getPackingUnit()); - + // 解析品牌认证列表 if (StrUtil.isNotBlank(traceabilityCodeDO.getBrandAuthenticationStr())) { respVO.setBrandAuthentication(Arrays.asList(traceabilityCodeDO.getBrandAuthenticationStr().split(","))); } - + // 解析检验报告列表 if (StrUtil.isNotBlank(traceabilityCodeDO.getInspectionReport())) { respVO.setInspectionReportList(Arrays.asList(traceabilityCodeDO.getInspectionReport().split(","))); } - + // 解析农事记录列表 if (StrUtil.isNotBlank(traceabilityCodeDO.getFarmingInputJson())) { try { - List farmingInputList = - JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class); + List farmingInputList = + JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class); respVO.setFarmingInputList(farmingInputList); } catch (Exception e) { // 解析失败,保持为空 } } - + // 解析自定义数据列表 if (StrUtil.isNotBlank(traceabilityCodeDO.getCustomDataJson())) { try { - List customDataList = - JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class); + List customDataList = + JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class); respVO.setCustomData(customDataList); } catch (Exception e) { // 解析失败,保持为空 } } - + return respVO; } 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 9a1c01bd..3c21a9fb 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 @@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeSaveReqVO; @@ -46,7 +47,12 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService { traceabilityCode.setId(IdUtil.fastUUID()); traceabilityCode.setTenantId(String.valueOf(user.getTenantId())); traceabilityCode.setCodeOutBatch(dateStr); - + // 计量单位 + String measuringUnitName = DictFrameworkUtils.parseDictDataLabel("asset_unit", traceabilityCode.getMeasuringUnit()); + traceabilityCode.setMeasuringUnitName(measuringUnitName); + // 包装单位 + String packingUnitName = DictFrameworkUtils.parseDictDataLabel("asset_price", traceabilityCode.getPackingUnit()); + traceabilityCode.setPackingUnitName(packingUnitName); // 处理图片集合转换 handleImageConversion(traceabilityCode, createReqVO); @@ -198,23 +204,6 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService { traceabilityCode.setCustomDataJson(customDataJson); } - // 处理新增的字段 - if (CharSequenceUtil.isNotBlank(reqVO.getMeasuringUnit())) { - try { - traceabilityCode.setMeasuringUnit(Integer.valueOf(reqVO.getMeasuringUnit())); - } catch (NumberFormatException e) { - // 忽略无效的数字格式 - } - } - - if (CharSequenceUtil.isNotBlank(reqVO.getPackingUnit())) { - try { - traceabilityCode.setPackingUnit(Integer.valueOf(reqVO.getPackingUnit())); - } catch (NumberFormatException e) { - // 忽略无效的数字格式 - } - } - // isShowBase字段已经在convertBooleanToLong方法中处理了 }