溯源码字典解析
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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<CustomDataItem> customData;
|
||||
|
||||
|
||||
@@ -138,11 +138,18 @@ public class TraceabilityCodeSaveReqVO {
|
||||
@Schema(description = "检验报告列表")
|
||||
private List<String> 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<CustomDataItem> customData;
|
||||
|
||||
@@ -219,11 +219,14 @@ public class TraceabilityCodeDO extends BaseDO {
|
||||
*/
|
||||
private Integer measuringUnit;
|
||||
|
||||
private String measuringUnitName;
|
||||
/**
|
||||
* 包装单位
|
||||
*/
|
||||
private Integer packingUnit;
|
||||
|
||||
private String packingUnitName;
|
||||
|
||||
/**
|
||||
* 是否显示基地
|
||||
*/
|
||||
|
||||
@@ -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<TraceabilityCodeRespVO.FarmingInputItem> farmingInputList =
|
||||
JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class);
|
||||
List<TraceabilityCodeRespVO.FarmingInputItem> farmingInputList =
|
||||
JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class);
|
||||
respVO.setFarmingInputList(farmingInputList);
|
||||
} catch (Exception e) {
|
||||
// 解析失败,保持为空
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 解析自定义数据列表
|
||||
if (StrUtil.isNotBlank(traceabilityCodeDO.getCustomDataJson())) {
|
||||
try {
|
||||
List<TraceabilityCodeRespVO.CustomDataItem> customDataList =
|
||||
JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class);
|
||||
List<TraceabilityCodeRespVO.CustomDataItem> customDataList =
|
||||
JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class);
|
||||
respVO.setCustomData(customDataList);
|
||||
} catch (Exception e) {
|
||||
// 解析失败,保持为空
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return respVO;
|
||||
}
|
||||
|
||||
|
||||
@@ -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方法中处理了
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user