2 Commits 1c398587e6 ... 524f18d8f7

Author SHA1 Message Date
  ZeroLiYi 524f18d8f7 Merge branch 'dev' of http://101.36.160.140:21044/province-qinghai/province-all into dev 3 months ago
  ZeroLiYi 301e622364 导入新增校验 3 months ago

+ 29 - 5
unis-plugin/unis-plugin-biz/src/main/java/com/unis/emergencySupport/modular/es/service/impl/EsDeliveryEnterpriseServiceImpl.java

@@ -319,28 +319,52 @@ public class EsDeliveryEnterpriseServiceImpl extends ServiceImpl<EsDeliveryEnter
319
                         EsNetworkEntry.setEnterpriseType(strings[16]);//企业类型
319
                         EsNetworkEntry.setEnterpriseType(strings[16]);//企业类型
320
 
320
 
321
 
321
 
322
-                        if (strings[17] != null) {
322
+
323
+
324
+                        if (strings[17] != null && !strings[17].isEmpty()) {
323
                             try {
325
                             try {
324
                                 BigDecimal longitude = new BigDecimal(strings[17]);
326
                                 BigDecimal longitude = new BigDecimal(strings[17]);
325
-                                // 进行后续的处理
327
+                                // 进行范围检查
328
+                                if (longitude.compareTo(BigDecimal.valueOf(-180)) < 0 || longitude.compareTo(BigDecimal.valueOf(180)) > 0) {
329
+                                    throw new IllegalArgumentException("经度超出有效范围");
330
+                                }
331
+                                // 进行精度和小数位数检查
332
+                                if (longitude.scale() > 6) { // 假设精度不能超过6位小数
333
+                                    throw new IllegalArgumentException("经度小数位数过多");
334
+                                }
326
                                 EsNetworkEntry.setLongitude(longitude);
335
                                 EsNetworkEntry.setLongitude(longitude);
327
                             } catch (NumberFormatException e) {
336
                             } catch (NumberFormatException e) {
328
                                 throw new NumberFormatException(strings[17] + " 经度格式不正确");
337
                                 throw new NumberFormatException(strings[17] + " 经度格式不正确");
338
+                            } catch (IllegalArgumentException e) {
339
+                                throw new IllegalArgumentException(strings[17] + " " + e.getMessage());
329
                             }
340
                             }
341
+                        } else {
342
+                            throw new NumberFormatException(strings[17] + " 经度格式不正确");
330
                         }
343
                         }
331
 
344
 
332
-
333
-                        if (strings[18] != null) {
345
+                        if (strings[18] != null && !strings[18].isEmpty()) {
334
                             try {
346
                             try {
335
                                 BigDecimal latitude = new BigDecimal(strings[18]);
347
                                 BigDecimal latitude = new BigDecimal(strings[18]);
336
-                                // 进行后续的处理
348
+                                // 进行范围检查
349
+                                if (latitude.compareTo(BigDecimal.valueOf(-90)) < 0 || latitude.compareTo(BigDecimal.valueOf(90)) > 0) {
350
+                                    throw new IllegalArgumentException("纬度超出有效范围");
351
+                                }
352
+                                // 进行精度和小数位数检查
353
+                                if (latitude.scale() > 6) { // 假设精度不能超过6位小数
354
+                                    throw new IllegalArgumentException("纬度小数位数过多");
355
+                                }
337
                                 EsNetworkEntry.setLatitude(latitude);
356
                                 EsNetworkEntry.setLatitude(latitude);
338
                             } catch (NumberFormatException e) {
357
                             } catch (NumberFormatException e) {
339
                                 throw new NumberFormatException(strings[18] + " 纬度格式不正确");
358
                                 throw new NumberFormatException(strings[18] + " 纬度格式不正确");
359
+                            } catch (IllegalArgumentException e) {
360
+                                throw new IllegalArgumentException(strings[18] + " " + e.getMessage());
340
                             }
361
                             }
362
+                        } else {
363
+                            throw new NumberFormatException(strings[18] + " 纬度格式不正确");
341
                         }
364
                         }
342
 
365
 
343
 
366
 
367
+
344
                         EsNetworkEntry.setLegalRepresentative(strings[19]);//法人姓名
368
                         EsNetworkEntry.setLegalRepresentative(strings[19]);//法人姓名
345
                         EsNetworkEntry.setLegalContact(strings[20]);//法人联系方式
369
                         EsNetworkEntry.setLegalContact(strings[20]);//法人联系方式
346
                         EsNetworkEntry.setEnterpriseContact(strings[21]);//联系人姓名
370
                         EsNetworkEntry.setEnterpriseContact(strings[21]);//联系人姓名

+ 31 - 5
unis-plugin/unis-plugin-biz/src/main/java/com/unis/emergencySupport/modular/es/service/impl/EsNetworkEntryServiceImpl.java

@@ -344,29 +344,55 @@ public class EsNetworkEntryServiceImpl extends ServiceImpl<EsNetworkEntryMapper,
344
 //
344
 //
345
 //                        EsNetworkEntry.setLatitude(new BigDecimal(strings[18]));//纬度
345
 //                        EsNetworkEntry.setLatitude(new BigDecimal(strings[18]));//纬度
346
 
346
 
