From 45f8febad90601cdcad0b754e8a79da11d2d3561 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期五, 21 六月 2024 10:01:06 +0800 Subject: [PATCH] 修改google地图对接bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 22 ++- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderStatusWarpper.java | 10 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java | 5 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 3 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java | 5 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 87 ++++++------ UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java | 173 +----------------------- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml | 1 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 27 +++ UserIGOTravel/guns-admin/src/main/resources/application-produce.yml | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 22 ++- UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml | 1 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java | 2 14 files changed, 134 insertions(+), 228 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 0e782eb..fbb3eb7 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -136,6 +136,7 @@ orderStatusWarpper.setOrderId(orderPrivateCar.getId()); orderStatusWarpper.setOrderType(1); orderStatusWarpper.setState(orderPrivateCar.getState()); + orderStatusWarpper.setTripId(orderPrivateCar.getTripId()); data.add(orderStatusWarpper); } List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); @@ -147,6 +148,7 @@ orderStatusWarpper.setOrderId(orderTaxi.getId()); orderStatusWarpper.setOrderType(2); orderStatusWarpper.setState(orderTaxi.getState()); +// orderStatusWarpper.setTripId(orderTaxi.getTripId()); data.add(orderStatusWarpper); } List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); @@ -158,6 +160,7 @@ orderStatusWarpper.setOrderId(orderCrossCity.getId()); orderStatusWarpper.setOrderType(3); orderStatusWarpper.setState(orderCrossCity.getState()); +// orderStatusWarpper.setTripId(orderPrivateCar.getTripId()); data.add(orderStatusWarpper); } return ResultUtil.success(data); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java index 436ecf1..c624777 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java @@ -13,6 +13,7 @@ import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import com.stylefeng.guns.modular.system.warpper.*; import com.stylefeng.guns.modular.taxi.model.TransactionDetails; @@ -81,6 +82,9 @@ private ITransactionDetailsService transactionDetailsService; @Autowired private IPaymentRecordService paymentRecordService; + + @Autowired + private FleetEngineUtil fleetEngineUtil; @@ -1330,4 +1334,27 @@ } } } + + + + @ResponseBody + @PostMapping("/api/user/getFleetEngineAuth") + @ApiOperation(value = "获取google地图授权token", tags = {"用户端-个人中心"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<String> getFleetEngineAuth(HttpServletRequest request){ + try { + Integer uid = userInfoService.getUserIdFormRedis(request); + if(null == uid){ + return ResultUtil.tokenErr(); + } + String s = fleetEngineUtil.fleetEngineAuth(1, uid); + return ResultUtil.success(s); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml index 85fe46d..d485fde 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml @@ -282,6 +282,7 @@ h.money as cancelMoney, h.reason as cancelReason, h.remark as cancelRemark, + a.tripId, a.snatchOrderTime from t_order_logistics a left join t_driver b on (a.driverId = b.id) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java index 4fbb254..0287f8c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/model/OrderLogistics.java @@ -421,4 +421,9 @@ */ @TableField("cancelMidway") private Integer cancelMidway; + /** + * google行程id + */ + @TableField("tripId") + private String tripId; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index b51a178..5ade0de 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -47,6 +47,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; +import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; @@ -690,25 +691,29 @@ orderLogistics.setIsReassign(1); orderLogistics.setIsDelete(1); + orderLogistics.setTripId(UUIDUtil.getRandomCode()); this.insert(orderLogistics); - Integer vehicleId = null; + String vehicleId = null; if(null != orderLogistics.getDriverId()){ Driver driver = driverService.selectById(orderLogistics.getDriverId()); - vehicleId = driver.getCarId(); + Car car = carMapper.selectById(driver.getCarId()); + if(!StringUtils.hasLength(car.getVehicleId())){ + car.setVehicleId(UUIDUtil.getRandomCode()); + carMapper.updateById(car); + } //查询车辆信息,没有则创建信息 - String vehicles = fleetEngineUtil.getVehicles(vehicleId); + String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); if(ToolUtil.isEmpty(vehicles)){ - Car car = carService.selectById(vehicleId); CarModel carModel = carModelMapper.selectById(car.getCarModelId()); - fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); - fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); + fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); } } //创建行程数据 - fleetEngineUtil.createTrip(vehicleId, 1, 4, orderLogistics.getId(), + fleetEngineUtil.createTrip(vehicleId, 1, orderLogistics.getTripId(), orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString()); @@ -831,6 +836,7 @@ BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setState(orderLogistics.getState()); baseWarpper.setId(orderLogistics.getId()); + baseWarpper.setContent(orderLogistics.getTripId()); return ResultUtil.success(baseWarpper); } @@ -2563,7 +2569,7 @@ } //修改行程信息 - fleetEngineUtil.updateTrip("CANCELED", null, null, 4, orderLogistics.getId(), null, null, null, null); + fleetEngineUtil.updateTrip("CANCELED", null, null, orderLogistics.getTripId(), null, null, null, null); //添加消息 systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消包裹订单,谢谢使用!" : language == 2 ? "You've cancelled the delivery order successfully, thank you for using I-GO " diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml index ba2a756..52915ce 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml @@ -447,6 +447,7 @@ a.moneyType, a.moneyTime, a.isFrozen, + a.tripId, DATE_FORMAT(a.snatchOrderTime, '%Y-%m-%d %H:%i:%s') as snatchOrderTime from t_order_private_car a left join t_driver b on (a.driverId = b.id) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java index 5180129..0a0a36e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java @@ -410,5 +410,10 @@ */ @TableField("cancelMidway") private Integer cancelMidway; + /** + * google行程id + */ + @TableField("tripId") + private String tripId; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index bbcb17b..0d97fbf 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -49,6 +49,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; +import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; @@ -354,25 +355,29 @@ orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); + orderPrivateCar.setTripId(UUIDUtil.getRandomCode()); this.insert(orderPrivateCar); - Integer vehicleId = null; + String vehicleId = null; if(null != orderPrivateCar.getDriverId()){ Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); - vehicleId = driver.getCarId(); + Car car = carMapper.selectById(driver.getCarId()); + if(!StringUtils.hasLength(car.getVehicleId())){ + car.setVehicleId(UUIDUtil.getRandomCode()); + carMapper.updateById(car); + } //查询车辆信息,没有则创建信息 - String vehicles = fleetEngineUtil.getVehicles(vehicleId); + String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); if(ToolUtil.isEmpty(vehicles)){ - Car car = carService.selectById(vehicleId); CarModel carModel = carModelMapper.selectById(car.getCarModelId()); - fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); - fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); + fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); } } //创建行程数据 - fleetEngineUtil.createTrip(vehicleId, 1, 1, orderPrivateCar.getId(), + fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(), orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString()); @@ -495,6 +500,7 @@ BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setState(orderPrivateCar.getState()); baseWarpper.setId(orderPrivateCar.getId()); + baseWarpper.setContent(orderPrivateCar.getTripId()); return ResultUtil.success(baseWarpper); } @@ -718,7 +724,7 @@ } //修改行程信息 - fleetEngineUtil.updateTrip("CANCELED", null, null, 1, orderPrivateCar.getId(), null, null, null, null); + fleetEngineUtil.updateTrip("CANCELED", null, null, orderPrivateCar.getTripId(), null, null, null, null); //添加消息 diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java index bdc49e1..e870905 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java @@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; +import lombok.Data; import java.util.Date; /** * 车辆 */ +@Data @TableName("t_car") public class Car { /** @@ -103,170 +105,9 @@ */ @TableField("addObjectId") private Integer addObjectId; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getIsPlatCar() { - return isPlatCar; - } - - public void setIsPlatCar(Integer isPlatCar) { - this.isPlatCar = isPlatCar; - } - - public Integer getCompanyId() { - return companyId; - } - - public void setCompanyId(Integer companyId) { - this.companyId = companyId; - } - - public Integer getFranchiseeId() { - return franchiseeId; - } - - public void setFranchiseeId(Integer franchiseeId) { - this.franchiseeId = franchiseeId; - } - - public String getCarColor() { - return carColor; - } - - public void setCarColor(String carColor) { - this.carColor = carColor; - } - - public Integer getCarModelId() { - return carModelId; - } - - public void setCarModelId(Integer carModelId) { - this.carModelId = carModelId; - } - - public Integer getCarBrandId() { - return carBrandId; - } - - public void setCarBrandId(Integer carBrandId) { - this.carBrandId = carBrandId; - } - - public String getCarLicensePlate() { - return carLicensePlate; - } - - public void setCarLicensePlate(String carLicensePlate) { - this.carLicensePlate = carLicensePlate; - } - - public String getCarPhoto() { - return carPhoto; - } - - public void setCarPhoto(String carPhoto) { - this.carPhoto = carPhoto; - } - - public String getDrivingLicenseNumber() { - return drivingLicenseNumber; - } - - public void setDrivingLicenseNumber(String drivingLicenseNumber) { - this.drivingLicenseNumber = drivingLicenseNumber; - } - - public String getDrivingLicensePhoto() { - return drivingLicensePhoto; - } - - public void setDrivingLicensePhoto(String drivingLicensePhoto) { - this.drivingLicensePhoto = drivingLicensePhoto; - } - - public Date getAnnualInspectionTime() { - return annualInspectionTime; - } - - public void setAnnualInspectionTime(Date annualInspectionTime) { - this.annualInspectionTime = annualInspectionTime; - } - - public String getInsurancePhoto() { - return insurancePhoto; - } - - public void setInsurancePhoto(String insurancePhoto) { - this.insurancePhoto = insurancePhoto; - } - - public Date getCommercialInsuranceTime() { - return commercialInsuranceTime; - } - - public void setCommercialInsuranceTime(Date commercialInsuranceTime) { - this.commercialInsuranceTime = commercialInsuranceTime; - } - - public Date getInsertTime() { - return insertTime; - } - - public void setInsertTime(Date insertTime) { - this.insertTime = insertTime; - } - - public Integer getState() { - return state; - } - - public void setState(Integer state) { - this.state = state; - } - - public Integer getAddType() { - return addType; - } - - public void setAddType(Integer addType) { - this.addType = addType; - } - - public Integer getAddObjectId() { - return addObjectId; - } - - public void setAddObjectId(Integer addObjectId) { - this.addObjectId = addObjectId; - } - - @Override - public String toString() { - return "Car{" + - "id=" + id + - ", isPlatCar=" + isPlatCar + - ", companyId=" + companyId + - ", carColor='" + carColor + '\'' + - ", carModelId=" + carModelId + - ", carBrandId=" + carBrandId + - ", carLicensePlate='" + carLicensePlate + '\'' + - ", carPhoto='" + carPhoto + '\'' + - ", drivingLicenseNumber='" + drivingLicenseNumber + '\'' + - ", drivingLicensePhoto='" + drivingLicensePhoto + '\'' + - ", annualInspectionTime=" + annualInspectionTime + - ", commercialInsuranceTime=" + commercialInsuranceTime + - ", insertTime=" + insertTime + - ", state=" + state + - ", addType=" + addType + - ", addObjectId=" + addObjectId + - '}'; - } + /** + * google车辆id + */ + @TableField("vehicleId") + private String vehicleId; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java index cb511e9..fa994a3 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java @@ -102,13 +102,13 @@ * @param licensePlate 车牌号 * @param id 车辆id */ - public String createVehicles(int maximumCapacity, String licensePlate, Integer id) throws Exception{ + public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception{ String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + "I-GO-CAR" + id; + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + id; HttpRequest post = HttpUtil.createPost(url); Map<String, String> headers = new HashMap<>(); headers.put("Authorization", "Bearer " + google_token); @@ -131,7 +131,7 @@ HttpRequest request = post.body(body.toJSONString()); HttpResponse response = request.execute(); logger.info("创建车辆结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -142,7 +142,7 @@ return createVehicles(maximumCapacity, licensePlate, id); } } - throw new Exception(body.toJSONString()); + throw new Exception(response.body()); } /** * 返回结果 @@ -176,21 +176,21 @@ * @param id * @return */ - public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, Integer id) throws Exception{ + public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception{ String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + "I-GO-CAR" + id + "?updateMask="; + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + id + "?updateMask="; List<String> sb = new ArrayList<>(); - if(!StringUtils.hasLength(vehicleState)){ + if(StringUtils.hasLength(vehicleState)){ sb.add("vehicleState"); } if(null != maximumCapacity){ sb.add("maximumCapacity"); } - if(!StringUtils.hasLength(licensePlate)){ + if(StringUtils.hasLength(licensePlate)){ sb.add("licensePlate"); } String collect = sb.stream().collect(Collectors.joining(",")); @@ -208,13 +208,13 @@ * OFFLINE 车辆不接受新行程。注意:在完成分配给车辆的行程时,车辆仍可继续在此状态下运行。 * ONLINE 车辆正在接受新行程。 */ - if(!StringUtils.hasLength(vehicleState)){ + if(StringUtils.hasLength(vehicleState)){ body.put("vehicleState", vehicleState); } if(null != maximumCapacity){ body.put("maximumCapacity", maximumCapacity); } - if(!StringUtils.hasLength(licensePlate)){ + if(StringUtils.hasLength(licensePlate)){ JSONObject licensePlate1 = new JSONObject(); licensePlate1.put("countryCode", "GH"); licensePlate1.put("lastCharacter", getLastNumber(licensePlate)); @@ -229,7 +229,7 @@ logger.info("修改车辆信息请求:{}", body.toJSONString()); HttpResponse response = put.execute(); logger.info("修改车辆信息结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -240,7 +240,7 @@ return updateVehicles(vehicleState, maximumCapacity, licensePlate, id); } } - throw new Exception(body.toJSONString()); + throw new Exception(response.body()); } /** * 返回结果 @@ -272,13 +272,13 @@ * @param id 车辆id * @return */ - public String getVehicles(Integer id) throws Exception{ + public String getVehicles(String id) throws Exception{ String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles" + (null != id ? "/I-GO-CAR" + id : ""); + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + (null != id ? id : ""); HttpRequest get = HttpUtil.createGet(url); Map<String, String> headers = new HashMap<>(); headers.put("Authorization", "Bearer " + google_token); @@ -287,7 +287,7 @@ HttpResponse response = get.execute(); logger.info("查询车辆结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -374,21 +374,20 @@ * 创建新的行程 * @param vehicleId 车辆id * @param numberOfPassengers 人数 - * @param orderType 订单类型(1/4) - * @param orderId 订单id + * @param tripId 订单id * @param start_lat 起点纬度 * @param start_lng 起点经度 * @param end_lat 终点纬度 * @param end_lng 终点经度 * @return */ - public String createTrip(Integer vehicleId, Integer numberOfPassengers, Integer orderType, Integer orderId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception{ + public String createTrip(String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception{ String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + "I-GO-" + (orderType == 1 ? "RIDE" : "DELIVERY") + orderId; + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + tripId; HttpRequest post = HttpUtil.createPost(url); Map<String, String> headers = new HashMap<>(); headers.put("Authorization", "Bearer " + google_token); @@ -396,7 +395,9 @@ post.addHeaders(headers); JSONObject body = new JSONObject(); - body.put("vehicleId", "I-GO-CAR" + vehicleId); + if(StringUtils.hasLength(vehicleId)){ + body.put("vehicleId", vehicleId); + } body.put("tripStatus", "NEW"); body.put("tripType", "SHARED"); body.put("numberOfPassengers", numberOfPassengers); @@ -418,7 +419,7 @@ HttpRequest request = post.body(body.toJSONString()); HttpResponse response = request.execute(); logger.info("创建行程结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -426,10 +427,10 @@ String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); if(reason.equals("ACCESS_TOKEN_EXPIRED")){ redisUtil.remove("google_token"); - return createTrip(vehicleId, numberOfPassengers, orderType, orderId, start_lat, start_lng, end_lat, end_lng); + return createTrip(vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } } - throw new Exception(body.toJSONString()); + throw new Exception(response.body()); } /** * 返回结果 @@ -555,36 +556,35 @@ * @param tripStatus 行程状态 * @param vehicleId 车辆id * @param numberOfPassengers 人数 - * @param orderType 订单类型(1/4) - * @param orderId 订单id + * @param tripId 订单id * @param start_lat 起点纬度 * @param start_lng 起点经度 * @param end_lat 终点纬度 * @param end_lng 终点经度 * @return */ - public String updateTrip(String tripStatus, Integer vehicleId, Integer numberOfPassengers, Integer orderType, Integer orderId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception { + public String updateTrip(String tripStatus, String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception { String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + "I-GO-" + (orderType == 1 ? "RIDE" : "DELIVERY") + orderId + "?updateMask="; + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId + "?updateMask="; List<String> sb = new ArrayList<>(); - if(null != vehicleId){ + if(StringUtils.hasLength(vehicleId)){ sb.add("vehicleId"); } - if(!StringUtils.hasLength(tripStatus)){ + if(StringUtils.hasLength(tripStatus)){ sb.add("tripStatus"); } if(null != numberOfPassengers){ sb.add("numberOfPassengers"); } - if(!StringUtils.hasLength(start_lat) && !StringUtils.hasLength(start_lng)){ + if(StringUtils.hasLength(start_lat) && StringUtils.hasLength(start_lng)){ sb.add("pickupPoint"); } - if(!StringUtils.hasLength(end_lat) && !StringUtils.hasLength(end_lng)){ + if(StringUtils.hasLength(end_lat) && StringUtils.hasLength(end_lng)){ sb.add("dropoffPoint"); } String collect = sb.stream().collect(Collectors.joining(",")); @@ -597,8 +597,8 @@ put.addHeaders(headers); JSONObject body = new JSONObject(); - if(null != vehicleId){ - body.put("vehicleId", "I-GO-CAR" + vehicleId); + if(StringUtils.hasLength(vehicleId)){ + body.put("vehicleId", vehicleId); } /** * UNKNOWN_TRIP_STATUS 默认,用于未指定或无法识别的行程状态。 @@ -611,13 +611,13 @@ * COMPLETE 乘客已下车,行程已完成。 * CANCELED 在司机、乘客或拼车服务提供商取车之前,行程被取消。 */ - if(!StringUtils.hasLength(tripStatus)){ + if(StringUtils.hasLength(tripStatus)){ body.put("tripStatus", tripStatus); } if(null != numberOfPassengers){ body.put("numberOfPassengers", numberOfPassengers); } - if(!StringUtils.hasLength(start_lat) && !StringUtils.hasLength(start_lng)){ + if(StringUtils.hasLength(start_lat) && StringUtils.hasLength(start_lng)){ JSONObject pickupPoint = new JSONObject(); JSONObject point = new JSONObject(); point.put("latitude", start_lat); @@ -626,7 +626,7 @@ body.put("pickupPoint", pickupPoint); } - if(!StringUtils.hasLength(end_lat) && !StringUtils.hasLength(end_lng)){ + if(StringUtils.hasLength(end_lat) && StringUtils.hasLength(end_lng)){ JSONObject dropoffPoint = new JSONObject(); JSONObject end_point = new JSONObject(); end_point.put("latitude", end_lat); @@ -638,7 +638,7 @@ HttpRequest request = put.body(body.toJSONString()); HttpResponse response = request.execute(); logger.info("修改行程结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -646,7 +646,7 @@ String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); if(reason.equals("ACCESS_TOKEN_EXPIRED")){ redisUtil.remove("google_token"); - return updateTrip(tripStatus, vehicleId, numberOfPassengers, orderType, orderId, start_lat, start_lng, end_lat, end_lng); + return updateTrip(tripStatus, vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } } throw new Exception(response.body()); @@ -776,17 +776,16 @@ /** * 获取行程信息 - * @param orderType 订单类型(1/4) - * @param orderId 订单id + * @param tripId 订单id * @return */ - public String getTrip(Integer orderType, Integer orderId) throws Exception { + public String getTrip(String tripId) throws Exception { String google_token = redisUtil.getValue("google_token"); if(!StringUtils.hasLength(google_token)){ google_token = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", google_token); } - String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/I-GO-" + (orderType == 1 ? "RIDE" : "DELIVERY") + orderId; + String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId; HttpRequest get = HttpUtil.createGet(url); Map<String, String> headers = new HashMap<>(); headers.put("Authorization", "Bearer " + google_token); @@ -795,7 +794,7 @@ HttpResponse response = get.execute(); logger.info("查询行程结果:{}", response.body()); - JSONObject jsonObject = JSON.parseObject(response.body()); + JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); if(null != error){ Integer code = error.getInteger("code"); @@ -806,7 +805,7 @@ String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); if(reason.equals("ACCESS_TOKEN_EXPIRED")){ redisUtil.remove("google_token"); - return getTrip(orderType, orderId); + return getTrip(tripId); } } throw new Exception(response.body()); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java index 5dd3856..d63c7ae 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java @@ -146,6 +146,7 @@ private String snatchOrderTime; @ApiModelProperty("超时取消时间") private Integer timeOutCancel; + private String tripId; private List<OrderPosition> orderPositionList; public static OrderInfoWarpper getOrderInfoWarpper(Map<String, Object> map){ @@ -219,6 +220,7 @@ orderInfoWarpper.setTimeOutCancel(null != map.get("timeOutCancel") ? Integer.valueOf(map.get("timeOutCancel").toString()) : 0); orderInfoWarpper.setSnatchOrderTime(null != map.get("snatchOrderTime") ? map.get("snatchOrderTime").toString() : ""); orderInfoWarpper.setPriceDifference(null != map.get("priceDifference") ? Double.valueOf(map.get("priceDifference").toString()) : 0); + orderInfoWarpper.setTripId(null != map.get("tripId") ? map.get("tripId").toString() : ""); } if(orderInfoWarpper.getState()==7){ orderInfoWarpper.setOrderMoney(orderInfoWarpper.getOrderMoney()-orderInfoWarpper.getDiscountMoney()); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderStatusWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderStatusWarpper.java index 29f3c8a..05fa6f6 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderStatusWarpper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderStatusWarpper.java @@ -11,6 +11,8 @@ private Integer orderType; @ApiModelProperty("订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)") private Integer state; + + private String tripId; public Integer getOrderId() { return orderId; @@ -35,4 +37,12 @@ public void setState(Integer state) { this.state = state; } + + public String getTripId() { + return tripId; + } + + public void setTripId(String tripId) { + this.tripId = tripId; + } } diff --git a/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml b/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml index 92ad7e3..a70ac14 100644 --- a/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml +++ b/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml @@ -47,7 +47,7 @@ spring: datasource: - url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 + url: jdbc:mysql://127.0.0.1:3306/igotravel2.0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 username: root password: HjKbXilb9zajmXbl db-name: guns #用来搜集数据库的所有表 diff --git a/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml b/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml index f1216a8..8e807ad 100644 --- a/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml +++ b/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml @@ -212,7 +212,7 @@ </springProfile> <springProfile name="produce"> - <root level="warn"> + <root level="info"> <!-- 生产环境最好不配置console写文件 --> <appender-ref ref="DEBUG_FILE" /> <appender-ref ref="INFO_FILE" /> -- Gitblit v1.7.1