|
@@ -333,28 +333,52 @@ public class EsProcessEnterpriseServiceImpl extends ServiceImpl<EsProcessEnterpr
|
333
|
333
|
// EsProcessEnterprise.setLatitude(new BigDecimal(strings[18]));//纬度
|
334
|
334
|
|
335
|
335
|
// 假设 strings 是字符串数组,其中包含经度和纬度的数据
|
336
|
|
- if (strings[17] != null) {
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+ if (strings[17] != null && !strings[17].isEmpty()) {
|
337
|
339
|
try {
|
338
|
340
|
BigDecimal longitude = new BigDecimal(strings[17]);
|
339
|
|
- // 进行后续的处理
|
340
|
|
- EsProcessEnterprise.setLongitude(longitude);
|
|
341
|
+ // 进行范围检查
|
|
342
|
+ if (longitude.compareTo(BigDecimal.valueOf(-180)) < 0 || longitude.compareTo(BigDecimal.valueOf(180)) > 0) {
|
|
343
|
+ throw new IllegalArgumentException("经度超出有效范围");
|
|
344
|
+ }
|
|
345
|
+ // 进行精度和小数位数检查
|
|
346
|
+ if (longitude.scale() > 6) { // 假设精度不能超过6位小数
|
|
347
|
+ throw new IllegalArgumentException("经度小数位数过多");
|
|
348
|
+ }
|
|
349
|
+ EsNetworkEntry.setLongitude(longitude);
|
341
|
350
|
} catch (NumberFormatException e) {
|
342
|
351
|
throw new NumberFormatException(strings[17] + " 经度格式不正确");
|
|
352
|
+ } catch (IllegalArgumentException e) {
|
|
353
|
+ throw new IllegalArgumentException(strings[17] + " " + e.getMessage());
|
343
|
354
|
}
|
|
355
|
+ } else {
|
|
356
|
+ throw new NumberFormatException(strings[17] + " 经度格式不正确");
|
344
|
357
|
}
|
345
|
358
|
|
346
|
|
-
|
347
|
|
- if (strings[18] != null) {
|
|
359
|
+ if (strings[18] != null && !strings[18].isEmpty()) {
|
348
|
360
|
try {
|
349
|
361
|
BigDecimal latitude = new BigDecimal(strings[18]);
|
350
|
|
- // 进行后续的处理
|
351
|
|
- EsProcessEnterprise.setLatitude(latitude);
|
|
362
|
+ // 进行范围检查
|
|
363
|
+ if (latitude.compareTo(BigDecimal.valueOf(-90)) < 0 || latitude.compareTo(BigDecimal.valueOf(90)) > 0) {
|
|
364
|
+ throw new IllegalArgumentException("纬度超出有效范围");
|
|
365
|
+ }
|
|
366
|
+ // 进行精度和小数位数检查
|
|
367
|
+ if (latitude.scale() > 6) { // 假设精度不能超过6位小数
|
|
368
|
+ throw new IllegalArgumentException("纬度小数位数过多");
|
|
369
|
+ }
|
|
370
|
+ EsNetworkEntry.setLatitude(latitude);
|
352
|
371
|
} catch (NumberFormatException e) {
|
353
|
372
|
throw new NumberFormatException(strings[18] + " 纬度格式不正确");
|
|
373
|
+ } catch (IllegalArgumentException e) {
|
|
374
|
+ throw new IllegalArgumentException(strings[18] + " " + e.getMessage());
|
354
|
375
|
}
|
|
376
|
+ } else {
|
|
377
|
+ throw new NumberFormatException(strings[18] + " 纬度格式不正确");
|
355
|
378
|
}
|
356
|
379
|
|
357
|
380
|
|
|
381
|
+
|
358
|
382
|
EsProcessEnterprise.setLegalRepresentative(strings[19]);//法人姓名
|
359
|
383
|
EsProcessEnterprise.setLegalContact(strings[20]);//法人联系方式
|
360
|
384
|
EsProcessEnterprise.setEnterpriseContact(strings[21]);//企业联系人
|