소스 검색

增加异常处理

zhengqiang 4 년 전
부모
커밋
4b1fe5a608

+ 13 - 10
common/src/main/java/com/jpsoft/bus/modules/bus/service/impl/GpsServiceImpl.java

@@ -259,16 +259,19 @@ public class GpsServiceImpl implements GpsService {
              nextStation = stationInfoList.get(nextIndex);
              nextStation = stationInfoList.get(nextIndex);
          }
          }
 
 
-         //车辆离当前站点的距离
-        GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(vehicleInfo.getLatitude()), Double.valueOf(vehicleInfo.getLongitude()));
-        GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(currentStation.getLatitude()), Double.valueOf(currentStation.getLongitude()));
-
-        double meter1 = CommonUtil.getDistanceMeter(source, target, Ellipsoid.Sphere);
-        if (meter1 <= Double.valueOf(50)){
-            stationStatusDTO.setNowStationStatus("1");
-        }else {
-            stationStatusDTO.setNowStationStatus("2");
-        }
+         if(StringUtils.isNotEmpty(vehicleInfo.getLatitude())
+         && StringUtils.isNotEmpty(vehicleInfo.getLatitude())) {
+             //车辆离当前站点的距离
+             GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(vehicleInfo.getLatitude()), Double.valueOf(vehicleInfo.getLongitude()));
+             GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(currentStation.getLatitude()), Double.valueOf(currentStation.getLongitude()));
+
+             double meter1 = CommonUtil.getDistanceMeter(source, target, Ellipsoid.Sphere);
+             if (meter1 <= Double.valueOf(50)) {
+                 stationStatusDTO.setNowStationStatus("1");
+             } else {
+                 stationStatusDTO.setNowStationStatus("2");
+             }
+         }
 
 
         stationStatusDTO.setNowStationId(currentStation.getId());
         stationStatusDTO.setNowStationId(currentStation.getId());
         stationStatusDTO.setNowStationName(currentStation.getName());
         stationStatusDTO.setNowStationName(currentStation.getName());

+ 2 - 2
common/src/main/java/com/jpsoft/bus/modules/bus/service/impl/ShiftInfoServiceImpl.java

@@ -97,8 +97,8 @@ public class ShiftInfoServiceImpl implements ShiftInfoService {
 			}
 			}
 		}
 		}
 		//TODO 根据经纬度查询当前站点
 		//TODO 根据经纬度查询当前站点
-		String currentStationId = gpsService.getLatelyStation(vehicleInfo.getId());
-
+		//String currentStationId = gpsService.getLatelyStation(vehicleInfo.getId());
+		String currentStationId = startStationId;
 
 
 		ShiftInfo shiftInfo = new ShiftInfo();
 		ShiftInfo shiftInfo = new ShiftInfo();
 		shiftInfo.setId(UUID.randomUUID().toString());
 		shiftInfo.setId(UUID.randomUUID().toString());

+ 2 - 10
common/src/main/java/com/jpsoft/bus/modules/common/utils/OSSUtil.java

@@ -76,15 +76,8 @@ public class OSSUtil {
         return ossConfig.getUrlPrefix() + "/" + retFileUrl;
         return ossConfig.getUrlPrefix() + "/" + retFileUrl;
     }
     }
 
 
