update:移动计量单位管理模块位置

This commit is contained in:
hewencai
2025-10-29 18:59:47 +08:00
parent 09e76c0cdc
commit 05a6278d18
58 changed files with 111 additions and 628 deletions

View File

@@ -40,11 +40,6 @@
<artifactId>zt-module-erp-server</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-unit-management-server</artifactId>
<version>${revision}</version>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>com.zt.plat</groupId>

View File

@@ -12,7 +12,6 @@
<module>zt-module-contract-order</module>
<module>zt-module-erp</module>
<module>base-server</module>
<module>zt-module-unit-management</module>
</modules>
<name>${project.artifactId}</name>

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
@@ -28,9 +27,9 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.unitmanagement.service.QuantityUnitRelation.QuantityUnitRelationService;
import com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo.*;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.service.quantityUnitRelation.QuantityUnitRelationService;
@Tag(name = "管理后台 - 计量单位量与单位关联")
@RestController

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import lombok.*;
import java.util.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo;
package com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion;
package com.zt.plat.module.base.controller.admin.unitConversion;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
@@ -28,9 +27,9 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.unitmanagement.service.UnitConversion.UnitConversionService;
import com.zt.plat.module.base.controller.admin.unitConversion.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import com.zt.plat.module.base.service.unitConversion.UnitConversionService;
@Tag(name = "管理后台 - 单位转换")
@RestController

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import lombok.*;
import java.util.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo;
package com.zt.plat.module.base.controller.admin.unitConversion.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity;
package com.zt.plat.module.base.controller.admin.unitQuantity;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
@@ -28,9 +27,9 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
import com.zt.plat.module.unitmanagement.service.UnitQuantity.UnitQuantityService;
import com.zt.plat.module.base.controller.admin.unitQuantity.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitQuantity.UnitQuantityDO;
import com.zt.plat.module.base.service.unitQuantity.UnitQuantityService;
@Tag(name = "管理后台 - 计量单位量")
@RestController

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
package com.zt.plat.module.base.controller.admin.unitQuantity.vo;
import lombok.*;
import java.util.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
package com.zt.plat.module.base.controller.admin.unitQuantity.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
package com.zt.plat.module.base.controller.admin.unitQuantity.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo;
package com.zt.plat.module.base.controller.admin.unitQuantity.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UntInfo;
package com.zt.plat.module.base.controller.admin.untInfo;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
@@ -28,9 +27,9 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.unitmanagement.service.UntInfo.UntInfoService;
import com.zt.plat.module.base.controller.admin.untInfo.vo.*;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import com.zt.plat.module.base.service.untInfo.UntInfoService;
@Tag(name = "管理后台 - 计量单位")
@RestController

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
package com.zt.plat.module.base.controller.admin.untInfo.vo;
import lombok.*;
import java.util.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
package com.zt.plat.module.base.controller.admin.untInfo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo;
package com.zt.plat.module.base.controller.admin.untInfo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

View File