347
-                        if (strings[17] != null) {
347
+
348
+
349
+                        if (strings[17] != null && !strings[17].isEmpty()) {
348
                             try {
350
                             try {
349
                                 BigDecimal longitude = new BigDecimal(strings[17]);
351
                                 BigDecimal longitude = new BigDecimal(strings[17]);
350
-                                // 进行后续的处理
352
+                                // 进行范围检查
353
+                                if (longitude.compareTo(BigDecimal.valueOf(-180)) < 0 || longitude.compareTo(BigDecimal.valueOf(180)) > 0) {
354
+                                    throw new IllegalArgumentException("经度超出有效范围");
355
+                                }
356
+                                // 进行精度和小数位数检查
357
+                                if (longitude.scale() > 6) { // 假设精度不能超过6位小数
358
+                                    throw new IllegalArgumentException("经度小数位数过多");
359
+                                }
351
                                 EsNetworkEntry.setLongitude(longitude);
360
                                 EsNetworkEntry.setLongitude(longitude);
352
                             } catch (NumberFormatException e) {
361
                             } catch (NumberFormatException e) {
353
                                 throw new NumberFormatException(strings[17] + " 经度格式不正确");
362
                                 throw new NumberFormatException(strings[17] + " 经度格式不正确");
363
+                            } catch (IllegalArgumentException e) {
364
+                                throw new IllegalArgumentException(strings[17] + " " + e.getMessage());
354
                             }
365
                             }
366
+                        } else {
367
+                            throw new NumberFormatException(strings[17] + " 经度格式不正确");
355
                         }
368
                         }
356
 
369
 
357
-
358
-                        if (strings[18] != null) {
370
+                        if (strings[18] != null && !strings[18].isEmpty()) {
359
                             try {
371
                             try {
360
                                 BigDecimal latitude = new BigDecimal(strings[18]);
372
                                 BigDecimal latitude = new BigDecimal(strings[18]);
361
-                                // 进行后续的处理
373
+                                // 进行范围检查
374
+                                if (latitude.compareTo(BigDecimal.valueOf(-90)) < 0 || latitude.compareTo(BigDecimal.valueOf(90)) > 0) {
375
+                                    throw new IllegalArgumentException("纬度超出有效范围");
376
+                                }
377
+                                // 进行精度和小数位数检查
378
+                                if (latitude.scale() > 6) { // 假设精度不能超过6位小数
379
+                                    throw new IllegalArgumentException("纬度小数位数过多");
380
+                                }
362
                                 EsNetworkEntry.setLatitude(latitude);
381
                                 EsNetworkEntry.setLatitude(latitude);
363
                             } catch (NumberFormatException e) {
382
                             } catch (NumberFormatException e) {
364
                                 throw new NumberFormatException(strings[18] + " 纬度格式不正确");
383
                                 throw new NumberFormatException(strings[18] + " 纬度格式不正确");
384
+                            } catch (IllegalArgumentException e) {
385
+                                throw new IllegalArgumentException(strings[18] + " " + e.getMessage());
365
                             }
386
                             }
387
+                        } else {
388
+                            throw new NumberFormatException(strings[18] + " 纬度格式不正确");
366
                         }
389
                         }
367
 
390
 
368
 
391
 
369
 
392
 
393
+
394
+
395
+
370
                         EsNetworkEntry.setLegalRepresentative(strings[19]);//法人姓名
396
                         EsNetworkEntry.setLegalRepresentative(strings[19]);//法人姓名
371
                         EsNetworkEntry.setLegalContact(strings[20]);//法人联系方式
397
                         EsNetworkEntry.setLegalContact(strings[20]);//法人联系方式
372
                         EsNetworkEntry.setContactPerson(strings[21]);//联系人姓名
398
                         EsNetworkEntry.setContactPerson(strings[21]);//联系人姓名

+ 31 - 7
unis-plugin/unis-plugin-biz/src/main/java/com/unis/emergencySupport/modular/es/service/impl/EsProcessEnterpriseServiceImpl.java

@@ -333,28 +333,52 @@ public class EsProcessEnterpriseServiceImpl extends ServiceImpl<EsProcessEnterpr
333
 //                        EsProcessEnterprise.setLatitude(new BigDecimal(strings[18]));//纬度
333
 //                        EsProcessEnterprise.setLatitude(new BigDecimal(strings[18]));//纬度
334
 
334
 
335
                         // 假设 strings 是字符串数组,其中包含经度和纬度的数据
335
                         // 假设 strings 是字符串数组,其中包含经度和纬度的数据
336
-                        if (strings[17] != null) {
336
+
337
+
338
+                        if (strings[17] != null && !strings[17].isEmpty()) {
337
                             try {
339
                             try {
338
                                 BigDecimal longitude = new BigDecimal(strings[17]);
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
                             } catch (NumberFormatException e) {
350
                             } catch (NumberFormatException e) {
342
                                 throw new NumberFormatException(strings[17] + " 经度格式不正确");
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
                             try {
360
                             try {
349
                                 BigDecimal latitude = new BigDecimal(strings[18]);
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
                             } catch (NumberFormatException e) {
371
                             } catch (NumberFormatException e) {
353
                                 throw new NumberFormatException(strings[18] + " 纬度格式不正确");
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
                         EsProcessEnterprise.setLegalRepresentative(strings[19]);//法人姓名
382
                         EsProcessEnterprise.setLegalRepresentative(strings[19]);//法人姓名
359
                         EsProcessEnterprise.setLegalContact(strings[20]);//法人联系方式
383
                         EsProcessEnterprise.setLegalContact(strings[20]);//法人联系方式
360
                         EsProcessEnterprise.setEnterpriseContact(strings[21]);//企业联系人
384
                         EsProcessEnterprise.setEnterpriseContact(strings[21]);//企业联系人