-
     public static String uploadBase64(String photoBase64Data,String photoName,OSSConfig ossConfig){
     public static String uploadBase64(String photoBase64Data,String photoName,OSSConfig ossConfig){
-
         try{
         try{
-            //前50个字符
-            if (StringUtils.isNotEmpty(photoBase64Data)) {
-                // sysLog.setData(photoBase64Data.substring(0, Math.min(photoBase64Data.length(), 50)));
-            }
-
             BASE64Decoder decoder = new BASE64Decoder();
             BASE64Decoder decoder = new BASE64Decoder();
 
 
             String[] arr = photoBase64Data.split(",");
             String[] arr = photoBase64Data.split(",");
@@ -106,11 +99,10 @@ public class OSSUtil {
             String retFileUrl = OSSUtil.upload(ossConfig, "/faceImage", photoName, inputStream);
             String retFileUrl = OSSUtil.upload(ossConfig, "/faceImage", photoName, inputStream);
             return retFileUrl;
             return retFileUrl;
         }catch (Exception ex){
         }catch (Exception ex){
-
+            log.error(ex.getMessage(),ex);
         }
         }
-        return null;
-
 
 
+        return null;
     }
     }
 
 
     public static boolean download(String fileUrl,String filePath){
     public static boolean download(String fileUrl,String filePath){

+ 36 - 13
web/src/main/java/com/jpsoft/bus/modules/driver/controller/DriverApiController.java

@@ -119,18 +119,18 @@ public class DriverApiController {
     public MessageResult<DriverInfo> findByPhone(String phone){
     public MessageResult<DriverInfo> findByPhone(String phone){
 
 
         MessageResult<DriverInfo> messageResult = new MessageResult<>();
         MessageResult<DriverInfo> messageResult = new MessageResult<>();
-        try{
 
 
+        try{
             DriverInfo driverInfo = driverInfoService.findByPhone(phone);
             DriverInfo driverInfo = driverInfoService.findByPhone(phone);
 
 
-
             if (driverInfo == null){
             if (driverInfo == null){
                 throw new Exception("司机不存在");
                 throw new Exception("司机不存在");
             }
             }
-            List<ShiftInfo> shiftInfo = shiftInfoService.findByDriverIdAndStatus(driverInfo.getId(),"1");
-            if (shiftInfo.size()>0){
-                throw new Exception("此司机有正在运行的班次,请核对后输入");
-            }
+
+//            List<ShiftInfo> shiftInfo = shiftInfoService.findByDriverIdAndStatus(driverInfo.getId(),"1");
+//            if (shiftInfo.size()>0){
+//                throw new Exception("此司机有正在运行的班次,请核对后输入");
+//            }
             messageResult.setResult(true);
             messageResult.setResult(true);
             messageResult.setCode(200);
             messageResult.setCode(200);
             messageResult.setData(driverInfo);
             messageResult.setData(driverInfo);
@@ -185,6 +185,8 @@ public class DriverApiController {
             messageResult.setResult(true);
             messageResult.setResult(true);
             messageResult.setCode(200);
             messageResult.setCode(200);
         } catch (Exception ex) {
         } catch (Exception ex) {
+            log.error(ex.getMessage(),ex);
+
             messageResult.setResult(false);
             messageResult.setResult(false);
             messageResult.setMessage(ex.getMessage());
             messageResult.setMessage(ex.getMessage());
         }
         }
@@ -229,30 +231,34 @@ public class DriverApiController {
         MessageResult<Map> messageResult = new MessageResult<>();
         MessageResult<Map> messageResult = new MessageResult<>();
 
 
         try {
         try {
-
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
+
             if (vehicleInfo == null){
             if (vehicleInfo == null){
                 throw new Exception("当前车辆不存在");
                 throw new Exception("当前车辆不存在");
             }
             }
+
             if (StringUtils.isBlank(vehicleInfo.getRouteId())){
             if (StringUtils.isBlank(vehicleInfo.getRouteId())){
                 throw new Exception("当前车辆还未分配线路");
                 throw new Exception("当前车辆还未分配线路");
             }
             }
+
             RouteInfo routeInfo = routeInfoService.get(vehicleInfo.getRouteId());
             RouteInfo routeInfo = routeInfoService.get(vehicleInfo.getRouteId());
+
             if (routeInfo == null){
             if (routeInfo == null){
                 throw new Exception("线路错误");
                 throw new Exception("线路错误");
             }
             }
+
             //始发站
             //始发站
             List<StationInfo> startStationInfoList = stationInfoService.findByRouteIdAndClassify(routeInfo.getId(),1);
             List<StationInfo> startStationInfoList = stationInfoService.findByRouteIdAndClassify(routeInfo.getId(),1);
             if (startStationInfoList.size() != 1){
             if (startStationInfoList.size() != 1){
                 throw new Exception("线路的始发站配置错误");
                 throw new Exception("线路的始发站配置错误");
             }
             }
+
             //终点站
             //终点站
             List<StationInfo> endStationInfoList = stationInfoService.findByRouteIdAndClassify(routeInfo.getId(),3);
             List<StationInfo> endStationInfoList = stationInfoService.findByRouteIdAndClassify(routeInfo.getId(),3);
             if (endStationInfoList.size() != 1){
             if (endStationInfoList.size() != 1){
                 throw new Exception("线路的终点站配置错误");
                 throw new Exception("线路的终点站配置错误");
             }
             }
 
 
-
             Map<String,Object> map = new HashMap<>();
             Map<String,Object> map = new HashMap<>();
             map.put("startStationId",startStationInfoList.get(0).getId());
             map.put("startStationId",startStationInfoList.get(0).getId());
             map.put("startStationName",startStationInfoList.get(0).getName());
             map.put("startStationName",startStationInfoList.get(0).getName());
@@ -263,6 +269,7 @@ public class DriverApiController {
             messageResult.setResult(true);
             messageResult.setResult(true);
             messageResult.setCode(200);
             messageResult.setCode(200);
         } catch (Exception ex) {
         } catch (Exception ex) {
+            log.error(ex.getMessage(),ex);
             messageResult.setResult(false);
             messageResult.setResult(false);
             messageResult.setMessage(ex.getMessage());
             messageResult.setMessage(ex.getMessage());
         }
         }
@@ -284,31 +291,43 @@ public class DriverApiController {
         MessageResult<Map> messageResult = new MessageResult<>();
         MessageResult<Map> messageResult = new MessageResult<>();
 
 
         try {
         try {
-
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
+
             if (vehicleInfo == null){
             if (vehicleInfo == null){
                 throw new Exception("当前车辆不存在");
                 throw new Exception("当前车辆不存在");
             }
             }
+
             DriverInfo driverInfo = driverInfoService.get(driverId);
             DriverInfo driverInfo = driverInfoService.get(driverId);
+
             if (driverInfo == null){
             if (driverInfo == null){
                 throw new Exception("司机不存在");
                 throw new Exception("司机不存在");
             }
             }
+
+            List<ShiftInfo> shiftInfo = shiftInfoService.findByDriverIdAndStatus(driverInfo.getId(),"1");
+
+            if (shiftInfo.size()>0){
+                throw new Exception("已有正在运行的班次!");
+            }
+
             //始发站
             //始发站
             StationInfo start = stationInfoService.get(startStationId);
             StationInfo start = stationInfoService.get(startStationId);
+
             //终点站
             //终点站
             StationInfo end = stationInfoService.get(endStationId);
             StationInfo end = stationInfoService.get(endStationId);
+
             if (start == null || end == null){
             if (start == null || end == null){
                 throw new Exception("站点错误");
                 throw new Exception("站点错误");
             }
             }
             if (!start.getRouteId().equals(vehicleInfo.getRouteId()) || !end.getRouteId().equals(vehicleInfo.getRouteId())){
             if (!start.getRouteId().equals(vehicleInfo.getRouteId()) || !end.getRouteId().equals(vehicleInfo.getRouteId())){
                 throw new Exception("站点错误");
                 throw new Exception("站点错误");
             }
             }
-            shiftInfoService.createShift(vehicleInfo,driverId,startStationId,endStationId);
 
 
+            shiftInfoService.createShift(vehicleInfo,driverId,startStationId,endStationId);
 
 
             messageResult.setResult(true);
             messageResult.setResult(true);
             messageResult.setCode(200);
             messageResult.setCode(200);
         } catch (Exception ex) {
         } catch (Exception ex) {
+            log.error(ex.getMessage(),ex);
             messageResult.setResult(false);
             messageResult.setResult(false);
             messageResult.setMessage(ex.getMessage());
             messageResult.setMessage(ex.getMessage());
         }
         }
@@ -326,7 +345,6 @@ public class DriverApiController {
         MessageResult<Map> messageResult = new MessageResult<>();
         MessageResult<Map> messageResult = new MessageResult<>();
 
 
         try {
         try {
-
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
             if (vehicleInfo == null){
             if (vehicleInfo == null){
                 throw new Exception("当前车辆不存在");
                 throw new Exception("当前车辆不存在");
@@ -352,8 +370,12 @@ public class DriverApiController {
             map.put("startStationName",startStation.getName());
             map.put("startStationName",startStation.getName());
             map.put("endStationId",endStation.getId());
             map.put("endStationId",endStation.getId());
             map.put("endStationName",endStation.getName());
             map.put("endStationName",endStation.getName());
-            map.put("currentStationId",currentStation.getId());
-            map.put("currentStationName",currentStation.getName());
+
+            if(currentStation!=null) {
+                map.put("currentStationId", currentStation.getId());
+                map.put("currentStationName", currentStation.getName());
+            }
+
             map.put("nextStationId",stationStatusDTO.getNextStationId());
             map.put("nextStationId",stationStatusDTO.getNextStationId());
             map.put("nextStationName",stationStatusDTO.getNextStationName());
             map.put("nextStationName",stationStatusDTO.getNextStationName());
 
 
@@ -361,6 +383,7 @@ public class DriverApiController {
             messageResult.setResult(true);
             messageResult.setResult(true);
             messageResult.setCode(200);
             messageResult.setCode(200);
         } catch (Exception ex) {
         } catch (Exception ex) {
+            log.error(ex.getMessage(),ex);
             messageResult.setResult(false);
             messageResult.setResult(false);
             messageResult.setMessage(ex.getMessage());
             messageResult.setMessage(ex.getMessage());
         }
         }