@@ -1,13 +1,13 @@
package com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation;
package com.zt.plat.module.base.dal.dao.quantityUnitRelation;
import java.util.*;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import org.apache.ibatis.annotations.Mapper;
import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
import com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo.*;
/**
* 计量单位量与单位关联 Mapper

View File

@@ -1,13 +1,11 @@
package com.zt.plat.module.unitmanagement.dal.dao.UnitConversion;
import java.util.*;
package com.zt.plat.module.base.dal.dao.unitConversion;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import org.apache.ibatis.annotations.Mapper;
import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
import com.zt.plat.module.base.controller.admin.unitConversion.vo.*;
/**
* 单位转换 Mapper

View File

@@ -1,13 +1,11 @@
package com.zt.plat.module.unitmanagement.dal.dao.UnitQuantity;
import java.util.*;
package com.zt.plat.module.base.dal.dao.unitQuantity;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
import com.zt.plat.module.base.dal.dataobject.unitQuantity.UnitQuantityDO;
import org.apache.ibatis.annotations.Mapper;
import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
import com.zt.plat.module.base.controller.admin.unitQuantity.vo.*;
/**
* 计量单位量 Mapper

View File

@@ -1,13 +1,11 @@
package com.zt.plat.module.unitmanagement.dal.dao.UntInfo;
import java.util.*;
package com.zt.plat.module.base.dal.dao.untInfo;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import org.apache.ibatis.annotations.Mapper;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
import com.zt.plat.module.base.controller.admin.untInfo.vo.*;
/**
* 计量单位 Mapper

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation;
package com.zt.plat.module.base.dal.dataobject.quantityUnitRelation;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion;
package com.zt.plat.module.base.dal.dataobject.unitConversion;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity;
package com.zt.plat.module.base.dal.dataobject.unitQuantity;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo;
package com.zt.plat.module.base.dal.dataobject.untInfo;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

View File

@@ -1,11 +1,10 @@
package com.zt.plat.module.unitmanagement.service.QuantityUnitRelation;
package com.zt.plat.module.base.service.quantityUnitRelation;
import java.util.*;
import jakarta.validation.*;
import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo.*;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
/**
* 计量单位量与单位关联 Service 接口

View File

@@ -1,4 +1,4 @@
package com.zt.plat.module.unitmanagement.service.QuantityUnitRelation;
package com.zt.plat.module.base.service.quantityUnitRelation;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
@@ -7,20 +7,18 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zt.plat.module.unitmanagement.controller.admin.QuantityUnitRelation.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.controller.admin.quantityUnitRelation.vo.*;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.unitmanagement.service.UntInfo.UntInfoService;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.UntInfoSaveReqVO;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.UntInfoRespVO;
import com.zt.plat.module.base.dal.dao.quantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.base.service.untInfo.UntInfoService;
import com.zt.plat.module.base.controller.admin.untInfo.vo.UntInfoSaveReqVO;
import com.zt.plat.module.base.controller.admin.untInfo.vo.UntInfoRespVO;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
/**

View File

@@ -1,12 +1,12 @@
package com.zt.plat.module.unitmanagement.service.UnitConversion;
package com.zt.plat.module.base.service.unitConversion;
import com.zt.plat.module.unitmanagement.dal.dao.UnitConversion.UnitConversionMapper;
import com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.unitmanagement.dal.dao.UntInfo.UntInfoMapper;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.unitmanagement.util.UnitConversionUtil;
import com.zt.plat.module.base.dal.dao.unitConversion.UnitConversionMapper;
import com.zt.plat.module.base.dal.dao.quantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.base.dal.dao.untInfo.UntInfoMapper;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import com.zt.plat.module.base.util.UnitConversionUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

View File

@@ -1,11 +1,10 @@
package com.zt.plat.module.unitmanagement.service.UnitConversion;
package com.zt.plat.module.base.service.unitConversion;
import java.util.*;
import jakarta.validation.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.base.controller.admin.unitConversion.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
/**
* 单位转换 Service 接口

View File

@@ -1,26 +1,24 @@
package com.zt.plat.module.unitmanagement.service.UnitConversion;
package com.zt.plat.module.base.service.unitConversion;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitConversion.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.base.controller.admin.unitConversion.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.unitmanagement.dal.dao.UnitConversion.UnitConversionMapper;
import com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.unitmanagement.dal.dao.UntInfo.UntInfoMapper;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
import com.zt.plat.module.unitmanagement.service.UnitQuantity.UnitQuantityService;
import com.zt.plat.module.unitmanagement.util.UnitConversionUtil;
import com.zt.plat.module.base.dal.dao.unitConversion.UnitConversionMapper;
import com.zt.plat.module.base.dal.dao.quantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.base.dal.dao.untInfo.UntInfoMapper;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import com.zt.plat.module.base.dal.dataobject.unitQuantity.UnitQuantityDO;
import com.zt.plat.module.base.service.unitQuantity.UnitQuantityService;
import com.zt.plat.module.base.util.UnitConversionUtil;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import lombok.extern.slf4j.Slf4j;
@@ -29,7 +27,6 @@ import java.util.stream.Collectors;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
/**

View File

@@ -1,11 +1,10 @@
package com.zt.plat.module.unitmanagement.service.UnitQuantity;
package com.zt.plat.module.base.service.unitQuantity;
import java.util.*;
import jakarta.validation.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
import com.zt.plat.module.base.controller.admin.unitQuantity.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitQuantity.UnitQuantityDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
/**
* 计量单位量 Service 接口

View File

@@ -1,28 +1,25 @@
package com.zt.plat.module.unitmanagement.service.UnitQuantity;
package com.zt.plat.module.base.service.unitQuantity;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zt.plat.module.unitmanagement.controller.admin.UnitQuantity.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitQuantity.UnitQuantityDO;
import com.zt.plat.module.base.controller.admin.unitQuantity.vo.*;
import com.zt.plat.module.base.dal.dataobject.unitQuantity.UnitQuantityDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.unitmanagement.dal.dao.UnitQuantity.UnitQuantityMapper;
import com.zt.plat.module.unitmanagement.dal.dao.QuantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.unitmanagement.dal.dao.UntInfo.UntInfoMapper;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.base.dal.dao.unitQuantity.UnitQuantityMapper;
import com.zt.plat.module.base.dal.dao.quantityUnitRelation.QuantityUnitRelationMapper;
import com.zt.plat.module.base.dal.dao.untInfo.UntInfoMapper;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import java.util.stream.Collectors;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
/**

View File

@@ -1,11 +1,10 @@
package com.zt.plat.module.unitmanagement.service.UntInfo;
package com.zt.plat.module.base.service.untInfo;
import java.util.*;
import jakarta.validation.*;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.base.controller.admin.untInfo.vo.*;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
/**
* 计量单位 Service 接口

View File

@@ -1,23 +1,20 @@
package com.zt.plat.module.unitmanagement.service.UntInfo;
package com.zt.plat.module.base.service.untInfo;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zt.plat.module.unitmanagement.controller.admin.UntInfo.vo.*;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.base.controller.admin.untInfo.vo.*;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.unitmanagement.dal.dao.UntInfo.UntInfoMapper;
import com.zt.plat.module.base.dal.dao.untInfo.UntInfoMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.unitmanagement.enums.UnitErrorCodeConstants.*;
/**

View File

@@ -1,14 +1,13 @@
package com.zt.plat.module.unitmanagement.util;
package com.zt.plat.module.base.util;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.UntInfo.UntInfoDO;
import com.zt.plat.module.base.dal.dataobject.unitConversion.UnitConversionDO;
import com.zt.plat.module.base.dal.dataobject.quantityUnitRelation.QuantityUnitRelationDO;
import com.zt.plat.module.base.dal.dataobject.untInfo.UntInfoDO;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>dsc-base</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modules>
<module>zt-module-unit-management-api</module>
<module>zt-module-unit-management-server</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<artifactId>zt-module-unit-management</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>
计量单位 模块。
</description>
</project>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>zt-module-unit-management</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>zt-module-unit-management-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
暴露给其它模块调用
</description>
<dependencies>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-common</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>org.springdoc</groupId> <!-- 接口文档:使用最新版本的 Swagger 模型 -->
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@@ -1,151 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>zt-module-unit-management</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>zt-module-unit-management-server</artifactId>
<name>${project.artifactId}</name>
<description>
计量单位管理 模块。
</description>
<dependencies>
<!-- Spring Cloud 基础 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-env</artifactId>
</dependency>
<!-- 依赖服务 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-system-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-infra-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-unit-management-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-data-permission</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-tenant</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-security</artifactId>
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-redis</artifactId>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-rpc</artifactId>
</dependency>
<!-- Registry 注册中心相关 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Config 配置中心相关 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- Job 定时任务相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-job</artifactId>
</dependency>
<!-- 消息队列相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-mq</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-test</artifactId>
</dependency>
<!-- 工具类相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-excel</artifactId>
</dependency>
<!-- 监控相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-monitor</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-business</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
<build>
<!-- 设置构建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<!-- <plugins>-->
<!-- &lt;!&ndash; 打包 &ndash;&gt;-->
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- <version>${spring.boot.version}</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <goals>-->
<!-- <goal>repackage</goal> &lt;!&ndash; 将引入的 jar 打入其中 &ndash;&gt;-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- </plugins>-->
</build>
</project>

View File

@@ -1,264 +0,0 @@
package com.zt.plat.module.unitmanagement.util;
import com.zt.plat.module.unitmanagement.dal.dataobject.UnitConversion.UnitConversionDO;
import com.zt.plat.module.unitmanagement.dal.dataobject.QuantityUnitRelation.QuantityUnitRelationDO;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.DisplayName;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
/**
* UnitConversionUtil 工具类测试
*
* 测试内容:
* 1. 相同单位转换
* 2. 直接转换策略
* 3. 基准单位转换策略
* 4. 精度控制
* 5. 批量转换
* 6. 错误场景
*/
class UnitConversionUtilTest {
/**
* 准备测试数据
*/
private TestData prepareTestData() {
TestData data = new TestData();
// 量纲ID
Long lengthQuantityId = 1L;
Long weightQuantityId = 2L;
// 单位ID
Long meterId = 101L; // 米(基准)
Long kilometerId = 102L; // 千米
Long centimeterId = 103L; // 厘米
Long millimeterId = 104L; // 毫米
Long kilogramId = 201L; // 千克(基准)
Long tonId = 202L; // 吨
// 构建量纲-单位关联关系
data.relations = new ArrayList<>();
data.relations.add(createRelation(1L, lengthQuantityId, meterId, 1)); // 米是基准
data.relations.add(createRelation(2L, lengthQuantityId, kilometerId, 0));
data.relations.add(createRelation(3L, lengthQuantityId, centimeterId, 0));
data.relations.add(createRelation(4L, lengthQuantityId, millimeterId, 0));
data.relations.add(createRelation(5L, weightQuantityId, kilogramId, 1)); // 千克是基准
data.relations.add(createRelation(6L, weightQuantityId, tonId, 0));
// 构建转换规则(只配置到基准单位的转换)
data.conversions = new ArrayList<>();
// 千米 <-> 米
data.conversions.add(createConversion(1L, kilometerId, meterId, new BigDecimal("1000"), "1km = 1000m"));
data.conversions.add(createConversion(2L, meterId, kilometerId, new BigDecimal("0.001"), "1m = 0.001km"));
// 厘米 <-> 米
data.conversions.add(createConversion(3L, centimeterId, meterId, new BigDecimal("0.01"), "1cm = 0.01m"));
data.conversions.add(createConversion(4L, meterId, centimeterId, new BigDecimal("100"), "1m = 100cm"));
// 毫米 <-> 米
data.conversions.add(createConversion(5L, millimeterId, meterId, new BigDecimal("0.001"), "1mm = 0.001m"));
data.conversions.add(createConversion(6L, meterId, millimeterId, new BigDecimal("1000"), "1m = 1000mm"));
// 吨 <-> 千克
data.conversions.add(createConversion(7L, tonId, kilogramId, new BigDecimal("1000"), "1t = 1000kg"));
data.conversions.add(createConversion(8L, kilogramId, tonId, new BigDecimal("0.001"), "1kg = 0.001t"));
// 保存单位ID供测试使用
data.meterId = meterId;
data.kilometerId = kilometerId;
data.centimeterId = centimeterId;
data.millimeterId = millimeterId;
data.kilogramId = kilogramId;
data.tonId = tonId;
return data;
}
private QuantityUnitRelationDO createRelation(Long id, Long quantityId, Long unitId, Integer isBase) {
QuantityUnitRelationDO relation = new QuantityUnitRelationDO();
relation.setId(id);
relation.setUntQtyId(quantityId);
relation.setUntId(unitId);
relation.setIsBse(isBase);
return relation;
}
private UnitConversionDO createConversion(Long id, Long srcId, Long tgtId, BigDecimal factor, String formula) {
UnitConversionDO conversion = new UnitConversionDO();
conversion.setId(id);
conversion.setSrcUntId(srcId);
conversion.setTgtUntId(tgtId);
conversion.setFctr(factor);
conversion.setFmu(formula);
return conversion;
}
@Test
@DisplayName("测试1: 相同单位转换")
void testSameUnitConversion() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("100");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.meterId, data.meterId,
data.conversions, data.relations, 6
);
assertEquals(value, result.getValue(), "相同单位转换,值应该不变");
assertEquals(BigDecimal.ONE, result.getFactor(), "相同单位转换因子应该为1");
assertEquals(UnitConversionUtil.ConversionStrategy.DIRECT, result.getStrategy(), "相同单位应使用DIRECT策略");
}
@Test
@DisplayName("测试2: 直接转换策略 - 千米到米")
void testDirectConversion_KmToM() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("5.5");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.kilometerId, data.meterId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("5500.000000"), result.getValue(), "5.5km应该等于5500m");
assertEquals(new BigDecimal("1000"), result.getFactor(), "千米到米的因子应该是1000");
assertEquals(UnitConversionUtil.ConversionStrategy.DIRECT, result.getStrategy(), "应使用DIRECT策略");
}
@Test
@DisplayName("测试3: 直接转换策略 - 米到千米")
void testDirectConversion_MToKm() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("5000");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.meterId, data.kilometerId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("5.000000"), result.getValue(), "5000m应该等于5km");
assertEquals(new BigDecimal("0.001"), result.getFactor(), "米到千米的因子应该是0.001");
assertEquals(UnitConversionUtil.ConversionStrategy.DIRECT, result.getStrategy(), "应使用DIRECT策略");
}
@Test
@DisplayName("测试4: 基准单位转换策略 - 厘米到千米")
void testViaBaseUnitConversion_CmToKm() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("100000");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.centimeterId, data.kilometerId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("1.000000"), result.getValue(), "100000cm应该等于1km");
assertEquals(UnitConversionUtil.ConversionStrategy.VIA_BASE_UNIT, result.getStrategy(),
"厘米到千米应使用VIA_BASE_UNIT策略");
assertTrue(result.getFormula().contains("基准单位"), "公式应该提到基准单位");
}
@Test
@DisplayName("测试5: 基准单位转换策略 - 毫米到千米")
void testViaBaseUnitConversion_MmToKm() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("1000000");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.millimeterId, data.kilometerId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("1.000000"), result.getValue(), "1000000mm应该等于1km");
assertEquals(UnitConversionUtil.ConversionStrategy.VIA_BASE_UNIT, result.getStrategy(),
"毫米到千米应使用VIA_BASE_UNIT策略");
}
@Test
@DisplayName("测试6: 精度控制 - 2位小数")
void testPrecisionControl_2Digits() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("1.23456789");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.kilometerId, data.meterId,
data.conversions, data.relations, 2
);
assertEquals(new BigDecimal("1234.57"), result.getValue(), "精度应该控制在2位小数");
}
@Test
@DisplayName("测试7: 精度控制 - 6位小数")
void testPrecisionControl_6Digits() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("1.23456789");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.kilometerId, data.meterId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("1234.567890"), result.getValue(), "精度应该控制在6位小数");
}
@Test
@DisplayName("测试8: 批量转换")
void testBatchConversion() {
TestData data = prepareTestData();
List<BigDecimal> values = new ArrayList<>();
values.add(new BigDecimal("1"));
values.add(new BigDecimal("2"));
values.add(new BigDecimal("3"));
List<UnitConversionUtil.ConversionResult> results = UnitConversionUtil.batchConvert(
values, data.kilometerId, data.meterId,
data.conversions, data.relations, 6
);
assertEquals(3, results.size(), "应该返回3个转换结果");
assertEquals(new BigDecimal("1000.000000"), results.get(0).getValue(), "1km = 1000m");
assertEquals(new BigDecimal("2000.000000"), results.get(1).getValue(), "2km = 2000m");
assertEquals(new BigDecimal("3000.000000"), results.get(2).getValue(), "3km = 3000m");
}
@Test
@DisplayName("测试10: 重量单位转换 - 千克到吨")
void testWeightConversion_KgToTon() {
TestData data = prepareTestData();
BigDecimal value = new BigDecimal("1000");
UnitConversionUtil.ConversionResult result = UnitConversionUtil.convert(
value, data.kilogramId, data.tonId,
data.conversions, data.relations, 6
);
assertEquals(new BigDecimal("1.000000"), result.getValue(), "1000kg应该等于1t");
assertEquals(new BigDecimal("0.001"), result.getFactor(), "千克到吨的因子应该是0.001");
assertEquals(UnitConversionUtil.ConversionStrategy.DIRECT, result.getStrategy());
}
/**
* 测试数据容器
*/
static class TestData {
List<UnitConversionDO> conversions;
List<QuantityUnitRelationDO> relations;
Long meterId;
Long kilometerId;
Long centimeterId;
Long millimeterId;
Long kilogramId;
Long tonId;
}
}