fix bug
This commit is contained in:
@@ -74,6 +74,10 @@ import java.util.Map;
|
||||
@Tag(name = "空港机场主数据", description = "空港机场主数据")
|
||||
public class AirportMasterController extends BladeController {
|
||||
|
||||
private static final int DEFAULT_CURRENT = 1;
|
||||
private static final int DEFAULT_SIZE = 10;
|
||||
private static final int MAX_SIZE = 100;
|
||||
|
||||
private final IAirportMasterService airportMasterService;
|
||||
|
||||
/**
|
||||
@@ -83,7 +87,13 @@ public class AirportMasterController extends BladeController {
|
||||
@ApiOperationSupport(order = 1)
|
||||
@Operation(summary = "详情", description = "传入airportMaster")
|
||||
public R<AirportMasterVO> detail(AirportMaster airportMaster) {
|
||||
AirportMaster detail = airportMasterService.getOne(Condition.getQueryWrapper(airportMaster));
|
||||
if (Func.isEmpty(airportMaster.getId())) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
AirportMaster detail = airportMasterService.getById(airportMaster.getId());
|
||||
if (Func.isEmpty(detail)) {
|
||||
return R.fail("空港机场不存在");
|
||||
}
|
||||
return R.data(AirportMasterWrapper.build().entityVO(detail));
|
||||
}
|
||||
|
||||
@@ -94,7 +104,7 @@ public class AirportMasterController extends BladeController {
|
||||
@ApiOperationSupport(order = 2)
|
||||
@Operation(summary = "分页", description = "传入airportMaster")
|
||||
public R<IPage<AirportMasterVO>> list(AirportMasterVO airportMaster, Query query) {
|
||||
IPage<AirportMasterVO> pages = airportMasterService.selectAirportMasterPage(Condition.getPage(query), airportMaster);
|
||||
IPage<AirportMasterVO> pages = airportMasterService.selectAirportMasterPage(Condition.getPage(normalizeQuery(query)), airportMaster);
|
||||
return R.data(pages);
|
||||
}
|
||||
|
||||
@@ -115,6 +125,9 @@ public class AirportMasterController extends BladeController {
|
||||
@ApiOperationSupport(order = 4)
|
||||
@Operation(summary = "逻辑删除", description = "传入ids")
|
||||
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
|
||||
if (Func.isEmpty(ids)) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
return R.status(airportMasterService.deleteLogic(Func.toLongList(ids)));
|
||||
}
|
||||
|
||||
@@ -136,6 +149,13 @@ public class AirportMasterController extends BladeController {
|
||||
@ApiOperationSupport(order = 6)
|
||||
@Operation(summary = "导入空港机场主数据", description = "传入excel")
|
||||
public R importAirportMaster(MultipartFile file) {
|
||||
if (file == null || file.isEmpty()) {
|
||||
return R.fail("上传文件不能为空");
|
||||
}
|
||||
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
|
||||
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
|
||||
return R.fail("请上传 .xls,.xlsx 标准格式文件");
|
||||
}
|
||||
AirportMasterImporter airportMasterImporter = new AirportMasterImporter(airportMasterService);
|
||||
ExcelUtil.save(file, airportMasterImporter, AirportMasterExcel.class);
|
||||
return R.success("操作成功");
|
||||
@@ -149,6 +169,9 @@ public class AirportMasterController extends BladeController {
|
||||
@Operation(summary = "导出空港机场主数据")
|
||||
public void exportAirportMaster(@Parameter(hidden = true) @RequestParam Map<String, Object> airportMaster, HttpServletResponse response) {
|
||||
Object ids = airportMaster.remove("ids");
|
||||
airportMaster.remove("Blade-Auth");
|
||||
airportMaster.remove("Authorization");
|
||||
airportMaster.remove("access_token");
|
||||
QueryWrapper<AirportMaster> queryWrapper = Condition.getQueryWrapper(airportMaster, AirportMaster.class);
|
||||
if (Func.isNotEmpty(ids)) {
|
||||
queryWrapper.lambda().in(AirportMaster::getId, Func.toLongList(ids.toString()));
|
||||
@@ -168,4 +191,20 @@ public class AirportMasterController extends BladeController {
|
||||
ExcelUtil.export(response, "空港机场主数据模板", "空港机场主数据表", list, AirportMasterExcel.class);
|
||||
}
|
||||
|
||||
private Query normalizeQuery(Query query) {
|
||||
if (query == null) {
|
||||
query = new Query();
|
||||
}
|
||||
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
|
||||
query.setCurrent(DEFAULT_CURRENT);
|
||||
}
|
||||
if (query.getSize() == null || query.getSize() <= 0) {
|
||||
query.setSize(DEFAULT_SIZE);
|
||||
}
|
||||
if (query.getSize() > MAX_SIZE) {
|
||||
query.setSize(MAX_SIZE);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -74,6 +74,11 @@ import java.util.Map;
|
||||
@Tag(name = "港口码头主数据", description = "港口码头主数据")
|
||||
public class PortTerminalController extends BladeController {
|
||||
|
||||
private static final int DEFAULT_CURRENT = 1;
|
||||
private static final int DEFAULT_SIZE = 10;
|
||||
private static final int MAX_SIZE = 100;
|
||||
private static final String SOURCE_INITIAL = "初始化导入";
|
||||
|
||||
private final IPortTerminalService portTerminalService;
|
||||
|
||||
/**
|
||||
@@ -83,7 +88,13 @@ public class PortTerminalController extends BladeController {
|
||||
@ApiOperationSupport(order = 1)
|
||||
@Operation(summary = "详情", description = "传入portTerminal")
|
||||
public R<PortTerminalVO> detail(PortTerminal portTerminal) {
|
||||
PortTerminal detail = portTerminalService.getOne(Condition.getQueryWrapper(portTerminal));
|
||||
if (Func.isEmpty(portTerminal.getId())) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
PortTerminal detail = portTerminalService.getById(portTerminal.getId());
|
||||
if (Func.isEmpty(detail)) {
|
||||
return R.fail("港口码头不存在");
|
||||
}
|
||||
return R.data(PortTerminalWrapper.build().entityVO(detail));
|
||||
}
|
||||
|
||||
@@ -94,7 +105,7 @@ public class PortTerminalController extends BladeController {
|
||||
@ApiOperationSupport(order = 2)
|
||||
@Operation(summary = "分页", description = "传入portTerminal")
|
||||
public R<IPage<PortTerminalVO>> list(PortTerminalVO portTerminal, Query query) {
|
||||
IPage<PortTerminalVO> pages = portTerminalService.selectPortTerminalPage(Condition.getPage(query), portTerminal);
|
||||
IPage<PortTerminalVO> pages = portTerminalService.selectPortTerminalPage(Condition.getPage(normalizeQuery(query)), portTerminal);
|
||||
return R.data(pages);
|
||||
}
|
||||
|
||||
@@ -115,6 +126,9 @@ public class PortTerminalController extends BladeController {
|
||||
@ApiOperationSupport(order = 4)
|
||||
@Operation(summary = "逻辑删除", description = "传入ids")
|
||||
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
|
||||
if (Func.isEmpty(ids)) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
return R.status(portTerminalService.deleteLogic(Func.toLongList(ids)));
|
||||
}
|
||||
|
||||
@@ -146,6 +160,13 @@ public class PortTerminalController extends BladeController {
|
||||
@ApiOperationSupport(order = 7)
|
||||
@Operation(summary = "导入港口码头主数据", description = "传入excel")
|
||||
public R importPortTerminal(MultipartFile file) {
|
||||
if (file == null || file.isEmpty()) {
|
||||
return R.fail("上传文件不能为空");
|
||||
}
|
||||
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
|
||||
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
|
||||
return R.fail("请上传 .xls,.xlsx 标准格式文件");
|
||||
}
|
||||
PortTerminalImporter portTerminalImporter = new PortTerminalImporter(portTerminalService);
|
||||
ExcelUtil.save(file, portTerminalImporter, PortTerminalExcel.class);
|
||||
return R.success("操作成功");
|
||||
@@ -159,7 +180,12 @@ public class PortTerminalController extends BladeController {
|
||||
@Operation(summary = "导出港口码头主数据")
|
||||
public void exportPortTerminal(@Parameter(hidden = true) @RequestParam Map<String, Object> portTerminal, HttpServletResponse response) {
|
||||
Object ids = portTerminal.remove("ids");
|
||||
Object dataSource = portTerminal.remove("dataSource");
|
||||
portTerminal.remove("Blade-Auth");
|
||||
portTerminal.remove("Authorization");
|
||||
portTerminal.remove("access_token");
|
||||
QueryWrapper<PortTerminal> queryWrapper = Condition.getQueryWrapper(portTerminal, PortTerminal.class);
|
||||
applyDataSourceCondition(queryWrapper, dataSource);
|
||||
if (Func.isNotEmpty(ids)) {
|
||||
queryWrapper.lambda().in(PortTerminal::getId, Func.toLongList(ids.toString()));
|
||||
}
|
||||
@@ -178,4 +204,32 @@ public class PortTerminalController extends BladeController {
|
||||
ExcelUtil.export(response, "港口码头主数据模板", "港口码头主数据表", list, PortTerminalExcel.class);
|
||||
}
|
||||
|
||||
private Query normalizeQuery(Query query) {
|
||||
if (query == null) {
|
||||
query = new Query();
|
||||
}
|
||||
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
|
||||
query.setCurrent(DEFAULT_CURRENT);
|
||||
}
|
||||
if (query.getSize() == null || query.getSize() <= 0) {
|
||||
query.setSize(DEFAULT_SIZE);
|
||||
}
|
||||
if (query.getSize() > MAX_SIZE) {
|
||||
query.setSize(MAX_SIZE);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
private void applyDataSourceCondition(QueryWrapper<PortTerminal> queryWrapper, Object dataSource) {
|
||||
String value = Func.toStrWithEmpty(dataSource, "");
|
||||
if (Func.isEmpty(value)) {
|
||||
return;
|
||||
}
|
||||
if (SOURCE_INITIAL.equals(value)) {
|
||||
queryWrapper.in("data_source", SOURCE_INITIAL, "初始导入");
|
||||
} else {
|
||||
queryWrapper.eq("data_source", value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -74,6 +74,13 @@ import java.util.Map;
|
||||
@Tag(name = "铁路车站主数据", description = "铁路车站主数据")
|
||||
public class RailwayStationController extends BladeController {
|
||||
|
||||
private static final int DEFAULT_CURRENT = 1;
|
||||
private static final int DEFAULT_SIZE = 10;
|
||||
private static final int MAX_SIZE = 100;
|
||||
private static final String SOURCE_INITIAL = "初始化导入";
|
||||
private static final String SOURCE_BATCH = "批量";
|
||||
private static final String SOURCE_MANUAL = "手动";
|
||||
|
||||
private final IRailwayStationService railwayStationService;
|
||||
|
||||
/**
|
||||
@@ -83,7 +90,13 @@ public class RailwayStationController extends BladeController {
|
||||
@ApiOperationSupport(order = 1)
|
||||
@Operation(summary = "详情", description = "传入railwayStation")
|
||||
public R<RailwayStationVO> detail(RailwayStation railwayStation) {
|
||||
RailwayStation detail = railwayStationService.getOne(Condition.getQueryWrapper(railwayStation));
|
||||
if (Func.isEmpty(railwayStation.getId())) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
RailwayStation detail = railwayStationService.getById(railwayStation.getId());
|
||||
if (Func.isEmpty(detail)) {
|
||||
return R.fail("铁路车站不存在");
|
||||
}
|
||||
return R.data(RailwayStationWrapper.build().entityVO(detail));
|
||||
}
|
||||
|
||||
@@ -94,7 +107,7 @@ public class RailwayStationController extends BladeController {
|
||||
@ApiOperationSupport(order = 2)
|
||||
@Operation(summary = "分页", description = "传入railwayStation")
|
||||
public R<IPage<RailwayStationVO>> list(RailwayStationVO railwayStation, Query query) {
|
||||
IPage<RailwayStationVO> pages = railwayStationService.selectRailwayStationPage(Condition.getPage(query), railwayStation);
|
||||
IPage<RailwayStationVO> pages = railwayStationService.selectRailwayStationPage(Condition.getPage(normalizeQuery(query)), railwayStation);
|
||||
return R.data(pages);
|
||||
}
|
||||
|
||||
@@ -115,6 +128,9 @@ public class RailwayStationController extends BladeController {
|
||||
@ApiOperationSupport(order = 4)
|
||||
@Operation(summary = "逻辑删除", description = "传入ids")
|
||||
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
|
||||
if (Func.isEmpty(ids)) {
|
||||
return R.fail("主键不能为空");
|
||||
}
|
||||
return R.status(railwayStationService.deleteLogic(Func.toLongList(ids)));
|
||||
}
|
||||
|
||||
@@ -136,6 +152,13 @@ public class RailwayStationController extends BladeController {
|
||||
@ApiOperationSupport(order = 6)
|
||||
@Operation(summary = "导入铁路车站主数据", description = "传入excel")
|
||||
public R importRailwayStation(MultipartFile file) {
|
||||
if (file == null || file.isEmpty()) {
|
||||
return R.fail("上传文件不能为空");
|
||||
}
|
||||
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
|
||||
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
|
||||
return R.fail("请上传 .xls,.xlsx 标准格式文件");
|
||||
}
|
||||
RailwayStationImporter railwayStationImporter = new RailwayStationImporter(railwayStationService);
|
||||
ExcelUtil.save(file, railwayStationImporter, RailwayStationExcel.class);
|
||||
return R.success("操作成功");
|
||||
@@ -149,7 +172,12 @@ public class RailwayStationController extends BladeController {
|
||||
@Operation(summary = "导出铁路车站主数据")
|
||||
public void exportRailwayStation(@Parameter(hidden = true) @RequestParam Map<String, Object> railwayStation, HttpServletResponse response) {
|
||||
Object ids = railwayStation.remove("ids");
|
||||
Object dataSource = railwayStation.remove("dataSource");
|
||||
railwayStation.remove("Blade-Auth");
|
||||
railwayStation.remove("Authorization");
|
||||
railwayStation.remove("access_token");
|
||||
QueryWrapper<RailwayStation> queryWrapper = Condition.getQueryWrapper(railwayStation, RailwayStation.class);
|
||||
applyDataSourceCondition(queryWrapper, dataSource);
|
||||
if (Func.isNotEmpty(ids)) {
|
||||
queryWrapper.lambda().in(RailwayStation::getId, Func.toLongList(ids.toString()));
|
||||
}
|
||||
@@ -168,4 +196,36 @@ public class RailwayStationController extends BladeController {
|
||||
ExcelUtil.export(response, "铁路车站主数据模板", "铁路车站主数据表", list, RailwayStationExcel.class);
|
||||
}
|
||||
|
||||
private Query normalizeQuery(Query query) {
|
||||
if (query == null) {
|
||||
query = new Query();
|
||||
}
|
||||
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
|
||||
query.setCurrent(DEFAULT_CURRENT);
|
||||
}
|
||||
if (query.getSize() == null || query.getSize() <= 0) {
|
||||
query.setSize(DEFAULT_SIZE);
|
||||
}
|
||||
if (query.getSize() > MAX_SIZE) {
|
||||
query.setSize(MAX_SIZE);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
private void applyDataSourceCondition(QueryWrapper<RailwayStation> queryWrapper, Object dataSource) {
|
||||
String value = Func.toStrWithEmpty(dataSource, "");
|
||||
if (Func.isEmpty(value)) {
|
||||
return;
|
||||
}
|
||||
if (SOURCE_INITIAL.equals(value)) {
|
||||
queryWrapper.in("data_source", SOURCE_INITIAL, "初始导入");
|
||||
} else if (SOURCE_BATCH.equals(value)) {
|
||||
queryWrapper.in("data_source", SOURCE_BATCH, "批量导入");
|
||||
} else if (SOURCE_MANUAL.equals(value)) {
|
||||
queryWrapper.in("data_source", SOURCE_MANUAL, "手动录入", "手工导入");
|
||||
} else {
|
||||
queryWrapper.eq("data_source", value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public class AirportMasterExcel implements Serializable {
|
||||
@ExcelProperty("数据来源")
|
||||
private String dataSource;
|
||||
|
||||
@ExcelProperty("状态")
|
||||
@ExcelProperty("启停状态")
|
||||
private String statusName;
|
||||
|
||||
@ExcelProperty("备注")
|
||||
|
||||
@@ -82,7 +82,7 @@ public class PortTerminalExcel implements Serializable {
|
||||
@ExcelProperty("数据来源")
|
||||
private String dataSource;
|
||||
|
||||
@ExcelProperty("状态")
|
||||
@ExcelProperty("启停状态")
|
||||
private String statusName;
|
||||
|
||||
@ExcelProperty("备注")
|
||||
|
||||
@@ -82,7 +82,7 @@ public class RailwayStationExcel implements Serializable {
|
||||
@ExcelProperty("数据来源")
|
||||
private String dataSource;
|
||||
|
||||
@ExcelProperty("状态")
|
||||
@ExcelProperty("启停状态")
|
||||
private String statusName;
|
||||
|
||||
@ExcelProperty("备注")
|
||||
|
||||
@@ -28,7 +28,27 @@
|
||||
|
||||
<select id="selectAirportMasterPage" resultMap="airportMasterResultMap">
|
||||
SELECT
|
||||
*
|
||||
id,
|
||||
create_user,
|
||||
create_dept,
|
||||
create_time,
|
||||
update_user,
|
||||
update_time,
|
||||
status,
|
||||
is_deleted,
|
||||
code,
|
||||
iata_code,
|
||||
icao_code,
|
||||
name,
|
||||
short_name,
|
||||
province_code,
|
||||
province_name,
|
||||
city_code,
|
||||
city_name,
|
||||
longitude,
|
||||
latitude,
|
||||
CASE WHEN data_source = '手工导入' THEN '手动录入' ELSE data_source END AS data_source,
|
||||
remark
|
||||
FROM
|
||||
blade_airport_master
|
||||
WHERE
|
||||
@@ -41,8 +61,21 @@
|
||||
<bind name="nameLike" value="'%' + airportMaster.name + '%'"/>
|
||||
AND name LIKE #{nameLike}
|
||||
</if>
|
||||
<if test="airportMaster.iataCode != null and airportMaster.iataCode != ''">
|
||||
AND iata_code = #{airportMaster.iataCode}
|
||||
</if>
|
||||
<if test="airportMaster.icaoCode != null and airportMaster.icaoCode != ''">
|
||||
AND icao_code = #{airportMaster.icaoCode}
|
||||
</if>
|
||||
<if test="airportMaster.dataSource != null and airportMaster.dataSource != ''">
|
||||
AND data_source = #{airportMaster.dataSource}
|
||||
<choose>
|
||||
<when test="airportMaster.dataSource == '手动录入'">
|
||||
AND data_source IN ('手动录入', '手工导入')
|
||||
</when>
|
||||
<otherwise>
|
||||
AND data_source = #{airportMaster.dataSource}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="airportMaster.status != null">
|
||||
AND status = #{airportMaster.status}
|
||||
|
||||
@@ -27,7 +27,26 @@
|
||||
|
||||
<select id="selectPortTerminalPage" resultMap="portTerminalResultMap">
|
||||
SELECT
|
||||
*
|
||||
id,
|
||||
create_user,
|
||||
create_dept,
|
||||
create_time,
|
||||
update_user,
|
||||
update_time,
|
||||
status,
|
||||
is_deleted,
|
||||
code,
|
||||
name,
|
||||
category,
|
||||
parent_id,
|
||||
parent_code,
|
||||
parent_name,
|
||||
country,
|
||||
city,
|
||||
CASE WHEN longitude BETWEEN -180 AND 180 THEN longitude ELSE NULL END AS longitude,
|
||||
CASE WHEN latitude BETWEEN -90 AND 90 THEN latitude ELSE NULL END AS latitude,
|
||||
CASE WHEN data_source = '初始导入' THEN '初始化导入' ELSE data_source END AS data_source,
|
||||
remark
|
||||
FROM
|
||||
blade_port_terminal
|
||||
WHERE
|
||||
@@ -44,7 +63,14 @@
|
||||
AND category = #{portTerminal.category}
|
||||
</if>
|
||||
<if test="portTerminal.dataSource != null and portTerminal.dataSource != ''">
|
||||
AND data_source = #{portTerminal.dataSource}
|
||||
<choose>
|
||||
<when test="portTerminal.dataSource == '初始化导入'">
|
||||
AND data_source IN ('初始化导入', '初始导入')
|
||||
</when>
|
||||
<otherwise>
|
||||
AND data_source = #{portTerminal.dataSource}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="portTerminal.city != null and portTerminal.city != ''">
|
||||
AND city = #{portTerminal.city}
|
||||
|
||||
@@ -28,7 +28,32 @@
|
||||
|
||||
<select id="selectRailwayStationPage" resultMap="railwayStationResultMap">
|
||||
SELECT
|
||||
*
|
||||
id,
|
||||
create_user,
|
||||
create_dept,
|
||||
create_time,
|
||||
update_user,
|
||||
update_time,
|
||||
status,
|
||||
is_deleted,
|
||||
code,
|
||||
tmis_code,
|
||||
telegraph_code,
|
||||
name,
|
||||
railway_line,
|
||||
province_code,
|
||||
province_name,
|
||||
city_code,
|
||||
city_name,
|
||||
longitude,
|
||||
latitude,
|
||||
CASE
|
||||
WHEN data_source = '初始导入' THEN '初始化导入'
|
||||
WHEN data_source = '批量导入' THEN '批量'
|
||||
WHEN data_source IN ('手工导入', '手动录入') THEN '手动'
|
||||
ELSE data_source
|
||||
END AS data_source,
|
||||
remark
|
||||
FROM
|
||||
blade_railway_station
|
||||
WHERE
|
||||
@@ -41,8 +66,27 @@
|
||||
<bind name="nameLike" value="'%' + railwayStation.name + '%'"/>
|
||||
AND name LIKE #{nameLike}
|
||||
</if>
|
||||
<if test="railwayStation.tmisCode != null and railwayStation.tmisCode != ''">
|
||||
AND tmis_code = #{railwayStation.tmisCode}
|
||||
</if>
|
||||
<if test="railwayStation.telegraphCode != null and railwayStation.telegraphCode != ''">
|
||||
AND telegraph_code = #{railwayStation.telegraphCode}
|
||||
</if>
|
||||
<if test="railwayStation.dataSource != null and railwayStation.dataSource != ''">
|
||||
AND data_source = #{railwayStation.dataSource}
|
||||
<choose>
|
||||
<when test="railwayStation.dataSource == '初始化导入'">
|
||||
AND data_source IN ('初始化导入', '初始导入')
|
||||
</when>
|
||||
<when test="railwayStation.dataSource == '批量'">
|
||||
AND data_source IN ('批量', '批量导入')
|
||||
</when>
|
||||
<when test="railwayStation.dataSource == '手动'">
|
||||
AND data_source IN ('手动', '手动录入', '手工导入')
|
||||
</when>
|
||||
<otherwise>
|
||||
AND data_source = #{railwayStation.dataSource}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="railwayStation.status != null">
|
||||
AND status = #{railwayStation.status}
|
||||
|
||||
@@ -61,10 +61,16 @@ import java.util.regex.Pattern;
|
||||
public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMapper, AirportMaster> implements IAirportMasterService {
|
||||
|
||||
private static final String CODE_PREFIX = "JC-";
|
||||
private static final String SOURCE_INITIAL = "初始导入";
|
||||
private static final String SOURCE_BATCH = "批量导入";
|
||||
private static final String SOURCE_MANUAL = "手工导入";
|
||||
private static final String SOURCE_MANUAL = "手动录入";
|
||||
private static final String SOURCE_MANUAL_OLD = "手工导入";
|
||||
private static final int STATUS_ENABLED = 1;
|
||||
private static final int STATUS_DISABLED = 2;
|
||||
private static final int CODE_MAX_LENGTH = 20;
|
||||
private static final int NAME_MAX_LENGTH = 100;
|
||||
private static final int SHORT_NAME_MAX_LENGTH = 100;
|
||||
private static final int REGION_NAME_MAX_LENGTH = 128;
|
||||
private static final int REMARK_MAX_LENGTH = 200;
|
||||
private static final Pattern IATA_CODE_PATTERN = Pattern.compile("^[A-Z]{3}$");
|
||||
private static final Pattern ICAO_CODE_PATTERN = Pattern.compile("^[A-Z]{4}$");
|
||||
@@ -110,6 +116,9 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void importAirportMaster(List<AirportMasterExcel> data) {
|
||||
if (Func.isEmpty(data)) {
|
||||
throw new ServiceException("导入数据不能为空");
|
||||
}
|
||||
List<String> errorList = new ArrayList<>();
|
||||
for (int index = 0; index < data.size(); index++) {
|
||||
AirportMasterExcel excel = data.get(index);
|
||||
@@ -135,6 +144,7 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
List<AirportMaster> airportMasterList = list(queryWrapper);
|
||||
return airportMasterList.stream().map(airportMaster -> {
|
||||
AirportMasterExcel excel = Objects.requireNonNull(BeanUtil.copyProperties(airportMaster, AirportMasterExcel.class));
|
||||
excel.setDataSource(normalizeDataSource(airportMaster.getDataSource()));
|
||||
excel.setStatusName(Objects.equals(airportMaster.getStatus(), STATUS_ENABLED) ? "启用" : "停用");
|
||||
return excel;
|
||||
}).toList();
|
||||
@@ -151,7 +161,7 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
airportMaster.setCityCode(trimToNull(airportMaster.getCityCode()));
|
||||
airportMaster.setCityName(trimToNull(airportMaster.getCityName()));
|
||||
airportMaster.setRemark(trimToNull(airportMaster.getRemark()));
|
||||
airportMaster.setDataSource(Func.toStrWithEmpty(airportMaster.getDataSource(), defaultDataSource));
|
||||
airportMaster.setDataSource(normalizeDataSource(Func.toStrWithEmpty(airportMaster.getDataSource(), defaultDataSource)));
|
||||
if (Func.isEmpty(airportMaster.getStatus())) {
|
||||
airportMaster.setStatus(STATUS_ENABLED);
|
||||
}
|
||||
@@ -174,14 +184,19 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
if (Func.isEmpty(airportMaster.getName())) {
|
||||
throw new ServiceException("机场标准名称不能为空");
|
||||
}
|
||||
validateLength(airportMaster.getCode(), CODE_MAX_LENGTH, "编码不能超过20字");
|
||||
validateLength(airportMaster.getName(), NAME_MAX_LENGTH, "机场标准名称不能超过100字");
|
||||
validateLength(airportMaster.getShortName(), SHORT_NAME_MAX_LENGTH, "机场简称不能超过100字");
|
||||
validateLength(airportMaster.getProvinceName(), REGION_NAME_MAX_LENGTH, "所属省份不能超过128字");
|
||||
validateLength(airportMaster.getCityName(), REGION_NAME_MAX_LENGTH, "所属城市不能超过128字");
|
||||
validateLength(airportMaster.getRemark(), REMARK_MAX_LENGTH, "备注不能超过200字");
|
||||
if (Func.isEmpty(airportMaster.getProvinceCode()) || Func.isEmpty(airportMaster.getCityCode())) {
|
||||
throw new ServiceException("请选择省份和城市");
|
||||
}
|
||||
validateCoordinate(airportMaster.getLongitude(), MIN_LONGITUDE, MAX_LONGITUDE, "经度");
|
||||
validateCoordinate(airportMaster.getLatitude(), MIN_LATITUDE, MAX_LATITUDE, "纬度");
|
||||
if (Func.isNotEmpty(airportMaster.getRemark()) && airportMaster.getRemark().length() > REMARK_MAX_LENGTH) {
|
||||
throw new ServiceException("备注不能超过200字");
|
||||
}
|
||||
validateDataSource(airportMaster.getDataSource());
|
||||
validateStatus(airportMaster.getStatus());
|
||||
validateUnique(airportMaster, AirportMaster::getIataCode, airportMaster.getIataCode(), "该IATA编码已存在");
|
||||
validateUnique(airportMaster, AirportMaster::getIcaoCode, airportMaster.getIcaoCode(), "该ICAO代码已存在");
|
||||
validateUnique(airportMaster, AirportMaster::getCode, airportMaster.getCode(), "该编码已存在");
|
||||
@@ -227,7 +242,25 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
return;
|
||||
}
|
||||
if (value.compareTo(min) < 0 || value.compareTo(max) > 0) {
|
||||
throw new ServiceException(name + "范围不正确");
|
||||
throw new ServiceException(name + ("经度".equals(name) ? "范围为 -180 到 180" : "范围为 -90 到 90"));
|
||||
}
|
||||
}
|
||||
|
||||
private void validateDataSource(String dataSource) {
|
||||
if (!SOURCE_INITIAL.equals(dataSource) && !SOURCE_BATCH.equals(dataSource) && !SOURCE_MANUAL.equals(dataSource)) {
|
||||
throw new ServiceException("数据来源不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateStatus(Integer status) {
|
||||
if (!Objects.equals(status, STATUS_ENABLED) && !Objects.equals(status, STATUS_DISABLED)) {
|
||||
throw new ServiceException("启停状态不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateLength(String value, int maxLength, String message) {
|
||||
if (Func.isNotEmpty(value) && value.length() > maxLength) {
|
||||
throw new ServiceException(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,4 +285,9 @@ public class AirportMasterServiceImpl extends BaseServiceImpl<AirportMasterMappe
|
||||
return trimValue.isEmpty() ? null : trimValue;
|
||||
}
|
||||
|
||||
private String normalizeDataSource(String dataSource) {
|
||||
String value = trimToEmpty(dataSource);
|
||||
return SOURCE_MANUAL_OLD.equals(value) ? SOURCE_MANUAL : value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ import org.springblade.system.service.IPortTerminalService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -57,11 +58,20 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
|
||||
private static final String CATEGORY_PORT = "港口";
|
||||
private static final String CATEGORY_TERMINAL = "码头";
|
||||
private static final String SOURCE_INITIAL = "初始导入";
|
||||
private static final String SOURCE_INITIAL = "初始化导入";
|
||||
private static final String SOURCE_INITIAL_OLD = "初始导入";
|
||||
private static final String SOURCE_BATCH = "批量导入";
|
||||
private static final String SOURCE_MANUAL = "手工导入";
|
||||
private static final int STATUS_ENABLED = 1;
|
||||
private static final int STATUS_DISABLED = 2;
|
||||
private static final int CODE_MAX_LENGTH = 30;
|
||||
private static final int NAME_MAX_LENGTH = 100;
|
||||
private static final int REGION_MAX_LENGTH = 50;
|
||||
private static final int REMARK_MAX_LENGTH = 200;
|
||||
private static final BigDecimal MIN_LONGITUDE = new BigDecimal("-180");
|
||||
private static final BigDecimal MAX_LONGITUDE = new BigDecimal("180");
|
||||
private static final BigDecimal MIN_LATITUDE = new BigDecimal("-90");
|
||||
private static final BigDecimal MAX_LATITUDE = new BigDecimal("90");
|
||||
private static final Pattern PORT_CODE_PATTERN = Pattern.compile("^[A-Z]{5}$");
|
||||
private static final Pattern TERMINAL_CODE_PATTERN = Pattern.compile("^[A-Z]{5}-[A-Z0-9]+$");
|
||||
|
||||
@@ -111,6 +121,9 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void importPortTerminal(List<PortTerminalExcel> data) {
|
||||
if (Func.isEmpty(data)) {
|
||||
throw new ServiceException("导入数据不能为空");
|
||||
}
|
||||
List<String> errorList = new ArrayList<>();
|
||||
for (int index = 0; index < data.size(); index++) {
|
||||
PortTerminalExcel excel = data.get(index);
|
||||
@@ -136,6 +149,9 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
List<PortTerminal> portTerminalList = list(queryWrapper);
|
||||
return portTerminalList.stream().map(portTerminal -> {
|
||||
PortTerminalExcel excel = Objects.requireNonNull(BeanUtil.copyProperties(portTerminal, PortTerminalExcel.class));
|
||||
excel.setLongitude(validRange(portTerminal.getLongitude(), MIN_LONGITUDE, MAX_LONGITUDE) ? portTerminal.getLongitude() : null);
|
||||
excel.setLatitude(validRange(portTerminal.getLatitude(), MIN_LATITUDE, MAX_LATITUDE) ? portTerminal.getLatitude() : null);
|
||||
excel.setDataSource(normalizeDataSource(portTerminal.getDataSource()));
|
||||
excel.setStatusName(Objects.equals(portTerminal.getStatus(), STATUS_ENABLED) ? "启用" : "停用");
|
||||
return excel;
|
||||
}).toList();
|
||||
@@ -145,7 +161,10 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
portTerminal.setCode(trimToEmpty(portTerminal.getCode()).toUpperCase(Locale.ROOT));
|
||||
portTerminal.setCategory(trimToEmpty(portTerminal.getCategory()));
|
||||
portTerminal.setName(trimToEmpty(portTerminal.getName()));
|
||||
portTerminal.setDataSource(Func.toStrWithEmpty(portTerminal.getDataSource(), defaultDataSource));
|
||||
portTerminal.setCountry(trimToEmpty(portTerminal.getCountry()));
|
||||
portTerminal.setCity(trimToEmpty(portTerminal.getCity()));
|
||||
portTerminal.setRemark(trimToNull(portTerminal.getRemark()));
|
||||
portTerminal.setDataSource(normalizeDataSource(Func.toStrWithEmpty(portTerminal.getDataSource(), defaultDataSource)));
|
||||
if (Func.isEmpty(portTerminal.getStatus())) {
|
||||
portTerminal.setStatus(STATUS_ENABLED);
|
||||
}
|
||||
@@ -189,6 +208,14 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
if (Func.isEmpty(portTerminal.getCode())) {
|
||||
throw new ServiceException("编码不能为空");
|
||||
}
|
||||
if (Func.isEmpty(portTerminal.getName())) {
|
||||
throw new ServiceException("港口/码头名称不能为空");
|
||||
}
|
||||
validateLength(portTerminal.getCode(), CODE_MAX_LENGTH, "编码不能超过30字");
|
||||
validateLength(portTerminal.getName(), NAME_MAX_LENGTH, "港口/码头名称不能超过100字");
|
||||
validateLength(portTerminal.getCountry(), REGION_MAX_LENGTH, "国家不能超过50字");
|
||||
validateLength(portTerminal.getCity(), REGION_MAX_LENGTH, "城市不能超过50字");
|
||||
validateLength(portTerminal.getRemark(), REMARK_MAX_LENGTH, "备注不能超过200个字");
|
||||
if (CATEGORY_PORT.equals(portTerminal.getCategory()) && !PORT_CODE_PATTERN.matcher(portTerminal.getCode()).matches()) {
|
||||
throw new ServiceException("港口编码为5位大写字母");
|
||||
}
|
||||
@@ -198,6 +225,16 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
if (CATEGORY_TERMINAL.equals(portTerminal.getCategory()) && !portTerminal.getCode().startsWith(portTerminal.getParentCode() + "-")) {
|
||||
throw new ServiceException("码头编码必须以所属港口编码开头");
|
||||
}
|
||||
if (Func.isEmpty(portTerminal.getCountry())) {
|
||||
throw new ServiceException("国家不能为空");
|
||||
}
|
||||
if (Func.isEmpty(portTerminal.getCity())) {
|
||||
throw new ServiceException("城市不能为空");
|
||||
}
|
||||
validateDataSource(portTerminal.getDataSource());
|
||||
validateStatus(portTerminal.getStatus());
|
||||
validateRange(portTerminal.getLongitude(), MIN_LONGITUDE, MAX_LONGITUDE, "经度范围为 -180 到 180");
|
||||
validateRange(portTerminal.getLatitude(), MIN_LATITUDE, MAX_LATITUDE, "纬度范围为 -90 到 90");
|
||||
validateUniqueCode(portTerminal);
|
||||
if (Objects.equals(portTerminal.getStatus(), STATUS_DISABLED) && CATEGORY_PORT.equals(portTerminal.getCategory())) {
|
||||
validateEnabledTerminal(portTerminal.getId());
|
||||
@@ -216,6 +253,39 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
}
|
||||
}
|
||||
|
||||
private void validateDataSource(String dataSource) {
|
||||
if (!SOURCE_INITIAL.equals(dataSource) && !SOURCE_BATCH.equals(dataSource) && !SOURCE_MANUAL.equals(dataSource)) {
|
||||
throw new ServiceException("数据来源不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateStatus(Integer status) {
|
||||
if (!Objects.equals(status, STATUS_ENABLED) && !Objects.equals(status, STATUS_DISABLED)) {
|
||||
throw new ServiceException("启停状态不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateLength(String value, int maxLength, String message) {
|
||||
if (Func.isNotEmpty(value) && value.length() > maxLength) {
|
||||
throw new ServiceException(message);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateRange(BigDecimal value, BigDecimal min, BigDecimal max, String message) {
|
||||
if (Func.isNotEmpty(value) && !validRange(value, min, max)) {
|
||||
throw new ServiceException(message);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean validRange(BigDecimal value, BigDecimal min, BigDecimal max) {
|
||||
return Func.isEmpty(value) || (value.compareTo(min) >= 0 && value.compareTo(max) <= 0);
|
||||
}
|
||||
|
||||
private String normalizeDataSource(String dataSource) {
|
||||
String value = trimToEmpty(dataSource);
|
||||
return SOURCE_INITIAL_OLD.equals(value) ? SOURCE_INITIAL : value;
|
||||
}
|
||||
|
||||
private void validateEnabledTerminal(Long parentId) {
|
||||
if (Func.isEmpty(parentId)) {
|
||||
return;
|
||||
@@ -234,4 +304,9 @@ public class PortTerminalServiceImpl extends BaseServiceImpl<PortTerminalMapper,
|
||||
return value == null ? "" : value.trim();
|
||||
}
|
||||
|
||||
private String trimToNull(String value) {
|
||||
String trimValue = trimToEmpty(value);
|
||||
return trimValue.isEmpty() ? null : trimValue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -61,10 +61,19 @@ import java.util.regex.Pattern;
|
||||
public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMapper, RailwayStation> implements IRailwayStationService {
|
||||
|
||||
private static final String CODE_PREFIX = "TL";
|
||||
private static final String SOURCE_BATCH = "批量导入";
|
||||
private static final String SOURCE_MANUAL = "手工导入";
|
||||
private static final String SOURCE_INITIAL = "初始化导入";
|
||||
private static final String SOURCE_INITIAL_OLD = "初始导入";
|
||||
private static final String SOURCE_BATCH = "批量";
|
||||
private static final String SOURCE_BATCH_OLD = "批量导入";
|
||||
private static final String SOURCE_MANUAL = "手动";
|
||||
private static final String SOURCE_MANUAL_RECORD = "手动录入";
|
||||
private static final String SOURCE_MANUAL_OLD = "手工导入";
|
||||
private static final int STATUS_ENABLED = 1;
|
||||
private static final int STATUS_DISABLED = 2;
|
||||
private static final int CODE_MAX_LENGTH = 20;
|
||||
private static final int NAME_MAX_LENGTH = 100;
|
||||
private static final int RAILWAY_LINE_MAX_LENGTH = 100;
|
||||
private static final int REGION_NAME_MAX_LENGTH = 128;
|
||||
private static final int REMARK_MAX_LENGTH = 200;
|
||||
private static final Pattern TMIS_CODE_PATTERN = Pattern.compile("^\\d{5}$");
|
||||
private static final Pattern TELEGRAPH_CODE_PATTERN = Pattern.compile("^[A-Z]{3}$");
|
||||
@@ -110,6 +119,9 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void importRailwayStation(List<RailwayStationExcel> data) {
|
||||
if (Func.isEmpty(data)) {
|
||||
throw new ServiceException("导入数据不能为空");
|
||||
}
|
||||
List<String> errorList = new ArrayList<>();
|
||||
for (int index = 0; index < data.size(); index++) {
|
||||
RailwayStationExcel excel = data.get(index);
|
||||
@@ -135,6 +147,7 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
List<RailwayStation> railwayStationList = list(queryWrapper);
|
||||
return railwayStationList.stream().map(railwayStation -> {
|
||||
RailwayStationExcel excel = Objects.requireNonNull(BeanUtil.copyProperties(railwayStation, RailwayStationExcel.class));
|
||||
excel.setDataSource(normalizeDataSource(railwayStation.getDataSource()));
|
||||
excel.setStatusName(Objects.equals(railwayStation.getStatus(), STATUS_ENABLED) ? "启用" : "停用");
|
||||
return excel;
|
||||
}).toList();
|
||||
@@ -151,7 +164,7 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
railwayStation.setCityCode(trimToNull(railwayStation.getCityCode()));
|
||||
railwayStation.setCityName(trimToNull(railwayStation.getCityName()));
|
||||
railwayStation.setRemark(trimToNull(railwayStation.getRemark()));
|
||||
railwayStation.setDataSource(Func.toStrWithEmpty(railwayStation.getDataSource(), defaultDataSource));
|
||||
railwayStation.setDataSource(normalizeDataSource(Func.toStrWithEmpty(railwayStation.getDataSource(), defaultDataSource)));
|
||||
if (Func.isEmpty(railwayStation.getStatus())) {
|
||||
railwayStation.setStatus(STATUS_ENABLED);
|
||||
}
|
||||
@@ -174,14 +187,19 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
if (Func.isEmpty(railwayStation.getName())) {
|
||||
throw new ServiceException("车站名称不能为空");
|
||||
}
|
||||
validateLength(railwayStation.getCode(), CODE_MAX_LENGTH, "编码不能超过20字");
|
||||
validateLength(railwayStation.getName(), NAME_MAX_LENGTH, "车站名称不能超过100字");
|
||||
validateLength(railwayStation.getRailwayLine(), RAILWAY_LINE_MAX_LENGTH, "所属铁路线路不能超过100字");
|
||||
validateLength(railwayStation.getProvinceName(), REGION_NAME_MAX_LENGTH, "所属省份不能超过128字");
|
||||
validateLength(railwayStation.getCityName(), REGION_NAME_MAX_LENGTH, "所属城市不能超过128字");
|
||||
validateLength(railwayStation.getRemark(), REMARK_MAX_LENGTH, "备注不能超过200字");
|
||||
if (Func.isEmpty(railwayStation.getProvinceCode()) || Func.isEmpty(railwayStation.getCityCode())) {
|
||||
throw new ServiceException("请选择省份和城市");
|
||||
}
|
||||
validateCoordinate(railwayStation.getLongitude(), MIN_LONGITUDE, MAX_LONGITUDE, "经度");
|
||||
validateCoordinate(railwayStation.getLatitude(), MIN_LATITUDE, MAX_LATITUDE, "纬度");
|
||||
if (Func.isNotEmpty(railwayStation.getRemark()) && railwayStation.getRemark().length() > REMARK_MAX_LENGTH) {
|
||||
throw new ServiceException("备注不能超过200字");
|
||||
}
|
||||
validateDataSource(railwayStation.getDataSource());
|
||||
validateStatus(railwayStation.getStatus());
|
||||
validateUnique(railwayStation, RailwayStation::getTmisCode, railwayStation.getTmisCode(), "该TMIS编码已存在");
|
||||
validateUnique(railwayStation, RailwayStation::getTelegraphCode, railwayStation.getTelegraphCode(), "该电报码已存在");
|
||||
validateUnique(railwayStation, RailwayStation::getCode, railwayStation.getCode(), "该编码已存在");
|
||||
@@ -227,7 +245,25 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
return;
|
||||
}
|
||||
if (value.compareTo(min) < 0 || value.compareTo(max) > 0) {
|
||||
throw new ServiceException(name + "范围不正确");
|
||||
throw new ServiceException(name + ("经度".equals(name) ? "范围为 -180 到 180" : "范围为 -90 到 90"));
|
||||
}
|
||||
}
|
||||
|
||||
private void validateDataSource(String dataSource) {
|
||||
if (!SOURCE_INITIAL.equals(dataSource) && !SOURCE_BATCH.equals(dataSource) && !SOURCE_MANUAL.equals(dataSource)) {
|
||||
throw new ServiceException("数据来源不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateStatus(Integer status) {
|
||||
if (!Objects.equals(status, STATUS_ENABLED) && !Objects.equals(status, STATUS_DISABLED)) {
|
||||
throw new ServiceException("启停状态不正确");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateLength(String value, int maxLength, String message) {
|
||||
if (Func.isNotEmpty(value) && value.length() > maxLength) {
|
||||
throw new ServiceException(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,4 +288,18 @@ public class RailwayStationServiceImpl extends BaseServiceImpl<RailwayStationMap
|
||||
return trimValue.isEmpty() ? null : trimValue;
|
||||
}
|
||||
|
||||
private String normalizeDataSource(String dataSource) {
|
||||
String value = trimToEmpty(dataSource);
|
||||
if (SOURCE_INITIAL_OLD.equals(value)) {
|
||||
return SOURCE_INITIAL;
|
||||
}
|
||||
if (SOURCE_BATCH_OLD.equals(value)) {
|
||||
return SOURCE_BATCH;
|
||||
}
|
||||
if (SOURCE_MANUAL_OLD.equals(value) || SOURCE_MANUAL_RECORD.equals(value)) {
|
||||
return SOURCE_MANUAL;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user