From 6a90f2d1feaf583c211d5f9fe95dff7f7c748ed3 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 06 九月 2024 17:42:20 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java | 12 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java | 2 DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml | 14 UserIGOTravel/guns-admin/src/main/resources/application-dev.yml | 4 ManagementIGOTravel/guns-admin/src/main/resources/logback-spring.xml | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java | 4 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html | 4 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.java | 15 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 10 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java | 9 ManagementIGOTravel/guns-admin/pom.xml | 25 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 24 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java | 172 +- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TServerCarmodel.java | 59 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java | 3 ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml | 10 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java | 15 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_auth.html | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java | 10 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/mapping/OrderCharteredCarMapper.xml | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java | 9 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml | 10 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 29 UserIGOTravel/guns-admin/pom.xml | 21 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java | 10 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java | 4 DriverIGOTravel/guns-admin/src/main/resources/quartz.properties | 4 ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java | 8 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ChinaMobileUtil.java | 376 +++--- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/PushUtil.java | 19 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java | 3 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java | 6 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 42 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java | 10 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml | 2 DriverIGOTravel/guns-admin/pom.xml | 5 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java | 6 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java | 72 + ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js | 24 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java | 82 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 8 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java | 17 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/OrderCharteredCarMapper.java | 4 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java | 4 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 19 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 246 ++-- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 268 ++-- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java | 18 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 35 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java | 6 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java | 6 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java | 2 DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml | 6 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java | 50 ZuulIGOTravel/src/main/resources/application.yml | 6 EurekaIGOTravel/pom.xml | 24 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java | 46 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java | 19 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml | 8 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml | 4 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html | 4 EurekaIGOTravel/src/main/java/com/sinata/eureka/EurekaApplication.java | 6 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 10 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java | 2 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java | 12 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml | 6 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java | 64 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java | 2 DriverIGOTravel/guns-admin/src/main/resources/logback-spring.xml | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 22 UserIGOTravel/guns-admin/src/main/resources/application-produce.yml | 14 ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml | 2 UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java | 58 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java | 53 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 25 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java | 24 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java | 12 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java | 20 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java | 10 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml | 4 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js | 26 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 5 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java | 9 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 238 ++-- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java | 4 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 2 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_edit.html | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml | 8 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html | 2 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 121 +- ZuulIGOTravel/pom.xml | 22 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java | 49 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java | 47 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 68 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 90 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 16 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java | 48 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java | 86 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java | 6 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java | 9 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java | 9 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_add.html | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java | 4 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 70 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 17 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java | 65 128 files changed, 1,959 insertions(+), 1,412 deletions(-) diff --git a/DriverIGOTravel/guns-admin/pom.xml b/DriverIGOTravel/guns-admin/pom.xml index db60a84..6cd6bb8 100644 --- a/DriverIGOTravel/guns-admin/pom.xml +++ b/DriverIGOTravel/guns-admin/pom.xml @@ -323,6 +323,11 @@ </dependency> <dependency> + <groupId>com.sun.mail</groupId> + <artifactId>javax.mail</artifactId> + <version>1.6.2</version> + </dependency> + <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </dependency> diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java index bee5460..a50e13d 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java @@ -1800,7 +1800,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName + ".mp3"); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java index bc7cd0a..0f77fdc 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java @@ -49,7 +49,7 @@ * @return * @throws Exception */ - ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address, String pickUpCode, Integer language, Integer uid) throws Exception; + ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String pickUpCode, Integer language, Integer uid) throws Exception; /** diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index ad00677..3de45cc 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -18,6 +18,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; +import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import com.stylefeng.guns.modular.system.util.quartz.QuartzUtil; import com.stylefeng.guns.modular.system.util.quartz.jobs.OrderTimeOutJob; @@ -192,9 +193,10 @@ orderLogistics.setTripId(UUIDUtil.getRandomCode()); } String value = redisUtil.getValue("DRIVER" + driver.getId()); + String tripId = redisUtil.getValue("trip" + orderLogistics.getUserId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderLogistics.setEstimateArriveTime(new Date(timeOut)); @@ -346,13 +348,18 @@ * @param state * @param lon * @param lat - * @param address * @return * @throws Exception */ @Override - public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address, String pickUpCode, Integer language, Integer uid) throws Exception { + public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String pickUpCode, Integer language, Integer uid) throws Exception { OrderLogistics orderLogistics = this.selectById(orderId); + String tripId = redisUtil.getValue("trip" + orderLogistics.getUserId()); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon, tripId); + if(null == reverseGeocode){ + return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); + } + String address = reverseGeocode.getAddress(); if(!uid.equals(orderLogistics.getDriverId())){ return ResultUtil.error(language == 1 ? "操作失败,请刷新订单" : language == 2 ? "Operation failed, please refresh the order" : "L’opération a échoué, veuillez actualiser la commande"); } @@ -656,11 +663,11 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "取件码邮件" : language == 2 ? "Pickup code" : "Code de ramassage", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/code_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/code_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -669,7 +676,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/code_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/code_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java index d98f3ee..6442673 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java @@ -74,7 +74,7 @@ * @return * @throws Exception */ - ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone, Integer language, Integer uid) throws Exception; + ResultUtil process(Integer orderId, Integer state, Double lon, Double lat,String phone, Integer language, Integer uid) throws Exception; /** diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index cabeeb7..9e57fbd 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -18,6 +18,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; +import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; import com.stylefeng.guns.modular.system.util.quartz.QuartzUtil; import com.stylefeng.guns.modular.system.util.quartz.jobs.OrderTimeOutJob; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; @@ -194,6 +195,7 @@ @Override public synchronized ResultUtil grabOrder(Integer orderId, Integer uid, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); + String tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); //处理摆渡车的情况 if(orderPrivateCar.getType() == 2){ //查看用户下的摆渡车是否已被人抢了 @@ -239,7 +241,7 @@ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderPrivateCar.setEstimateArriveTime(new Date(timeOut)); @@ -471,8 +473,14 @@ * @throws Exception */ @Override - public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone, Integer language, Integer uid) throws Exception { + public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat,String phone, Integer language, Integer uid) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); + String tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon, tripId); + if(null == reverseGeocode){ + return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); + } + String address = reverseGeocode.getAddress(); if(!uid.equals(orderPrivateCar.getDriverId())){ return ResultUtil.error(language == 1 ? "操作失败,请刷新订单" : language == 2 ? "Operation failed, please refresh the order" : "L’opération a échoué, veuillez actualiser la commande"); } @@ -539,13 +547,13 @@ tripStatus = "ENROUTE_TO_DROPOFF"; switch (language){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/OnboardReminder-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/OnboardReminder-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/OnboardReminder-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/OnboardReminder-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/OnboardReminder-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/OnboardReminder-FR.mp3"; break; } break; @@ -559,13 +567,13 @@ tripStatus = "COMPLETE"; switch (language){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/ReachDestination-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ReachDestination-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/ReachDestination-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ReachDestination-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/ReachDestination-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ReachDestination-FR.mp3"; break; } break; diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml index e3fd3ba..473d016 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml @@ -215,7 +215,7 @@ <select id="queryByCompanyId" resultType="Driver"> select * - from t_driver where flag != 3 + from t_driver where flag != 3 and authState = 2 <choose> <when test="companyId == 1"> and (companyId = 1 or companyId is null or companyId = 0) and (franchiseeId = 0 or franchiseeId is null) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java index bef0100..afcba89 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java @@ -15,7 +15,7 @@ * @throws Exception */ Company query(String lon, String lat) throws Exception; - Company query1(String lon, String lat) throws Exception; + Company query1(Integer uid, String lon, String lat) throws Exception; /** diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java index c9b3136..8d04e3d 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java @@ -436,5 +436,5 @@ * @return * @throws Exception */ - List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception; + List<Driver> queryIdleDriver(Integer userId, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception; } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java index ca19a16..806e14c 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java @@ -13,6 +13,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,6 +35,9 @@ @Autowired private ICityService cityService; + + @Resource + private RedisUtil redisUtil; /** @@ -52,8 +56,9 @@ } @Override - public Company query1(String lon, String lat) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon)); + public Company query1(Integer uid, String lon, String lat) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon), tripId); if(null == reverseGeocode){ return null; } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java index acceb8b..055c978 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java @@ -259,7 +259,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -336,7 +336,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index 1de4706..add9fcb 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -411,11 +411,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -424,7 +424,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -607,11 +607,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -620,7 +620,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -874,11 +874,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "成功注册" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -887,7 +887,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -988,11 +988,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "密码重置" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1001,7 +1001,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/reset_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -1031,7 +1031,7 @@ */ @Override public Map<String, Object> queryPhone(Double lat, Double lnt) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, null); if(null == reverseGeocode){ System.err.println("获取地址异常"); return null; @@ -1228,13 +1228,13 @@ }).start(); switch (language){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-FR.mp3"; break; } }else{ @@ -1299,13 +1299,13 @@ switch (language){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-FR.mp3"; break; } } @@ -1587,11 +1587,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "密码重置" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1600,7 +1600,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/reset_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -1986,7 +1986,7 @@ Element rewardToday_award = document1.getElementById("rewardToday_award"); rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); Element rewardToday_content = document1.getElementById("rewardToday_content"); - rewardToday_content.text("邀请司机注册即可获得奖励。\n注意此活动是有时间限制的,详情请查看I-GO平台。"); + rewardToday_content.html("邀请司机注册即可获得奖励。<br/>注意此活动是有时间限制的,详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2007,7 +2007,7 @@ Element rewardToday1_award = document1.getElementById("rewardToday1_award"); rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); Element rewardToday1_content = document1.getElementById("rewardToday1_content"); - rewardToday1_content.text("Get a bonus on I-GO today.\nInvite drivers to register to get the bonus.\nNote that this is a limited-time offer. Check your app for more details."); + rewardToday1_content.html("Invite drivers to register to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2028,16 +2028,16 @@ Element rewardToday2_award = document1.getElementById("rewardToday2_award"); rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); Element rewardToday2_content = document1.getElementById("rewardToday2_content"); - rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les chauffeurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); + rewardToday2_content.html("Invitez les chauffeurs à s’inscrire pour obtenir le bonus.<br/>Notez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2046,7 +2046,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -2109,7 +2109,7 @@ Element rewardToday_award = document1.getElementById("rewardToday_award"); rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); Element rewardToday_content = document1.getElementById("rewardToday_content"); - rewardToday_content.text("邀请用户注册即可获得奖励。\n 注意此活动是有时间限制的,详情请查看I-GO平台。"); + rewardToday_content.html("邀请用户注册即可获得奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2130,7 +2130,7 @@ Element rewardToday1_award = document1.getElementById("rewardToday1_award"); rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); Element rewardToday1_content = document1.getElementById("rewardToday1_content"); - rewardToday1_content.text("Get a bonus on I-GO today.\nInvite users to register to get the bonus.\nNote that this is a limited-time offer. Check your app for more details."); + rewardToday1_content.html("Invite users to register to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2151,16 +2151,16 @@ Element rewardToday2_award = document1.getElementById("rewardToday2_award"); rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); Element rewardToday2_content = document1.getElementById("rewardToday2_content"); - rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les utilisateurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); + rewardToday2_content.html("Invitez les utilisateurs à s’inscrire pour obtenir le bonus.<br/>Notez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2169,7 +2169,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -2233,7 +2233,7 @@ Element rewardToday_award = document1.getElementById("rewardToday_award"); rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); Element rewardToday_content = document1.getElementById("rewardToday_content"); - rewardToday_content.text("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。\n 注意此活动是有时间限制的,详情请查看I-GO平台。"); + rewardToday_content.html("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2254,7 +2254,7 @@ Element rewardToday1_award = document1.getElementById("rewardToday1_award"); rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); Element rewardToday1_content = document1.getElementById("rewardToday1_content"); - rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online for " + driverActivityOnline.getOnline() + " hours to get the bonus.\nNote that this is a limited-time offer. Check your app for more details."); + rewardToday1_content.html("Stay online for " + driverActivityOnline.getOnline() + " hours to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2275,16 +2275,16 @@ Element rewardToday2_award = document1.getElementById("rewardToday2_award"); rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); Element rewardToday2_content = document1.getElementById("rewardToday2_content"); - rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne pendant " + driverActivityOnline.getOnline() + " heures pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); + rewardToday2_content.html("Restez en ligne pendant " + driverActivityOnline.getOnline() + " heures pour obtenir le bonus.<br/>Notez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2293,7 +2293,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -2357,7 +2357,7 @@ Element rewardToday_award = document1.getElementById("rewardToday_award"); rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); Element rewardToday_content = document1.getElementById("rewardToday_content"); - rewardToday_content.text("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。\n 注意此活动是有时间限制的,详情请查看I-GO平台。"); + rewardToday_content.html("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2378,7 +2378,7 @@ Element rewardToday1_award = document1.getElementById("rewardToday1_award"); rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); Element rewardToday1_content = document1.getElementById("rewardToday1_content"); - rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online and complete " + driverActivityOrder.getOrderNum() + " trips to get the bonus.\nNote that this is a limited-time offer. Check your app for more details."); + rewardToday1_content.html("Stay online and complete " + driverActivityOrder.getOrderNum() + " trips to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2399,16 +2399,16 @@ Element rewardToday2_award = document1.getElementById("rewardToday2_award"); rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); Element rewardToday2_content = document1.getElementById("rewardToday2_content"); - rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne et effectuez " + driverActivityOrder.getOrderNum() + " trajets pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); + rewardToday2_content.html("Restez en ligne et effectuez " + driverActivityOrder.getOrderNum() + " trajets pour obtenir le bonus.<br/>Notez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2417,7 +2417,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -2502,7 +2502,7 @@ Element reward_user = document1.getElementById("reward_user"); reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward_content = document1.getElementById("reward_content"); - reward_content.text("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。\n详情请查看I-GO平台。"); + reward_content.html("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2521,7 +2521,7 @@ Element reward1_user = document1.getElementById("reward1_user"); reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward1_content = document1.getElementById("reward1_content"); - reward1_content.text("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.\nCheck your app for more details."); + reward1_content.html("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2540,16 +2540,16 @@ Element reward2_user = document1.getElementById("reward2_user"); reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward2_content = document1.getElementById("reward2_content"); - reward2_content.text("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.\nConsultez votre application pour plus de détails."); + reward2_content.html("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2558,7 +2558,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/rewards_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -2621,7 +2621,7 @@ Element reward_user = document1.getElementById("reward_user"); reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward_content = document1.getElementById("reward_content"); - reward_content.text("今日累计接单" + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。\n详情请查看I-GO平台。"); + reward_content.html("今日累计接单" + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。"); } if (2 == language) { document1.getElementById("chinese").remove(); @@ -2640,7 +2640,7 @@ Element reward1_user = document1.getElementById("reward1_user"); reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward1_content = document1.getElementById("reward1_content"); - reward1_content.text("You completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.\nCheck your app for more details."); + reward1_content.html("You completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details."); } if (3 == language) { document1.getElementById("chinese").remove(); @@ -2659,17 +2659,17 @@ Element reward2_user = document1.getElementById("reward2_user"); reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ","); Element reward2_content = document1.getElementById("reward2_content"); - reward2_content.text("Vous avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.\nConsultez votre application pour plus de détails."); + reward2_content.html("Vous avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2678,7 +2678,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/rewards_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -3189,13 +3189,14 @@ * @throws Exception */ @Override - public List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { + public List<Driver> queryIdleDriver(Integer userId, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId); + String tripId = redisUtil.getValue("trip" + userId); List<Driver> list = new ArrayList<>(); for(Driver driver : drivers){ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(ToolUtil.isNotEmpty(value)){ - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]), tripId); if(null != distancematrix){ if(distancematrix.getDistance() < (distance * 1000)){ list.add(driver); diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index df60022..ee04794 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -262,11 +262,13 @@ switch (orderType){ case 1://专车 map = orderPrivateCarService.queryPushOrder(orderId, language); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon)); + OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); + String tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon), tripId); map.put("startDistance", null != distancematrix ? distancematrix.getDistance() / 1000 : 0); //总距离 - distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString())); + distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString()), tripId); map.put("totalDistance", null != distancematrix ? distancematrix.getDistance() / 1000 : 0); Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource"))); @@ -371,11 +373,13 @@ break; case 4://市内小件物流 map = orderLogisticsService.queryPushOrder(orderId, language); - DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon)); + OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + String tripId1 = redisUtil.getValue("trip" + orderLogistics.getUserId()); + DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon), tripId1); map.put("startDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); //总距离 - distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString())); + distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString()), tripId1); map.put("totalDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); Integer orderSource3 = Integer.valueOf(String.valueOf(map.get("orderSource"))); @@ -568,20 +572,15 @@ */ @Override public ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone, String pickUpCode, Integer language) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon); - if(null == reverseGeocode){ - return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); - } - String address = reverseGeocode.getAddress(); switch (orderType){ case 1://专车 - return orderPrivateCarService.process(orderId, state, lon, lat, address, phone, language, uid); + return orderPrivateCarService.process(orderId, state, lon, lat, phone, language, uid); case 2://出租 // return orderTaxiService.process(orderId, state, lon, lat, address); case 3://城际 // return orderCrossCityService.process(orderId, state, lon, lat, address); case 4://同城小件 - return orderLogisticsService.process(orderId, state, lon, lat, address, pickUpCode, language, uid); + return orderLogisticsService.process(orderId, state, lon, lat, pickUpCode, language, uid); case 5://跨城小件 // return orderLogisticsService.process(orderId, state, lon, lat, address); case 6: @@ -1165,8 +1164,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, uid, 2, orderId, orderType, 1, money, null, 1);//添加预支付数据 @@ -1191,8 +1190,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java index 77dd8e0..a3ccf8f 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java @@ -52,13 +52,12 @@ /** * 获取客服电话(个人中心) - * @param code * @return * @throws Exception */ @Override public Map<String, Object> queryCustomerPhone(Double lat, Double lnt) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat, null); if(null == reverseGeocode){ System.err.println("获取地图信息出错"); return new HashMap<>(); diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java index acc5b13..afe78cc 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java @@ -159,7 +159,7 @@ reassign.setInsertTime(new Date()); reassign.setState(2); this.insert(reassign); - + String tripId = ""; //修改改派通知状态 switch (reassign.getOrderType()){ case 1: @@ -168,6 +168,7 @@ orderPrivateCar.setState(11); orderPrivateCar.setReassignNotice(2); orderPrivateCarService.updateById(orderPrivateCar); + tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId()); @@ -175,6 +176,7 @@ orderTaxi.setState(11); orderTaxi.setReassignNotice(2); orderTaxiService.updateById(orderTaxi); + tripId = redisUtil.getValue("trip" + orderTaxi.getUserId()); break; case 4: OrderLogistics orderLogistics = orderLogisticsService.selectById(reassign.getOrderId()); @@ -182,6 +184,7 @@ orderLogistics.setState(11); orderLogistics.setReassignNotice(2); orderLogisticsService.updateById(orderLogistics); + tripId = redisUtil.getValue("trip" + orderLogistics.getUserId()); break; case 5: OrderLogistics orderLogistics1 = orderLogisticsService.selectById(reassign.getOrderId()); @@ -189,20 +192,22 @@ orderLogistics1.setState(11); orderLogistics1.setReassignNotice(2); orderLogisticsService.updateById(orderLogistics1); + tripId = redisUtil.getValue("trip" + orderLogistics1.getUserId()); break; } systemNoticeService.addSystemNotice(2, language == 1 ? "您的改派申请已成功提交,我们会尽快为你处理!" : language == 2 ? "Your request for reassignment was submitted, we shall handle it for you as soon as possible." : "Votre demande de réaffectation a été soumise. Nous la traiterons pour vous dans les plus brefs délais.", uid); - + + //开始自动完成改派 switch (reassign.getOrderType()){ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId()); - Company company = companyCityService.query1(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 + Company company = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 PushOrder pushOrder = pushOrderService.querys(1, 1, company.getId()).get(0); //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 System.err.println("【" + orderPrivateCar.getId() + "】空闲司机:" + JSON.toJSONString(list)); if(list.size() > 0){ String text = ""; @@ -240,7 +245,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -265,7 +270,7 @@ String value = redisUtil.getValue("DRIVER" + driver1.getId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderPrivateCar.setEstimateArriveTime(new Date(timeOut)); @@ -451,10 +456,10 @@ break; case 4: OrderLogistics orderLogistics = orderLogisticsService.selectById(reassign.getOrderId()); - Company company1 = companyCityService.query1(String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司 + Company company1 = companyCityService.query1(orderLogistics.getUserId(), String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司 PushOrder pushOrder1 = pushOrderService.querys(1, 1, company1.getId()).get(0); //获取空闲司机 - List<Driver> list1 = driverService.queryIdleDriver(orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder1.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list1 = driverService.queryIdleDriver(orderLogistics.getUserId(), orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder1.getPushDistance(), null);//所有附近空闲司机 System.err.println("【" + orderLogistics.getId() + "】空闲司机:" + JSON.toJSONString(list1)); if(list1.size() > 0){ Driver driver1 = list1.get(0); @@ -491,7 +496,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -515,7 +520,7 @@ String value = redisUtil.getValue("DRIVER" + driver1.getId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderLogistics.setEstimateArriveTime(new Date(timeOut)); diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java index 4acac24..91c4677 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java @@ -81,9 +81,9 @@ List<Integer> collect = settlementRecords.stream().map(SettlementRecord::getId).collect(Collectors.toList()); Wrapper<SettlementDetail> wrapper = new EntityWrapper<SettlementDetail>(); if(collect.size() > 0){ - wrapper.in("settlementRecordId", collect).or().isNull("settlementRecordId"); + wrapper.eq("driverId", driverId).in("settlementRecordId", collect).or().eq("driverId", driverId).isNull("settlementRecordId"); }else{ - wrapper.isNull("settlementRecordId"); + wrapper.eq("driverId", driverId).isNull("settlementRecordId"); } settlementDetailList = settlementDetailService.selectList(wrapper.orderBy("createTime desc")); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @@ -165,8 +165,8 @@ checkoutRequest.setRequestDescription("Settlement cost"); checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()!=200){ @@ -189,8 +189,8 @@ checkoutRequest.setRequestDescription("Settlement cost"); checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()!=200){ diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java index 788338e..338ab8e 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java @@ -1,9 +1,6 @@ package com.stylefeng.guns.modular.system.util; -import javax.mail.Authenticator; -import javax.mail.PasswordAuthentication; -import javax.mail.Session; -import javax.mail.Transport; +import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; @@ -53,47 +50,36 @@ Properties props = new Properties(); //选择ssl方式 gmailssl(props); - + final String username = "i-gotech@i-go.group";// gmail 邮箱 - final String password = "mhizkqkhuknbitps";// Google应用专用密码 - // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance - // Session.getDefaultInstance 会将username,password保存在session会话中 - // Session.getInstance 不进行保存 + final String password = "rvbmuovvpocmhast";// Google应用专用密码 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); - MimeMessage msg = new MimeMessage(session); - //2.设置发件人地址 - msg.setFrom(new InternetAddress(sentToEmail)); - /** - * 3.设置收件人地址(可以增加多个收件人、抄送、密送),即下面这一行代码书写多行 - * MimeMessage.RecipientType.TO:发送 - * MimeMessage.RecipientType.CC:抄送 - * MimeMessage.RecipientType.BCC:密送 - */ - msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(sentToEmail)); - //4.设置邮件主题 - msg.setSubject(subject, "UTF-8"); - // 6. 创建文本"节点" + // 创建默认的MimeMessage对象 + MimeMessage message = new MimeMessage(session); + // 设置发件人 + message.setFrom(new InternetAddress(username)); + // 设置收件人 + message.addRecipient(Message.RecipientType.TO, new InternetAddress(sentToEmail)); + // 设置邮件主题 + message.setSubject(subject,"UTF-8"); + // 设置邮件内容 MimeBodyPart text = new MimeBodyPart(); - // 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片 - text.setContent(content, "text/html;charset=UTF-8"); - // 7. (文本+图片)设置 文本 和 图片"节点"的关系(将 文本 和 图片"节点"合成一个混合"节点") - MimeMultipart mm_text_image = new MimeMultipart(); - mm_text_image.addBodyPart(text); - mm_text_image.setSubType("related"); // 关联关系 - // 11. 设置整个邮件的关系(将最终的混合"节点"作为邮件的内容添加到邮件对象) - msg.setContent(mm_text_image); + text.setContent(content,"text/html;charset=UTF-8"); + MimeMultipart mimeMultipart = new MimeMultipart(); + mimeMultipart.addBodyPart(text); + mimeMultipart.setSubType("related"); + message.setContent(mimeMultipart); //设置邮件的发送时间,默认立即发送 - msg.setSentDate(new Date()); - - Transport transport = session.getTransport(); - transport.connect(); - transport.sendMessage(msg, msg.getAllRecipients()); - transport.close(); + message.setSentDate(new Date()); + + // 发送消息 + Transport.send(message); + System.out.println("Sent message successfully...."); return true; } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java index c1fbf66..8715943 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java @@ -34,27 +34,35 @@ static Logger logger = LoggerFactory.getLogger(FleetEngineUtil.class); - private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; - - private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; - - private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; - - private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; - - private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; - - private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; - - private final String provider = "i-go-odrd-testing"; +// private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; +// +// private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; +// +// private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; +// +// private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; +// +// private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; +// +// private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; +// +// private final String provider = "i-go-odrd-testing"; private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts"; + + private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-gcp.iam.gserviceaccount.com"; + + private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-gcp.iam.gserviceaccount.com"; + + private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-gcp.iam.gserviceaccount.com"; + + private final String provider = "i-go-gcp"; @Autowired private RedisUtil redisUtil; @@ -72,22 +80,22 @@ public Map<String, Object> fleetEngineAuth(int type, String id){ try { //谷歌云服务器使用这部分代码 -// AuthTokenMinter minter = AuthTokenMinter.builder() -// //服务端签名 -// .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) -// //司机端签名 -// .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) -// //乘客端签名 -// .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) -// .build(); AuthTokenMinter minter = AuthTokenMinter.builder() //服务端签名 - .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) + .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) //司机端签名 - .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) + .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) //乘客端签名 - .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) + .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) .build(); +// AuthTokenMinter minter = AuthTokenMinter.builder() +// //服务端签名 +// .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) +// //司机端签名 +// .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) +// //乘客端签名 +// .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) +// .build(); String jwt = ""; Long expirationTimestamp = 0L; @@ -112,6 +120,8 @@ return map; } catch (SigningTokenException e) { throw new RuntimeException(e); + } catch (SignerInitializationException e) { + throw new RuntimeException(e); } } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java index 72c49d9..c9c45a9 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java @@ -4,6 +4,7 @@ import com.google.gson.GsonBuilder; import com.google.maps.*; import com.google.maps.model.*; +import com.stylefeng.guns.core.util.ToolUtil; /** * 谷歌地图工具类 @@ -46,11 +47,14 @@ * @return * @throws Exception */ - public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ + public static ReverseGeocodeVo getReverseGeocode(double lat, double lng, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } GeocodingResult[] results = request.await(); ReverseGeocodeVo vo = null; if(results.length > 0){ @@ -179,7 +183,7 @@ * @return * @throws Exception */ - public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ + public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); @@ -187,6 +191,9 @@ request.origins(new LatLng(sLat, sLnt)); request.destinations(new LatLng(eLat, eLnt)); request.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } DistanceMatrix distanceMatrix = request.await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(distanceMatrix)); @@ -227,12 +234,6 @@ - public static void main(String[] ages){ - try { - } catch (Exception e) { - e.printStackTrace(); - } - } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 704a15a..a44e21b 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -245,9 +245,11 @@ Integer oldState = 0; Long startServiceTime = null; Double servedMileage = null; + String tripId = ""; switch (orderType){ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); if(orderPrivateCar == null){ this.removeTask(orderId, orderType); }else{ @@ -262,6 +264,7 @@ break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderTaxi.getUserId()); if(orderTaxi == null){ this.removeTask(orderId, orderType); }else{ @@ -276,6 +279,7 @@ break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderCrossCity.getUserId()); if(orderCrossCity == null){ this.removeTask(orderId, orderType); }else{ @@ -289,6 +293,7 @@ break; case 4: OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderLogistics.getUserId()); if(orderLogistics == null){ this.removeTask(orderId, orderType); }else{ @@ -302,6 +307,7 @@ break; case 5: OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderLogistics1.getUserId()); if(orderLogistics1 == null){ this.removeTask(orderId, orderType); }else{ @@ -340,7 +346,7 @@ if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){ String[] split = value.split(","); String[] split1 = startLonLat.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId); if(null == distancematrix){ System.err.println("地图获取距离出错"); }else{ @@ -369,7 +375,7 @@ if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){ String[] split = value.split(","); String[] split1 = endLonLat.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId); if(null == distancematrix){ System.err.println("地图获取距离出错"); }else{ diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java index b384d21..da77794 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java @@ -291,7 +291,7 @@ params.put("msisdn", toPhone); params.put("message", msg); params.put("sender_id", "I-GO"); - params.put("callback_url", "http://182.160.16.251:80/driver/base/sendCellulantMessageCallback"); + params.put("callback_url", "https://igo.i-go.group/driver/base/sendCellulantMessageCallback"); post.body(params.toJSONString()); System.err.println("短信请求:\n请求地址:" + url + "\n请求参数:" + params.toJSONString()); HttpResponse execute = post.execute(); diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java index 4e277fe..97857c2 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java @@ -48,9 +48,9 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. - try (OutputStream out = new FileOutputStream("/usr/local/nginx/html/files/audio/" + fileName)) { + try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); - return "http://182.160.16.251:81/files/audio/" + fileName; + return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ e.printStackTrace(); } diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java index 610ba95..871e41f 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java @@ -212,7 +212,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml b/DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml index 73b28b2..f0466ee 100644 --- a/DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml +++ b/DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml @@ -101,7 +101,7 @@ #支付回调地址 -callbackPath: http://182.160.16.251/driver +callbackPath: https://igo.i-go.group/driver --- @@ -119,9 +119,9 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- share: - url: http://182.160.16.251:81/share/share/pages/changeStyle/changeStyle.html \ No newline at end of file + url: https://igo.i-go.group/share/share/pages/changeStyle/changeStyle.html \ No newline at end of file diff --git a/DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml b/DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml index fab6761..3e8d4c0 100644 --- a/DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml +++ b/DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml @@ -2,7 +2,7 @@ port: 8007 guns: - swagger-open: true #是否开启swagger (true/false) + swagger-open: false #是否开启swagger (true/false) kaptcha-open: false #是否开启登录时验证码 (true/false) # file-upload-path: d:/tmp #文件上传目录(不配置的话为java.io.tmpdir目录) spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) @@ -41,8 +41,8 @@ spring: datasource: - 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 + url: jdbc:mysql://172.16.0.4:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 + username: i-go password: HjKbXilb9zajmXbl db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat @@ -96,12 +96,12 @@ --- -filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 +filePath: /home/igotechgh/orderPostionFile/ #存储订单轨迹文件路径 #支付回调地址 -callbackPath: http://182.160.16.251/driver +callbackPath: https://igo.i-go.group/driver --- @@ -119,9 +119,9 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- share: - url: http://182.160.16.251:81/share/share/pages/changeStyle/changeStyle.html \ No newline at end of file + url: https://igo.i-go.group/share/share/pages/changeStyle/changeStyle.html \ No newline at end of file diff --git a/DriverIGOTravel/guns-admin/src/main/resources/logback-spring.xml b/DriverIGOTravel/guns-admin/src/main/resources/logback-spring.xml index b88719f..19d0cac 100644 --- a/DriverIGOTravel/guns-admin/src/main/resources/logback-spring.xml +++ b/DriverIGOTravel/guns-admin/src/main/resources/logback-spring.xml @@ -7,7 +7,7 @@ <contextName>logback</contextName> <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> - <property name="log.path" value="/usr/local/server/logs/driver"/> + <property name="log.path" value="/home/igotechgh/app/log/driver"/> <!--0. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/DriverIGOTravel/guns-admin/src/main/resources/quartz.properties b/DriverIGOTravel/guns-admin/src/main/resources/quartz.properties index 00d6918..d63d0b3 100644 --- a/DriverIGOTravel/guns-admin/src/main/resources/quartz.properties +++ b/DriverIGOTravel/guns-admin/src/main/resources/quartz.properties @@ -33,7 +33,7 @@ # 数据源配置 org.quartz.jobStore.dataSource=myDS org.quartz.dataSource.myDS.driver=com.mysql.cj.jdbc.Driver -org.quartz.dataSource.myDS.URL=jdbc:mysql://127.0.0.1:3306/igotravel2.0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 -org.quartz.dataSource.myDS.user=root +org.quartz.dataSource.myDS.URL=jdbc:mysql://172.16.0.4:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 +org.quartz.dataSource.myDS.user=i-go org.quartz.dataSource.myDS.password=HjKbXilb9zajmXbl org.quartz.dataSource.myDS.maxConnections=10 diff --git a/EurekaIGOTravel/pom.xml b/EurekaIGOTravel/pom.xml index 0744038..0832ace 100644 --- a/EurekaIGOTravel/pom.xml +++ b/EurekaIGOTravel/pom.xml @@ -14,7 +14,7 @@ <name>eureka</name> <description>Eureka project for Spring Boot</description> - <packaging>war</packaging> + <packaging>jar</packaging> <properties> <java.version>1.8</java.version> @@ -33,17 +33,17 @@ </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <version>3.1.0</version> - <scope>provided</scope> - </dependency> +<!-- <dependency>--> +<!-- <groupId>org.springframework.boot</groupId>--> +<!-- <artifactId>spring-boot-starter-tomcat</artifactId>--> +<!-- <scope>provided</scope>--> +<!-- </dependency>--> +<!-- <dependency>--> +<!-- <groupId>javax.servlet</groupId>--> +<!-- <artifactId>javax.servlet-api</artifactId>--> +<!-- <version>3.1.0</version>--> +<!-- <scope>provided</scope>--> +<!-- </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/EurekaIGOTravel/src/main/java/com/sinata/eureka/EurekaApplication.java b/EurekaIGOTravel/src/main/java/com/sinata/eureka/EurekaApplication.java index 1e9c18d..2ef7167 100644 --- a/EurekaIGOTravel/src/main/java/com/sinata/eureka/EurekaApplication.java +++ b/EurekaIGOTravel/src/main/java/com/sinata/eureka/EurekaApplication.java @@ -8,15 +8,11 @@ @EnableEurekaServer//开启服务治理 @SpringBootApplication -public class EurekaApplication extends SpringBootServletInitializer { +public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { - return builder.sources(EurekaApplication.class); - } } diff --git a/ManagementIGOTravel/guns-admin/pom.xml b/ManagementIGOTravel/guns-admin/pom.xml index ff69f5d..251aabf 100644 --- a/ManagementIGOTravel/guns-admin/pom.xml +++ b/ManagementIGOTravel/guns-admin/pom.xml @@ -196,6 +196,11 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> + <dependency> + <groupId>com.sun.mail</groupId> + <artifactId>javax.mail</artifactId> + <version>1.6.2</version> + </dependency> <!--谷歌地图依赖--> <dependency> @@ -254,10 +259,24 @@ <artifactId>google-cloud-texttospeech</artifactId> <version>2.46.0</version> </dependency> + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>google-cloud-storage</artifactId> + </dependency> </dependencies> - - - + + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>libraries-bom</artifactId> + <version>26.45.0</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> <build> <plugins> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java index fcc31e6..2dbbbab 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java @@ -161,24 +161,47 @@ try { TUser userInfo = userService.selectById(tReportLoss.getUserId()); if(ToolUtil.isNotEmpty(userInfo.getEmail())){ + Integer language = userInfo.getLanguage(); String path = templatePath + "user/reportLossResult.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); - document.getElementById("chinese").remove(); - document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Notification of the result of the loss report"); - Element english_user = document.getElementById("english_user"); - english_user.text("Hello " + userInfo.getNickName() + ","); - Element english_content = document.getElementById("english_content"); - english_content.text(info); - EmailUtil.send(userInfo.getEmail(), "Notification of the result of the loss report", document.html()); + if(1 == language){ + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("物品报失处理结果"); + Element chinese_user = document.getElementById("chinese_user"); + chinese_user.text("您好 " + userInfo.getNickName() + ","); + Element chinese_content = document.getElementById("chinese_content"); + chinese_content.text(info); + EmailUtil.send(userInfo.getEmail(), "物品报失处理结果", document.html()); + } + if(2 == language){ + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Solutions for reporting lost items"); + Element english_user = document.getElementById("english_user"); + english_user.text("Hello " + userInfo.getNickName() + ","); + Element english_content = document.getElementById("english_content"); + english_content.text(info); + EmailUtil.send(userInfo.getEmail(), "Solutions for reporting lost items", document.html()); + } + if(3 == language){ + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Soumis avec succès, veuillez attendre notre réponse."); + Element french_user = document.getElementById("french_user"); + french_user.text("Bonjour " + userInfo.getNickName() + ","); + Element french_content = document.getElementById("french_content"); + french_content.text(info); + EmailUtil.send(userInfo.getEmail(), "Soumis avec succès, veuillez attendre notre réponse.", document.html()); + } //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/reportLossResult_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/reportLossResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -187,12 +210,12 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/reportLossResult_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/reportLossResult_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); - tEmail.setName("Notification of the result of the loss report"); + tEmail.setName(language == 1 ? "物品报失处理结果" : language == 2 ? "Solutions for reporting lost items" : "Soumis avec succès, veuillez attendre notre réponse"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java index 6739784..fc00f46 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java @@ -273,27 +273,59 @@ public void sendEmail(TUser userInfo1, Integer num, String startTime, String endTime, Double fullMoney){ try { if(ToolUtil.isNotEmpty(userInfo1.getEmail())){ + Integer language = userInfo1.getLanguage(); String path1 = templatePath + "user/coupon.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); - document1.getElementById("chinese").remove(); - document1.getElementById("french").remove(); - document1.getElementsByTag("title").get(0).text("Coupon is in"); - Element english_user = document1.getElementById("english_user"); - english_user.text("Hello " + userInfo1.getNickName() + ","); - Element english_number = document1.getElementById("english_number"); - english_number.text("You have received " + num + " coupons"); - Element english_date = document1.getElementById("english_date"); - english_date.text("You could use them from " + startTime + " to " + endTime); - Element english_remark = document1.getElementById("english_remark"); - english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride."); - EmailUtil.send(userInfo1.getEmail(), "Coupon is in", document1.html()); + if(1 == language){ + document1.getElementById("english").remove(); + document1.getElementById("french").remove(); + document1.getElementsByTag("title").get(0).text("优惠券到账"); + Element chinese_user = document1.getElementById("chinese_user"); + chinese_user.text("您好 " + userInfo1.getNickName() + ","); + Element chinese_number = document1.getElementById("chinese_number"); + chinese_number.text("您有" + num + "张优惠券到账"); + Element chinese_date = document1.getElementById("chinese_date"); + chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); + Element chinese_remark = document1.getElementById("chinese_remark"); + chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。"); + EmailUtil.send(userInfo1.getEmail(), "优惠券到账", document1.html()); + } + if(2 == language){ + document1.getElementById("chinese").remove(); + document1.getElementById("french").remove(); + document1.getElementsByTag("title").get(0).text("Coupon is in"); + Element english_user = document1.getElementById("english_user"); + english_user.text("Hello " + userInfo1.getNickName() + ","); + Element english_number = document1.getElementById("english_number"); + english_number.text("You have received " + num + " coupons"); + Element english_date = document1.getElementById("english_date"); + english_date.text("You could use them from " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, startTime) + " to " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, endTime)); + Element english_remark = document1.getElementById("english_remark"); + english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride."); + EmailUtil.send(userInfo1.getEmail(), "Coupon is in", document1.html()); + } + if(3 == language){ + document1.getElementById("chinese").remove(); + document1.getElementById("english").remove(); + document1.getElementsByTag("title").get(0).text("Le coupon est arrivé"); + Element french_user = document1.getElementById("french_user"); + french_user.text("Cher(ère) " + userInfo1.getNickName() + ","); + Element french_number = document1.getElementById("french_number"); + french_number.text("Vous avez reçu " + num + " coupons."); + Element french_date = document1.getElementById("french_date"); + french_date.text("Vous devriez les utiliser du " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, startTime) + " au " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, endTime) + ", voir le détail sur la plate-forme I-GO."); + Element french_remark = document1.getElementById("french_remark"); + french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet."); + EmailUtil.send(userInfo1.getEmail(), "Le coupon est arrivé", document1.html()); + } + //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -302,12 +334,12 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo1.getId()); tEmail.setType(1); - tEmail.setName("Coupon is in"); + tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java index 2df350a..2466814 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java @@ -632,6 +632,7 @@ @Override public void run() { try { + Integer language = tDriver.getLanguage(); String path = templatePath + "driver/index.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); document.getElementById("chinese").remove(); @@ -645,17 +646,42 @@ document.getElementById("reward1").remove(); document.getElementById("rewardToday1").remove(); document.getElementById("driverAudit1").remove(); - - document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified"); - Element car_audit1_user = document.getElementById("car_audit1_user"); - car_audit1_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ","); - Element car_audit1_content = document.getElementById("car_audit1_content"); - if(2 == finalTCar.getAuthState()){ - car_audit1_content.text("You vehicle application has been approved. See the I-GO platform for details."); - }else{ - car_audit1_content.text("We are sorry to inform you that your vehicle application was rejected. Please contact our service for relevant details, call 0577777767 or send e-mail to support@i-go.group"); + if(1 == language){ + document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "车辆审核通过" : "车辆审核不通过"); + Element car_audit1_user = document.getElementById("car_audit1_user"); + car_audit1_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ","); + Element car_audit1_content = document.getElementById("car_audit1_content"); + if(2 == finalTCar.getAuthState()){ + car_audit1_content.html("您的车辆注册申请已获批准<br>详情请查看I-GO APP"); + }else{ + car_audit1_content.html("我们很遗憾地通知您: 您的车辆申请已被拒绝。相关详情,请与我们的客服联系,致电0577777767或发送电子邮件至support@i-go.group"); + } + EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "车辆审核通过" : "车辆审核不通过", document.html()); } - EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified", document.html()); + if(2 == language){ + document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified"); + Element car_audit2_user = document.getElementById("car_audit2_user"); + car_audit2_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ","); + Element car_audit2_content = document.getElementById("car_audit2_content"); + if(2 == finalTCar.getAuthState()){ + car_audit2_content.html("Your vehicle application has been approved. <br>See the I-GO platform for details."); + }else{ + car_audit2_content.html("We are sorry to inform you that your vehicle application was rejected. Please contact our service for relevant details, call 0577777767 or send e-mail to support@i-go.group"); + } + EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified", document.html()); + } + if(3 == language){ + document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "Le véhicule est vérifié et qualifié" : "Le véhicule n’est pas vérifié et qualifié"); + Element car_audit3_user = document.getElementById("car_audit3_user"); + car_audit3_user.text("Bonjour " + tDriver.getFirstName() + " " + tDriver.getLastName() + ","); + Element car_audit3_content = document.getElementById("car_audit3_content"); + if(2 == finalTCar.getAuthState()){ + car_audit3_content.html("Votre demande de véhicule a été approuvée.<br>Veuillez consulter la plateforme I-GO pour plus de détails."); + }else{ + car_audit3_content.html("Nous avons le regret de vous informer que votre demande de véhicule a été rejetée. Veuillez contacter notre service pour plus de détails, appelez 0577777767 ou envoyez un e-mail à support@i-go.group"); + } + EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "Le véhicule est vérifié et qualifié" : "Le véhicule n’est pas vérifié et qualifié", document.html()); + } }catch (Exception e){ e.printStackTrace(); } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java index 07470ca..5e7cd10 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java @@ -152,21 +152,45 @@ if(ToolUtil.isNotEmpty(tUser.getEmail())){ String path = templatePath + "user/complaintResult.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); - document.getElementById("chinese").remove(); - document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Solutions for complaints"); - Element english_user = document.getElementById("english_user"); - english_user.text("Hello " + tUser.getNickName() + ","); - Element english_content = document.getElementById("english_content"); - english_content.text(handleResult); - EmailUtil.send(tUser.getEmail(), "Solutions for complaints", document.html()); + Integer language = tUser.getLanguage(); + if(1 == language){ + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("投诉反馈处理结果"); + Element chinese_user = document.getElementById("chinese_user"); + chinese_user.text("您好 " + tUser.getNickName() + ","); + Element chinese_content = document.getElementById("chinese_content"); + chinese_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "投诉反馈处理结果", document.html()); + } + if(2 == language){ + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Solutions for complaints"); + Element english_user = document.getElementById("english_user"); + english_user.text("Hello " + tUser.getNickName() + ","); + Element english_content = document.getElementById("english_content"); + english_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "Solutions for complaints", document.html()); + } + if(3 == language){ + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Solutions pour plaintes"); + Element french_user = document.getElementById("french_user"); + french_user.text("Bonjour " + tUser.getNickName() + ","); + Element french_content = document.getElementById("french_content"); + french_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "Solutions pour plaintes", document.html()); + } + //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/complaintResult_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/complaintResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -175,12 +199,12 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/complaintResult_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/complaintResult_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(tUser.getId()); tEmail.setType(1); - tEmail.setName("Solutions for complaints"); + tEmail.setName(1 == language ? "投诉反馈处理结果" : 2 == language ? "Solutions for complaints" : "Solutions pour plaintes"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index 94ba83b..dcd9667 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -614,7 +614,7 @@ driver_audit1_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ","); Element driver_audit1_content = document.getElementById("driver_audit1_content"); if(1 == authState){ - driver_audit1_content.text("You application has been approved."); + driver_audit1_content.text("Your application has been approved."); }else{ driver_audit1_content.text("We are sorry to inform you that your application was rejected. Please contact our service for relevant details, call 0577777767 or send e-mail to support@i-go.group"); } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java index 6859a15..13dbce5 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java @@ -182,22 +182,45 @@ if(ToolUtil.isNotEmpty(userInfo.getEmail())){ String path = templatePath + "user/feedbackResult.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); - document.getElementById("chinese").remove(); - document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Solutions for feedback"); - Element english_user = document.getElementById("english_user"); - english_user.text("Hello " + userInfo.getNickName() + ","); - Element english_content = document.getElementById("english_content"); - english_content.text(remark); - EmailUtil.send(userInfo.getEmail(), "Feedback Processing Results", document.html()); - + Integer language = userInfo.getLanguage(); + if(1 == language){ + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("意见反馈处理结果"); + Element chinese_user = document.getElementById("chinese_user"); + chinese_user.text("您好 " + userInfo.getNickName() + ","); + Element chinese_content = document.getElementById("chinese_content"); + chinese_content.text(remark); + EmailUtil.send(userInfo.getEmail(), "意见反馈处理结果", document.html()); + } + if(2 == language){ + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Solutions for feedback"); + Element english_user = document.getElementById("english_user"); + english_user.text("Hello " + userInfo.getNickName() + ","); + Element english_content = document.getElementById("english_content"); + english_content.text(remark); + EmailUtil.send(userInfo.getEmail(), "Solutions for feedback", document.html()); + } + if(3 == language){ + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Solutions pour avis"); + Element french_user = document.getElementById("french_user"); + french_user.text("Bonjour " + userInfo.getNickName() + ","); + Element french_content = document.getElementById("french_content"); + french_content.text(remark); + EmailUtil.send(userInfo.getEmail(), "Solutions pour avis", document.html()); + } + //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/feedbackResult_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/feedbackResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -206,12 +229,12 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/feedbackResult_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/feedbackResult_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); - tEmail.setName("Solutions for feedback"); + tEmail.setName(1 == language ? "意见反馈处理结果" : 2 == language ? "Solutions for feedback" : "Solutions pour avis"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java index d788977..b46e84d 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java @@ -144,17 +144,18 @@ public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) { TPubWithdrawal tPubWithdrawal = tPubWithdrawalService.selectById(id); if (SinataUtil.isNotEmpty(tPubWithdrawal)){ - TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); - Integer language = tDriver.getLanguage(); tPubWithdrawal.setRemark(remark); - String serviceCode = ""; String phone = ""; + Integer language = null; if(tPubWithdrawal.getUserType() == 1){ TUser tUser = userService.selectById(tPubWithdrawal.getUserId()); + language = tUser.getLanguage(); serviceCode = tUser.getPhoneOperator(); phone = tUser.getPhone(); }else{ + TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); + language = tDriver.getLanguage(); serviceCode = tDriver.getPhoneOperator(); phone = tDriver.getPhone(); } @@ -181,6 +182,7 @@ tUser.setBalance(tUser.getBalance().add(tPubWithdrawal.getMoney())); userService.updateById(tUser); }else{ + TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); tDriver.setBalance(tDriver.getBalance().add(tPubWithdrawal.getMoney())); if(tPubWithdrawal.getType() == 1){//活动提现 tDriver.setLaveActivityMoney(new BigDecimal(tDriver.getLaveActivityMoney()).add(tPubWithdrawal.getMoney()).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java index 65a54fd..23d2f9b 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java @@ -9,6 +9,7 @@ import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.TPubWithdrawal; +import com.stylefeng.guns.modular.system.util.GoogleCloudStorageUtil; import com.stylefeng.guns.modular.system.util.OBSUploadUtil; import com.stylefeng.guns.modular.system.util.OssUploadUtil; import org.springframework.beans.factory.annotation.Value; @@ -120,23 +121,8 @@ @RequestMapping("/saveApk") public Map<String, Object> saveApk(@RequestPart("myfile") MultipartFile myfile, HttpServletRequest request){ Map<String, Object> m = new HashMap<>(); - /*try { - String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\"; - file.transferTo(new File(fileSavePath + pictureName)); - } catch (Exception e) { - e.printStackTrace(); - } - m.put("imgUrl", gunsProperties.getPictureServerAddress()+"apk/"+pictureName); - } catch (Exception e) { - e.printStackTrace(); - }*/ try { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - MultipartFile file = (MultipartFile) myfile; - - String pictureName = OBSUploadUtil.inputStreamUpload(file); + String pictureName = GoogleCloudStorageUtil.upload(myfile); m.put("imgUrl", pictureName); }catch (Exception e){ e.printStackTrace(); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java index bd2526f..0a8a7dd 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java @@ -168,12 +168,12 @@ EmailUtil.send(email, language == 1 ? "积分兑换已通过审核" : language == 2 ? "Points redemption approved" : "Approbation de l’échange de points", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/complaint_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/complaint_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -182,7 +182,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/complaint_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/complaint_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(tUser.getId()); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java index 40a2a35..22b7d48 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java @@ -15,16 +15,16 @@ import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.controller.util.PushUtil; -import com.stylefeng.guns.modular.system.controller.util.TextToSpeechUtil; import com.stylefeng.guns.modular.system.dao.OrderCancelMapper; import com.stylefeng.guns.modular.system.dao.TSystemPriceMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.ChinaMobileUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.HttpRequestUtil; import com.stylefeng.guns.modular.system.util.PushURL; import com.stylefeng.guns.modular.system.util.ResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -49,6 +49,8 @@ @Controller @RequestMapping("/tOrderPrivateCar") public class TOrderPrivateCarController extends BaseController { + + Logger log = LoggerFactory.getLogger(this.getClass()); private String PREFIX = "/system/tOrderPrivateCar/"; @@ -219,115 +221,74 @@ public Object frozenOrder(@RequestParam Integer tOrderPrivateCarId) throws Exception { TOrderPrivateCar orderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId); - //添加已收入明细 - TDriver tDriver = driverService.selectById(orderPrivateCar.getDriverId()); - orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用 - - //添加已收入明细 - TCompany company = companyService.selectById(orderPrivateCar.getCompanyId()); - Double taxi = company.getSpeMoney().doubleValue(); - Integer language =tDriver.getLanguage(); - BigDecimal d = null;//企业收入 - BigDecimal c = null;//司机收入 - if(company.getIsSpeFixedOrProportional() == 2){//固定 - d = new BigDecimal(taxi); - c = orderPrivateCar.getOrderMoney().subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); - } - if(company.getIsSpeFixedOrProportional() == 1){//比例 - Double price = orderPrivateCar.getStartMoney().doubleValue() + orderPrivateCar.getMileageMoney().doubleValue() + orderPrivateCar.getWaitMoney().doubleValue()+ orderPrivateCar.getDurationMoney().doubleValue() + orderPrivateCar.getLongDistanceMoney().doubleValue(); - d = new BigDecimal(price).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); - c = orderPrivateCar.getOrderMoney().subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); - } - if(orderPrivateCar.getIsFrozen()==1){ - TDriver driver = driverService.selectById(orderPrivateCar.getDriverId()); - driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).subtract(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).subtract(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - driver.setBalance((null != driver.getBalance() ? driver.getBalance() : BigDecimal.ZERO).subtract(c).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - driver.setFrozenMoney(driver.getFrozenMoney().add(c)); - driverService.updateById(driver); - }else{ - TDriver driver = driverService.selectById(orderPrivateCar.getDriverId()); - driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - driver.setBalance((null != driver.getBalance() ? driver.getBalance() : BigDecimal.ZERO).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - driver.setFrozenMoney(driver.getFrozenMoney().subtract(c)); - driverService.updateById(driver); - } - if (orderPrivateCar.getIsFrozen() == 1){ - TOrderPrivateCar orderPrivateCar1 = tOrderPrivateCarService.selectById(tOrderPrivateCarId); - if(orderPrivateCar1.getArriveTime()==null){ - orderPrivateCar1.setArriveTime(orderPrivateCar1.getStartServiceTime()); + if(orderPrivateCar.getIsFrozen() == 1 && orderPrivateCar.getState() < 7){ + if(orderPrivateCar.getArriveTime()==null){ + orderPrivateCar.setArriveTime(orderPrivateCar.getStartServiceTime()); } - orderPrivateCar1 = this.setMoney(orderPrivateCar1, 0D, 0D);//计算费用 - - orderPrivateCar1.setOrderMoney(orderPrivateCar1.getOrderMoney().add(orderPrivateCar1.getParkMoney()).add(orderPrivateCar1.getRoadTollMoney())); + orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用 + orderPrivateCar.setPayManner(1); + orderPrivateCar.setParkMoney(new BigDecimal(0)); + orderPrivateCar.setRoadTollMoney(new BigDecimal(0)); //判断是否首单免费-免费直接完成 - Integer orderNumber = tOrderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>().eq("userId",orderPrivateCar1.getUserId()).last("and (state=8 or state=9)")); - + Integer orderNumber = tOrderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).last("and (state=8 or state=9)")); + if(orderNumber<=0){//判断是否是首单 //判断是否免单 - TUser userInfo = userService.selectById(orderPrivateCar1.getUserId()); + TUser userInfo = userService.selectById(orderPrivateCar.getUserId()); if(userInfo.getFreeMoney().doubleValue()>0d){ - if(orderPrivateCar1.getOrderMoney().compareTo(userInfo.getFreeMoney())<=-1){ - orderPrivateCar1.setState(8); - orderPrivateCar1.setIsFree(2); + if(orderPrivateCar.getOrderMoney().compareTo(userInfo.getFreeMoney())<=0){ + orderPrivateCar.setState(8); + orderPrivateCar.setIsFree(2); //添加已收入明细 - TCompany tCompany = companyService.selectById(orderPrivateCar1.getCompanyId()); - BigDecimal speMoney = tCompany.getSpeMoney(); - - if(tCompany.getIsSpeFixedOrProportional() == 2){//固定 - d = speMoney; - c = orderPrivateCar1.getOrderMoney().subtract(d);//只有出行金额参与抽成,其余归属司机 + TCompany company = companyService.selectById(orderPrivateCar.getCompanyId()); + Double speMoney = company.getSpeMoney().doubleValue(); + BigDecimal d = null;//企业收入 + BigDecimal c = null;//司机收入 + if(company.getIsSpeFixedOrProportional() == 2){//固定 + d = new BigDecimal(speMoney); + c = orderPrivateCar.getOrderMoney().subtract(d);//只有出行金额参与抽成,其余归属司机 } - if(tCompany.getIsSpeFixedOrProportional() == 1){//比例 - BigDecimal price = orderPrivateCar1.getStartMoney().add(orderPrivateCar1.getMileageMoney()).add(new BigDecimal(orderPrivateCar1.getWaitMoney())).add(orderPrivateCar1.getDurationMoney()).add(orderPrivateCar1.getLongDistanceMoney()); - d = price.multiply(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)); - c = orderPrivateCar1.getOrderMoney().subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); + if(company.getIsSpeFixedOrProportional() == 1){//比例 + Double price = orderPrivateCar.getStartMoney().add(orderPrivateCar.getMileageMoney()).add(new BigDecimal(orderPrivateCar.getWaitMoney())).add(orderPrivateCar.getDurationMoney()).add(orderPrivateCar.getLongDistanceMoney()).doubleValue(); + d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); + c = orderPrivateCar.getOrderMoney().subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } - incomeService.saveData(1, orderPrivateCar1.getCompanyId(), 2, orderPrivateCar1.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar1.getDriverId(), 2, orderPrivateCar1.getId(), 1, c.doubleValue()); - TDriver driver = driverService.selectById(orderPrivateCar1.getDriverId()); + incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); + incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); + TDriver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - if (null != driver.getBalance()){ - driver.setBalance(driver.getBalance().add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - }else{ - driver.setBalance(BigDecimal.ZERO.add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - } + driver.setBalance((null != driver.getBalance() ? driver.getBalance() : new BigDecimal("0")).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN)); driverService.updateById(driver); }else{ - orderPrivateCar1.setState(7); - orderPrivateCar1.setOrderMoney(orderPrivateCar1.getOrderMoney().subtract(userInfo.getFreeMoney())); - orderPrivateCar1.setFreeMoney(userInfo.getFreeMoney()); - + orderPrivateCar.setState(7); + orderPrivateCar.setOrderMoney(orderPrivateCar.getOrderMoney().subtract(userInfo.getFreeMoney())); + orderPrivateCar.setFreeMoney(userInfo.getFreeMoney()); + } - + }else{ - orderPrivateCar1.setState(7); + orderPrivateCar.setState(7); } - + }else{ - orderPrivateCar1.setState(7); + orderPrivateCar.setState(7); } - - Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar1.getBindId(),orderPrivateCar1.getTelX()); - if(String.valueOf(map.get("code")).equals("200")){ - orderPrivateCar1.setTelX(""); - orderPrivateCar1.setBindId(""); - } - tOrderPrivateCarService.updateById(orderPrivateCar1); - - - pushUtil.removeTask(orderPrivateCar1.getId(), 1);//删除定时任务,结束推送数据 - systemNoticeService.addSystemNotice(1, language == 1 ? "司机已结束本次行程,谢谢使用" : language == 2 ? - "The driver has finished the trip,thank you for using I-GO" : "Le chauffeur a terminé le trajet, merci d'utiliser I-GO", orderPrivateCar1.getUserId()); - + + tOrderPrivateCarService.updateById(orderPrivateCar); + + + TUser userInfo = userService.selectById(orderPrivateCar.getUserId()); + Integer language1 = userInfo.getLanguage(); + systemNoticeService.addSystemNotice(1, language1 == 1 ? "司机已结束本次行程,谢谢使用" : language1 == 2 ? + "The driver has finished the trip,thank you for using I-GO" : "Le chauffeur a terminé le trajet, merci d'utiliser I-GO", orderPrivateCar.getUserId()); + //回滚司机状态为空闲 - TDriver driver = driverService.selectById(orderPrivateCar1.getDriverId()); + TDriver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setState(2); driverService.updateById(driver); - - TOrderPrivateCar finalOrderTaxi = orderPrivateCar1; + + TOrderPrivateCar finalOrderTaxi = orderPrivateCar; new Thread(new Runnable() { @Override public void run() { @@ -335,34 +296,27 @@ pushUtil.pushOrderState(2, finalOrderTaxi.getDriverId(), finalOrderTaxi.getId(), 1, finalOrderTaxi.getState(), 0, ""); } }).start(); - - TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar1; + + TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar; new Thread(()->{ try { //上报google fleetEngineUtil.reportBillableEvent(finalOrderPrivateCar.getTripId()); - System.err.println("上报时间:{},tripid:{},created_at:{},completed_at:{}"+ System.currentTimeMillis()+ finalOrderPrivateCar.getTripId()+ - finalOrderPrivateCar.getInsertTime().getTime()+finalOrderPrivateCar.getEndServiceTime().getTime()); + log.warn("上报时间:{},tripid:{},created_at:{},completed_at:{}", System.currentTimeMillis(), finalOrderPrivateCar.getTripId(), + finalOrderPrivateCar.getInsertTime().getTime(), finalOrderPrivateCar.getEndServiceTime().getTime()); }catch (Exception e){ e.printStackTrace(); } }).start(); - // 冻结订单需要给司机推送一个消息; - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.frozenOrder(finalOrderPrivateCar.getDriverId(),2); - pushUtil.pushOrderState(2, finalOrderPrivateCar.getDriverId(), finalOrderPrivateCar.getId(), 1, 7, 0, ""); - } - }).start(); + + pushUtil.frozenOrder(orderPrivateCar.getDriverId(), 2); } + orderPrivateCar.setIsFrozen(orderPrivateCar.getIsFrozen()==1?2:1); - tOrderPrivateCarService.updateAllColumnById(orderPrivateCar); - + orderPrivateCar.setIsDispute(1); + tOrderPrivateCarService.updateById(orderPrivateCar); return SUCCESS_TIP; } - @Autowired - private ChinaMobileUtil chinaMobileUtil; @Autowired private PushUtil pushUtil; @Autowired @@ -649,8 +603,8 @@ OrderCancel orderCancel = new OrderCancel(); orderCancel.setOrderId(tOrderPrivateCarId); orderCancel.setOrderType(1); - orderCancel.setReason(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande"); - orderCancel.setRemark(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande"); + orderCancel.setReason("The platform cancelled the order"); + orderCancel.setRemark("The platform cancelled the order"); orderCancel.setUserType(2); orderCancel.setState(2); orderCancel.setInsertTime(new Date()); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.java index 4b72592..7a051e4 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.java @@ -171,11 +171,6 @@ @RequestMapping(value = "/add") @ResponseBody public Object add(TServerCarmodel tServerCarmodel,@RequestParam Integer isPrivateCar) { - int count = tServerCarmodelService.selectCount(new EntityWrapper<TServerCarmodel>().eq("type", 1) - .eq("name", tServerCarmodel.getName()).last(" and not FIND_IN_SET(state,'3')")); - if (count > 0){ - return new ErrorTip(500, "【"+tServerCarmodel.getName()+"】已存在,请重新输入"); - } tServerCarmodel.setInsertTime(new Date()); tServerCarmodel.setState(1); tServerCarmodel.setType(isPrivateCar); @@ -205,11 +200,6 @@ @RequestMapping(value = "/addAcrossCity") @ResponseBody public Object addAcrossCity(TServerCarmodel tServerCarmodel) { - int count = tServerCarmodelService.selectCount(new EntityWrapper<TServerCarmodel>().eq("type", 2) - .eq("name", tServerCarmodel.getName()).last(" and not FIND_IN_SET(state,'3')")); - if (count > 0){ - return new ErrorTip(500, "【"+tServerCarmodel.getName()+"】已存在,请重新输入"); - } tServerCarmodel.setInsertTime(new Date()); tServerCarmodel.setState(1); tServerCarmodel.setType(2); @@ -239,11 +229,6 @@ @RequestMapping(value = "/addCharter") @ResponseBody public Object addCharter(TServerCarmodel tServerCarmodel) { - int count = tServerCarmodelService.selectCount(new EntityWrapper<TServerCarmodel>().eq("type", 3) - .eq("name", tServerCarmodel.getName()).last(" and not FIND_IN_SET(state,'3')")); - if (count > 0){ - return new ErrorTip(500, "【"+tServerCarmodel.getName()+"】已存在,请重新输入"); - } tServerCarmodel.setInsertTime(new Date()); tServerCarmodel.setState(1); tServerCarmodel.setType(3); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java index 17abe1c..a85f1dd 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java @@ -227,7 +227,7 @@ .last(" and not FIND_IN_SET(state,'3')")); if (count > 0){ TServerCarmodel one = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId()); - return new ErrorTip(500, "【"+one.getName()+"】已存在,请重新选择"); + return new ErrorTip(500, "【"+one.getChineseName()+"】已存在,请重新选择"); } tSystemPrice.setCompanyId(ShiroKit.getUser().getObjectId()); tSystemPrice.setType(1); @@ -247,7 +247,7 @@ .last(" and not FIND_IN_SET(state,'3')")); if (count > 0){ TServerCarmodel one = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId()); - return new ErrorTip(500, "【"+one.getName()+"】已存在,请重新选择"); + return new ErrorTip(500, "【"+one.getChineseName()+"】已存在,请重新选择"); } tSystemPrice.setCompanyId(ShiroKit.getUser().getObjectId()); tSystemPrice.setType(4); @@ -263,7 +263,7 @@ @ResponseBody public Object update(TSystemPrice tSystemPrice) { TSystemPrice obj = tSystemPriceService.selectById(tSystemPrice.getId()); - if (obj.getServerCarModelId() != tSystemPrice.getServerCarModelId()){ + if (obj.getServerCarModelId().compareTo(tSystemPrice.getServerCarModelId()) != 0){ //判断当前公司是否添加过该专车车型价格配置 int count = tSystemPriceService.selectCount(new EntityWrapper<TSystemPrice>() .eq("type", 1) @@ -272,7 +272,7 @@ .last(" and not FIND_IN_SET(state,'3')")); if (count > 0){ TServerCarmodel one = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId()); - return new ErrorTip(500, "【"+one.getName()+"】已存在,请重新选择"); + return new ErrorTip(500, "【"+one.getChineseName()+"】已存在,请重新选择"); } } tSystemPriceService.updateById(tSystemPrice); @@ -283,7 +283,7 @@ @ResponseBody public Object smallupdate(TSystemPrice tSystemPrice) { TSystemPrice obj = tSystemPriceService.selectById(tSystemPrice.getId()); - if (obj.getServerCarModelId() != tSystemPrice.getServerCarModelId()){ + if (obj.getServerCarModelId().compareTo(tSystemPrice.getServerCarModelId()) != 0){ //判断当前公司是否添加过该专车车型价格配置 int count = tSystemPriceService.selectCount(new EntityWrapper<TSystemPrice>() .eq("isPackage", 1) @@ -292,7 +292,7 @@ .last(" and not FIND_IN_SET(state,'3')")); if (count > 0){ TServerCarmodel one = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId()); - return new ErrorTip(500, "【"+one.getName()+"】已存在,请重新选择"); + return new ErrorTip(500, "【"+one.getChineseName()+"】已存在,请重新选择"); } } tSystemPriceService.updateById(tSystemPrice); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java index 97e3140..61cb775 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java @@ -3,6 +3,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.stylefeng.guns.modular.system.util.GoogleCloudStorageUtil; import com.stylefeng.guns.modular.system.util.OBSUploadUtil; import com.stylefeng.guns.modular.system.util.OssUploadUtil ; import org.springframework.stereotype.Controller; @@ -104,7 +105,7 @@ String pictureName = ""; try { //文件上传,具体根据实际替换 - pictureName = OBSUploadUtil.inputStreamUpload(picture); + pictureName = GoogleCloudStorageUtil.upload(picture); String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}"; if (callback == null) { diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/PushUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/PushUtil.java index fd365f8..17be056 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/PushUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/PushUtil.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; +import com.stylefeng.guns.modular.system.util.PushURL; import com.stylefeng.guns.modular.system.util.RedisUtil; @@ -67,7 +68,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println("后台 冻结订单 向司机端推送消息"+jsonObject1.getString("msg")); @@ -104,7 +105,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -143,7 +144,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -178,7 +179,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -216,7 +217,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -252,7 +253,7 @@ params.add("id", id.toString()); params.add("type", type.toString()); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -291,7 +292,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -339,7 +340,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -380,7 +381,7 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject(PushURL.zull_user_url + "/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java index 8f81f8e..803c2d8 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java @@ -50,9 +50,9 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. - try (OutputStream out = new FileOutputStream("/usr/local/nginx/html/files/audio/" + fileName)) { + try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); - return "http://182.160.16.251:81/files/audio/" + fileName; + return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ e.printStackTrace(); } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java index c7f3e67..2b5e52b 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java @@ -5,6 +5,7 @@ import com.stylefeng.guns.core.common.exception.BizExceptionEnum; import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.util.ObsUploadUtil; +import com.stylefeng.guns.modular.system.util.GoogleCloudStorageUtil; import com.stylefeng.guns.modular.system.util.OBSUploadUtil; import com.stylefeng.guns.modular.system.util.OssUploadUtil; import org.slf4j.Logger; @@ -67,7 +68,7 @@ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); if (file.getSize() != 0) { - ossUpload = OBSUploadUtil.inputStreamUpload(file); + ossUpload = GoogleCloudStorageUtil.upload(file); // ossUpload = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), file); m.put("imgUrl", ossUpload); } @@ -84,10 +85,10 @@ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) picture; - String pictureName = OBSUploadUtil.inputStreamUpload(file); + String pictureName = GoogleCloudStorageUtil.upload(file); // String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture); return pictureName; - } catch (IOException e1) { + } catch (Exception e1) { return null; } } @@ -126,7 +127,7 @@ // 文件全路径 //pictureName = gunsProperties.getPictureServerAddress() + pictureName; // pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture); - pictureName = OBSUploadUtil.inputStreamUpload(picture); + pictureName = GoogleCloudStorageUtil.upload(picture); String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}"; if (callback == null) { diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml index 52db9f7..8efd21f 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml @@ -21,7 +21,7 @@ <select id="getLineList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT * FROM (SELECT model.modelStr,IFNULL(ls.num,0) as shiftNum,su.`name` as insertUser,IFNULL(lc.num,0) as companyNum,ll.* FROM t_line as ll LEFT JOIN ( - SELECT GROUP_CONCAT(sc.`name` SEPARATOR '、') as modelStr,lp.lineId FROM t_line_price as lp + SELECT GROUP_CONCAT(sc.chineseName SEPARATOR '、') as modelStr,lp.lineId FROM t_line_price as lp LEFT JOIN t_server_carmodel as sc on sc.id = lp.serverCarModelId where sc.type = 2 and lp.state != 3 GROUP BY lp.lineId) as model on model.lineId = ll.id LEFT JOIN (SELECT COUNT(id) as num,lineId FROM t_line_shift where state != 3 GROUP BY lineId) as ls on ls.lineId = ll.id @@ -51,7 +51,7 @@ <!--根据线路ID查询线路价格--> <select id="getLinePriceList" resultType="java.util.Map"> - SELECT sc.`name`,lp.* FROM t_line_price as lp + SELECT sc.chineseName as `name`,lp.* FROM t_line_price as lp LEFT JOIN t_server_carmodel as sc on sc.id = lp.serverCarModelId where lp.lineId = #{lineId} and lp.state != 3 </select> diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml index dfe45c9..8ca56f2 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml @@ -74,7 +74,7 @@ <select id="getCrossCityOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT * FROM ( SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, - sc.`name` as serverCarModel,ll.`name` as lineName,ot.* FROM t_order_cross_city as ot + sc.chineseName as serverCarModel,ll.`name` as lineName,ot.* FROM t_order_cross_city as ot LEFT JOIN t_user as ui on ui.id = ot.userId LEFT JOIN t_driver as di on di.id = ot.driverId LEFT JOIN t_car as ci on ci.id= ot.carId @@ -143,7 +143,7 @@ case when ot.payType = 1 then '微信' when ot.payType = 2 then '支付宝' when ot.payType = 3 then '余额' else '' end as payTypeStr, - sc.`name` as serverCarModel, + sc.chineseName as serverCarModel, CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver, CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, ll.`name` as lineName, diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml index e5ed740..8306070 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml @@ -78,7 +78,7 @@ <!--根据条件查询专车订单列表--> <select id="getPrivateCarOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, - sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot + sc.chineseName as serverCarModel,ot.* FROM t_order_private_car as ot LEFT JOIN t_user as ui on ui.id = ot.userId LEFT JOIN t_driver as di on di.id = ot.driverId LEFT JOIN t_car as ci on ci.id= ot.carId @@ -150,7 +150,7 @@ case when ot.isFree = 2 then ot.orderMoney when ot.freeMoney > ot.orderMoney then ot.orderMoney else ot.freeMoney end as freeMoney1, - sc.`name` as serverCarModel, + sc.chineseName as serverCarModel, case when income1.type = 1 then income1.money else 0 end as platIncome, case when income1.type = 2 then income1.money else 0 end as companyIncome, case when income1.type = 3 then income1.money else 0 end as franchiseeIncome, @@ -176,7 +176,7 @@ <!--根据条件查询专车订单列表noPage--> <select id="getPrivateCarOrderListNoPage" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, - sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot + sc.chineseName as serverCarModel,ot.* FROM t_order_private_car as ot LEFT JOIN t_user as ui on ui.id = ot.userId LEFT JOIN t_driver as di on di.id = ot.driverId LEFT JOIN t_car as ci on ci.id= ot.carId diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml index fd7f1c1..0fc1979 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml @@ -6,7 +6,9 @@ <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TServerCarmodel"> <id column="id" property="id" /> <result column="type" property="type" /> - <result column="name" property="name" /> + <result column="chineseName" property="chineseName" /> + <result column="englishName" property="englishName" /> + <result column="frenchName" property="frenchName" /> <result column="img" property="img" /> <result column="state" property="state" /> <result column="insertTime" property="insertTime" /> @@ -14,7 +16,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, type, name, img, state, insertTime + id, type, chineseName, englishName, frenchName, img, state, insertTime </sql> <!--根据条件查询服务车型列表--> @@ -22,7 +24,7 @@ SELECT * FROM t_server_carmodel as o <where> <if test="name != null and name != ''"> - and o.name LIKE CONCAT('%',#{name},'%') + and o.chineseName LIKE CONCAT('%',#{name},'%') or o.englishName LIKE CONCAT('%',#{name},'%') or o.frenchName LIKE CONCAT('%',#{name},'%') </if> <if test="state != null and state != ''"> and o.state = #{state} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml index 6e92c48..ae17306 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml @@ -20,7 +20,7 @@ <!--查询专车价格设置--> <select id="getSpecialPriceList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.`name`,sc.img,sp.state from t_system_price as sp + SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.chineseName as `name`,sc.img,sp.state from t_system_price as sp LEFT JOIN t_server_carmodel as sc on sc.id = sp.serverCarModelId) as o <where> o.type = 1 and o.state != 3 and o.companyId = #{companyId} @@ -35,7 +35,7 @@ </select> <!--查询小件物流价格设置--> <select id="getSpecialPriceList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.`name`,sc.img,sp.state from t_system_price as sp + SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.chineseName as `name`,sc.img,sp.state from t_system_price as sp LEFT JOIN t_server_carmodel as sc on sc.id = sp.serverCarModelId) as o <where> o.type = 4 and o.state != 3 and o.companyId = #{companyId} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TServerCarmodel.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TServerCarmodel.java index b6f456b..4466c13 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TServerCarmodel.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TServerCarmodel.java @@ -35,7 +35,15 @@ /** * 车型名称 */ - private String name; + private String chineseName; + /** + * 车型名称 + */ + private String englishName; + /** + * 车型名称 + */ + private String frenchName; /** * 车型图片 */ @@ -85,15 +93,31 @@ public void setType(Integer type) { this.type = type; } - - public String getName() { - return name; + + public String getChineseName() { + return chineseName; } - - public void setName(String name) { - this.name = name; + + public void setChineseName(String chineseName) { + this.chineseName = chineseName; } - + + public String getEnglishName() { + return englishName; + } + + public void setEnglishName(String englishName) { + this.englishName = englishName; + } + + public String getFrenchName() { + return frenchName; + } + + public void setFrenchName(String frenchName) { + this.frenchName = frenchName; + } + public String getImg() { return img; } @@ -122,16 +146,19 @@ protected Serializable pkVal() { return this.id; } - + @Override public String toString() { return "TServerCarmodel{" + - "id=" + id + - ", type=" + type + - ", name=" + name + - ", img=" + img + - ", state=" + state + - ", insertTime=" + insertTime + - "}"; + "id=" + id + + ", type=" + type + + ", chineseName='" + chineseName + '\'' + + ", englishName='" + englishName + '\'' + + ", frenchName='" + frenchName + '\'' + + ", img='" + img + '\'' + + ", price='" + price + '\'' + + ", state=" + state + + ", insertTime=" + insertTime + + '}'; } } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java index 9a744f8..723d671 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java @@ -327,28 +327,72 @@ for (TUser user : tUsers) { if(ToolUtil.isNotEmpty(user.getEmail())){ + Integer language = user.getLanguage(); for (String key : strings) { Double aDouble = map.get(key); String path1 = templatePath + "user/discount.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); - document1.getElementById("chinese").remove(); - document1.getElementById("french").remove(); - document1.getElementsByTag("title").get(0).text("Discount activities"); - Element english_user = document1.getElementById("english_user"); - english_user.text("Hello " + user.getNickName() + ","); - Element english_ride = document1.getElementById("english_ride"); - english_ride.text("Discount for I-GO " + key); - Element english_discount = document1.getElementById("english_discount"); - english_discount.text(" Enjoy " + new BigDecimal((100 - aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% off your trip fare."); - - EmailUtil.send(user.getEmail(), "Discount activities", document1.html()); + if(1 == language){ + document1.getElementById("english").remove(); + document1.getElementById("french").remove(); + document1.getElementsByTag("title").get(0).text("折扣活动"); + Element chinese_user = document1.getElementById("chinese_user"); + chinese_user.text("您好 " + user.getNickName() + ","); + Element chinese_ride = document1.getElementById("chinese_ride"); + chinese_ride.text("I-GO" + key + "打折活动奖励"); + Element chinese_go = document1.getElementById("chinese_go"); + if("ride".equals(key)){ + chinese_go.text("去打车"); + }else{ + chinese_go.text("寄包裹"); + } + Element chinese_discount = document1.getElementById("chinese_discount"); + chinese_discount.text("每单费用折扣" + new BigDecimal((100 - aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "%"); + EmailUtil.send(user.getEmail(), "折扣活动", document1.html()); + } + if(2 == language){ + document1.getElementById("chinese").remove(); + document1.getElementById("french").remove(); + document1.getElementsByTag("title").get(0).text("Discount activities"); + Element english_user = document1.getElementById("english_user"); + english_user.text("Hello " + user.getNickName() + ","); + Element english_ride = document1.getElementById("english_ride"); + english_ride.text("Discount for I-GO " + key); + Element english_go = document1.getElementById("english_go"); + if("ride".equals(key)){ + english_go.text("REQUEST A RIDE"); + }else{ + english_go.text("REQUEST A DELIVERY"); + } + Element english_discount = document1.getElementById("english_discount"); + english_discount.text(" Enjoy " + new BigDecimal((100 - aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% off your trip fare."); + EmailUtil.send(user.getEmail(), "Discount activities", document1.html()); + } + if(3 == language){ + document1.getElementById("chinese").remove(); + document1.getElementById("english").remove(); + document1.getElementsByTag("title").get(0).text("Activités à rabais"); + Element french_user = document1.getElementById("french_user"); + french_user.text("Hello " + user.getNickName() + ","); + Element french_ride = document1.getElementById("french_ride"); + french_ride.text("Remise pour I-GO (commande de " + key + ")!"); + Element french_go = document1.getElementById("french_go"); + if("ride".equals(key)){ + french_go.text("Déplacez-vous avec I-GO"); + }else{ + french_go.text("Demander une livraison avec I-GO"); + } + Element french_discount = document1.getElementById("french_discount"); + french_discount.text("Profitez aujourd’hui de 10" + new BigDecimal((100 - aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% de réduction sur les commandes de course, allez sur la plate-forme I-GO pour voir le détail."); + EmailUtil.send(user.getEmail(), "Activités à rabais", document1.html()); + } //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/discount_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/discount_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -357,7 +401,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/discount_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/discount_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(user.getId()); diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ChinaMobileUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ChinaMobileUtil.java index 1b5449c..f99e943 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ChinaMobileUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ChinaMobileUtil.java @@ -1,188 +1,188 @@ -package com.stylefeng.guns.modular.system.util; - -import com.alibaba.fastjson.JSONObject; -import com.aliyuncs.CommonRequest; -import com.aliyuncs.CommonResponse; -import com.aliyuncs.DefaultAcsClient; -import com.aliyuncs.IAcsClient; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.exceptions.ServerException; -import com.aliyuncs.http.MethodType; -import com.aliyuncs.profile.DefaultProfile; -import com.stylefeng.guns.core.util.MD5Util; -import org.apache.commons.codec.binary.Base64; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -/** - * 中国移动工具类 - */ -@Component -public class ChinaMobileUtil { - - private static String APIKey = "LTAI4G1BpRaihVRZp1RS8Stn"; - - private static String SecretKey = "PDR7uUEGNf0wIPPVCPCVdySgTwCr90"; - - @Autowired - private HttpClientUtil httpClientUtil; - - - /** - * 绑定小号 - * @param phoneA - * @param phoneB - * @param areaCode - * @return - * @throws Exception - */ - public static Map<String, String> midAxbBindSend(String phoneA, String phoneB, Integer areaCode) throws Exception{ - Map<String, String> map1 = new HashMap<>(); - map1.put("code", "-1"); - map1.put("msg", ""); - map1.put("telX", ""); - map1.put("bindId", ""); - return map1; - //暂时屏蔽-后期放开 - /*DefaultProfile profile = DefaultProfile.getProfile( - "cn-hangzhou", // 地域ID - APIKey, // 您的AccessKey ID - SecretKey ); // 您的AccessKey Secret - IAcsClient client = new DefaultAcsClient(profile); - - CommonRequest request = new CommonRequest(); - request.setMethod(MethodType.POST); - request.setDomain("dyplsapi.aliyuncs.com"); - request.setVersion("2017-05-25"); - request.setAction("BindAxb"); - // 绑定关系的过期时间。必须晚于当前时间1分钟以上。 - request.putQueryParameter("Expiration", DateUtil.format(new Date(new Date().getTime()+7 * 24 * 60 * 60*1000L),"yyyy-MM-dd HH:mm:ss")); - // 号码池Key - request.putQueryParameter("PoolKey", "FC100000119206151"); - // AXB中的B号码 - request.putQueryParameter("PhoneNoB", phoneB); - // AXB中的A号码 - request.putQueryParameter("PhoneNoA", phoneA); - // 指定城市进行X号码的选号。 - request.putQueryParameter("ExpectCity", "北京"); - // 是否需要针对该绑定关系产生的所有通话录制通话录音。 - request.putQueryParameter("IsRecordingEnabled", "false"); - Map<String, String> map1 = new HashMap<>(); - try { - CommonResponse response = client.getCommonResponse(request); - // 处理请求结果 - System.out.println(response.getData()); - JSONObject jsonObject = JSONObject.parseObject(response.getData()); - if(jsonObject.getString("Code").equals("OK")){ - map1.put("code", "200"); - map1.put("msg", jsonObject.getString("Message")); - map1.put("telX", jsonObject.getJSONObject("SecretBindDTO").getString("SecretNo")); - map1.put("bindId", jsonObject.getJSONObject("SecretBindDTO").getString("SubsId")); - }else{ - map1.put("code", jsonObject.getString("Code")); - map1.put("msg", jsonObject.getString("Message")); - } - } catch (ServerException e) { - e.printStackTrace(); - map1.put("code", "-1"); - map1.put("msg", e.getErrMsg()); - } catch (ClientException e) { - System.out.println("ErrCode:" + e.getErrCode()); - System.out.println("ErrMsg:" + e.getErrMsg()); - System.out.println("RequestId:" + e.getRequestId()); - map1.put("code", "-1"); - map1.put("msg", e.getErrMsg()); - } - return map1;*/ - } - - - /** - * 解绑小号关系 - * @param bindId 绑定关系id - * @return - * @throws Exception - */ - public static Map<String, String> midAxbUnBindSend(String bindId,String secretNo) throws Exception{ - DefaultProfile profile = DefaultProfile.getProfile( - "cn-hangzhou", // 地域ID - APIKey, // 您的AccessKey ID - SecretKey ); // 您的AccessKey Secret - IAcsClient client = new DefaultAcsClient(profile); - - CommonRequest request = new CommonRequest(); - request.setMethod(MethodType.POST); - request.setDomain("dyplsapi.aliyuncs.com"); - request.setVersion("2017-05-25"); - request.setAction("UnbindSubscription"); - // 绑定关系的过期时间。必须晚于当前时间1分钟以上。 - // 号码池Key - request.putQueryParameter("PoolKey", "FC100000119206151"); - // 隐私号码。调用BindAXG等号码绑定接口时指定或自动分配的X号码。 - request.putQueryParameter("SecretNo", secretNo); - // 绑定关系ID。 - // - //可以在控制台的号码管理 > 号码详情中查看绑定关系ID,或者在调用BindAxb等号码绑定API时查看返回参数中的SubsId。 - request.putQueryParameter("SubsId", bindId); - Map<String, String> map1 = new HashMap<>(); - try { - CommonResponse response = client.getCommonResponse(request); - // 处理请求结果 - System.out.println(response.getData()); - JSONObject jsonObject = JSONObject.parseObject(response.getData()); - if(jsonObject.getString("Code").equals("OK")){ - map1.put("code", "200"); - map1.put("msg", jsonObject.getString("Message")); - }else{ - map1.put("code", jsonObject.getString("Code")); - map1.put("msg", jsonObject.getString("Message")); - } - } catch (ServerException e) { - e.printStackTrace(); - map1.put("code", "-1"); - map1.put("msg", e.getErrMsg()); - } catch (ClientException e) { - System.out.println("ErrCode:" + e.getErrCode()); - System.out.println("ErrMsg:" + e.getErrMsg()); - System.out.println("RequestId:" + e.getRequestId()); - map1.put("code", "-1"); - map1.put("msg", e.getErrMsg()); - } - return map1; - } - - public static void main(String[] args) throws IOException { - try{ - // System.out.println(midAxbBindSend("18380476116","13688394165",null)); - System.out.println(midAxbUnBindSend("1000031640138366","17150145472")); - }catch (Exception e){ - - } - - } - - - public Map<String, String> HeaderUtils(String APIKey, String SecretKey) throws Exception{ - Map<String, String> header = new HashMap<>(); - long time = System.currentTimeMillis(); - String signStr = MD5Util.encrypt(APIKey + SecretKey + time); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("apiKey", APIKey); - jsonObject.put("time", time); - jsonObject.put("sign", signStr); - Base64 base64 = new Base64(); - String s = base64.encodeToString(jsonObject.toJSONString().getBytes("UTF-8")); - header.put("header", s); - - jsonObject = new JSONObject(); - jsonObject.put("platformId", ""); - jsonObject.put("secret", ""); - s = base64.encodeToString(jsonObject.toJSONString().getBytes("UTF-8")); - header.put("accessCode", s); - return header; - } -} +//package com.stylefeng.guns.modular.system.util; +// +//import com.alibaba.fastjson.JSONObject; +//import com.aliyuncs.CommonRequest; +//import com.aliyuncs.CommonResponse; +//import com.aliyuncs.DefaultAcsClient; +//import com.aliyuncs.IAcsClient; +//import com.aliyuncs.exceptions.ClientException; +//import com.aliyuncs.exceptions.ServerException; +//import com.aliyuncs.http.MethodType; +//import com.aliyuncs.profile.DefaultProfile; +//import com.stylefeng.guns.core.util.MD5Util; +//import org.apache.commons.codec.binary.Base64; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Component; +// +//import java.io.IOException; +//import java.util.HashMap; +//import java.util.Map; +// +///** +// * 中国移动工具类 +// */ +//@Component +//public class ChinaMobileUtil { +// +// private static String APIKey = "LTAI4G1BpRaihVRZp1RS8Stn"; +// +// private static String SecretKey = "PDR7uUEGNf0wIPPVCPCVdySgTwCr90"; +// +// @Autowired +// private HttpClientUtil httpClientUtil; +// +// +// /** +// * 绑定小号 +// * @param phoneA +// * @param phoneB +// * @param areaCode +// * @return +// * @throws Exception +// */ +// public static Map<String, String> midAxbBindSend(String phoneA, String phoneB, Integer areaCode) throws Exception{ +// Map<String, String> map1 = new HashMap<>(); +// map1.put("code", "-1"); +// map1.put("msg", ""); +// map1.put("telX", ""); +// map1.put("bindId", ""); +// return map1; +// //暂时屏蔽-后期放开 +// /*DefaultProfile profile = DefaultProfile.getProfile( +// "cn-hangzhou", // 地域ID +// APIKey, // 您的AccessKey ID +// SecretKey ); // 您的AccessKey Secret +// IAcsClient client = new DefaultAcsClient(profile); +// +// CommonRequest request = new CommonRequest(); +// request.setMethod(MethodType.POST); +// request.setDomain("dyplsapi.aliyuncs.com"); +// request.setVersion("2017-05-25"); +// request.setAction("BindAxb"); +// // 绑定关系的过期时间。必须晚于当前时间1分钟以上。 +// request.putQueryParameter("Expiration", DateUtil.format(new Date(new Date().getTime()+7 * 24 * 60 * 60*1000L),"yyyy-MM-dd HH:mm:ss")); +// // 号码池Key +// request.putQueryParameter("PoolKey", "FC100000119206151"); +// // AXB中的B号码 +// request.putQueryParameter("PhoneNoB", phoneB); +// // AXB中的A号码 +// request.putQueryParameter("PhoneNoA", phoneA); +// // 指定城市进行X号码的选号。 +// request.putQueryParameter("ExpectCity", "北京"); +// // 是否需要针对该绑定关系产生的所有通话录制通话录音。 +// request.putQueryParameter("IsRecordingEnabled", "false"); +// Map<String, String> map1 = new HashMap<>(); +// try { +// CommonResponse response = client.getCommonResponse(request); +// // 处理请求结果 +// System.out.println(response.getData()); +// JSONObject jsonObject = JSONObject.parseObject(response.getData()); +// if(jsonObject.getString("Code").equals("OK")){ +// map1.put("code", "200"); +// map1.put("msg", jsonObject.getString("Message")); +// map1.put("telX", jsonObject.getJSONObject("SecretBindDTO").getString("SecretNo")); +// map1.put("bindId", jsonObject.getJSONObject("SecretBindDTO").getString("SubsId")); +// }else{ +// map1.put("code", jsonObject.getString("Code")); +// map1.put("msg", jsonObject.getString("Message")); +// } +// } catch (ServerException e) { +// e.printStackTrace(); +// map1.put("code", "-1"); +// map1.put("msg", e.getErrMsg()); +// } catch (ClientException e) { +// System.out.println("ErrCode:" + e.getErrCode()); +// System.out.println("ErrMsg:" + e.getErrMsg()); +// System.out.println("RequestId:" + e.getRequestId()); +// map1.put("code", "-1"); +// map1.put("msg", e.getErrMsg()); +// } +// return map1;*/ +// } +// +// +// /** +// * 解绑小号关系 +// * @param bindId 绑定关系id +// * @return +// * @throws Exception +// */ +// public static Map<String, String> midAxbUnBindSend(String bindId,String secretNo) throws Exception{ +// DefaultProfile profile = DefaultProfile.getProfile( +// "cn-hangzhou", // 地域ID +// APIKey, // 您的AccessKey ID +// SecretKey ); // 您的AccessKey Secret +// IAcsClient client = new DefaultAcsClient(profile); +// +// CommonRequest request = new CommonRequest(); +// request.setMethod(MethodType.POST); +// request.setDomain("dyplsapi.aliyuncs.com"); +// request.setVersion("2017-05-25"); +// request.setAction("UnbindSubscription"); +// // 绑定关系的过期时间。必须晚于当前时间1分钟以上。 +// // 号码池Key +// request.putQueryParameter("PoolKey", "FC100000119206151"); +// // 隐私号码。调用BindAXG等号码绑定接口时指定或自动分配的X号码。 +// request.putQueryParameter("SecretNo", secretNo); +// // 绑定关系ID。 +// // +// //可以在控制台的号码管理 > 号码详情中查看绑定关系ID,或者在调用BindAxb等号码绑定API时查看返回参数中的SubsId。 +// request.putQueryParameter("SubsId", bindId); +// Map<String, String> map1 = new HashMap<>(); +// try { +// CommonResponse response = client.getCommonResponse(request); +// // 处理请求结果 +// System.out.println(response.getData()); +// JSONObject jsonObject = JSONObject.parseObject(response.getData()); +// if(jsonObject.getString("Code").equals("OK")){ +// map1.put("code", "200"); +// map1.put("msg", jsonObject.getString("Message")); +// }else{ +// map1.put("code", jsonObject.getString("Code")); +// map1.put("msg", jsonObject.getString("Message")); +// } +// } catch (ServerException e) { +// e.printStackTrace(); +// map1.put("code", "-1"); +// map1.put("msg", e.getErrMsg()); +// } catch (ClientException e) { +// System.out.println("ErrCode:" + e.getErrCode()); +// System.out.println("ErrMsg:" + e.getErrMsg()); +// System.out.println("RequestId:" + e.getRequestId()); +// map1.put("code", "-1"); +// map1.put("msg", e.getErrMsg()); +// } +// return map1; +// } +// +// public static void main(String[] args) throws IOException { +// try{ +// // System.out.println(midAxbBindSend("18380476116","13688394165",null)); +// System.out.println(midAxbUnBindSend("1000031640138366","17150145472")); +// }catch (Exception e){ +// +// } +// +// } +// +// +// public Map<String, String> HeaderUtils(String APIKey, String SecretKey) throws Exception{ +// Map<String, String> header = new HashMap<>(); +// long time = System.currentTimeMillis(); +// String signStr = MD5Util.encrypt(APIKey + SecretKey + time); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("apiKey", APIKey); +// jsonObject.put("time", time); +// jsonObject.put("sign", signStr); +// Base64 base64 = new Base64(); +// String s = base64.encodeToString(jsonObject.toJSONString().getBytes("UTF-8")); +// header.put("header", s); +// +// jsonObject = new JSONObject(); +// jsonObject.put("platformId", ""); +// jsonObject.put("secret", ""); +// s = base64.encodeToString(jsonObject.toJSONString().getBytes("UTF-8")); +// header.put("accessCode", s); +// return header; +// } +//} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java index 830df4d..a2e0dd8 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java @@ -50,47 +50,36 @@ Properties props = new Properties(); //选择ssl方式 gmailssl(props); - + final String username = "i-gotech@i-go.group";// gmail 邮箱 - final String password = "mhizkqkhuknbitps";// Google应用专用密码 - // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance - // Session.getDefaultInstance 会将username,password保存在session会话中 - // Session.getInstance 不进行保存 + final String password = "rvbmuovvpocmhast";// Google应用专用密码 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); - MimeMessage msg = new MimeMessage(session); - //2.设置发件人地址 - msg.setFrom(new InternetAddress(sentToEmail)); - /** - * 3.设置收件人地址(可以增加多个收件人、抄送、密送),即下面这一行代码书写多行 - * MimeMessage.RecipientType.TO:发送 - * MimeMessage.RecipientType.CC:抄送 - * MimeMessage.RecipientType.BCC:密送 - */ - msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(sentToEmail)); - //4.设置邮件主题 - msg.setSubject(subject, "UTF-8"); - // 6. 创建文本"节点" + // 创建默认的MimeMessage对象 + MimeMessage message = new MimeMessage(session); + // 设置发件人 + message.setFrom(new InternetAddress(username)); + // 设置收件人 + message.addRecipient(Message.RecipientType.TO, new InternetAddress(sentToEmail)); + // 设置邮件主题 + message.setSubject(subject,"UTF-8"); + // 设置邮件内容 MimeBodyPart text = new MimeBodyPart(); - // 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片 - text.setContent(content, "text/html;charset=UTF-8"); - // 7. (文本+图片)设置 文本 和 图片"节点"的关系(将 文本 和 图片"节点"合成一个混合"节点") - MimeMultipart mm_text_image = new MimeMultipart(); - mm_text_image.addBodyPart(text); - mm_text_image.setSubType("related"); // 关联关系 - // 11. 设置整个邮件的关系(将最终的混合"节点"作为邮件的内容添加到邮件对象) - msg.setContent(mm_text_image); + text.setContent(content,"text/html;charset=UTF-8"); + MimeMultipart mimeMultipart = new MimeMultipart(); + mimeMultipart.addBodyPart(text); + mimeMultipart.setSubType("related"); + message.setContent(mimeMultipart); //设置邮件的发送时间,默认立即发送 - msg.setSentDate(new Date()); - - Transport transport = session.getTransport(); - transport.connect(); - transport.sendMessage(msg, msg.getAllRecipients()); - transport.close(); + message.setSentDate(new Date()); + + // 发送消息 + Transport.send(message); + System.out.println("Sent message successfully...."); return true; } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java new file mode 100644 index 0000000..57d8338 --- /dev/null +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java @@ -0,0 +1,86 @@ +package com.stylefeng.guns.modular.system.util; + +import com.google.cloud.WriteChannel; +import com.google.cloud.storage.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; + +/** + * google对象存储 + * @author zhibing.pu + * @Date 2024/8/31 9:18 + */ +public class GoogleCloudStorageUtil { + + + + public static String upload(MultipartFile file){ + // The ID of your GCP project + // String projectId = "your-project-id"; + + // The ID of your GCS bucket + // String bucketName = "your-unique-bucket-name"; + + // The ID of your GCS object + // String objectName = "your-object-name"; + + // The path to your file to upload + // String filePath = "path/to/your/file" + String fileName = file.getOriginalFilename(); + String projectId = "i-go-gcp"; + String bucketName = "i-go"; + Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + BlobId blobId = BlobId.of(bucketName, fileName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobWriteOption precondition; + if (storage.get(bucketName, fileName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobWriteOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobWriteOption.generationMatch( + storage.get(bucketName, fileName).getGeneration()); + } + try { + storage.createFrom(blobInfo, file.getInputStream(), precondition); + System.out.println( + "File uploaded to bucket " + bucketName + " as " + fileName); + + makeObjectPublic(projectId, bucketName, fileName); + return "https://storage.googleapis.com/i-go/" + fileName; + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + /** + * 设置对象公开访问 + * @param projectId + * @param bucketName + * @param objectName + */ + public static void makeObjectPublic(String projectId, String bucketName, String objectName) { + // String projectId = "your-project-id"; + // String bucketName = "your-bucket-name"; + // String objectName = "your-object-name"; + Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + BlobId blobId = BlobId.of(bucketName, objectName); + storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER)); + + System.out.println( + "Object " + objectName + " in bucket " + bucketName + " was made publicly readable"); + } + +} diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java index 22fe443..ae6e9f6 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java @@ -25,6 +25,7 @@ /** * Fleet Engine API 工具类 + * * @author zhibing.pu * @Date 2024/5/17 9:59 */ @@ -34,72 +35,78 @@ static Logger logger = LoggerFactory.getLogger(FleetEngineUtil.class); - private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; - - private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; - - private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; - - private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; - - private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; - - private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts"; + + private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; + + private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; + + private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; + + private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; + + private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; + + private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; + + private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; + + private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; + + private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; private final String provider = "i-go-odrd-testing"; + +// private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-gcp.iam.gserviceaccount.com"; +// +// private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-gcp.iam.gserviceaccount.com"; +// +// private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-gcp.iam.gserviceaccount.com"; +// +// private final String provider = "i-go-gcp"; @Autowired private RedisUtil redisUtil; - - - - /** * 获取jwt token + * * @param type 0=服务端,1=乘客,2=司机 * @return */ - public Map<String, Object> fleetEngineAuth(int type, String id){ + public Map<String, Object> fleetEngineAuth(int type, String id) { try { //谷歌云服务器使用这部分代码 -// AuthTokenMinter minter = AuthTokenMinter.builder() -// //服务端签名 -// .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) -// //司机端签名 -// .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) -// //乘客端签名 -// .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) -// .build(); AuthTokenMinter minter = AuthTokenMinter.builder() //服务端签名 - .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) + .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) //司机端签名 - .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) + .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) //乘客端签名 - .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) + .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) .build(); +// AuthTokenMinter minter = AuthTokenMinter.builder() +// //服务端签名 +// .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) +// //司机端签名 +// .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) +// //乘客端签名 +// .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) +// .build(); String jwt = ""; Long expirationTimestamp = 0L; - if(0 == type){ + if (0 == type) { FleetEngineToken serverToken = minter.getServerToken(); jwt = serverToken.jwt(); expirationTimestamp = serverToken.expirationTimestamp().getTime(); } - if(1 == type){ + if (1 == type) { FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create(id)); jwt = consumerToken.jwt(); expirationTimestamp = consumerToken.expirationTimestamp().getTime(); } - if(2 == type){ + if (2 == type) { FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create(id)); jwt = driverToken.jwt(); expirationTimestamp = driverToken.expirationTimestamp().getTime(); @@ -110,23 +117,24 @@ return map; } catch (SigningTokenException e) { throw new RuntimeException(e); + } catch (SignerInitializationException e) { + throw new RuntimeException(e); } } - - public String getToken(){ + public String getToken() { String token_json = redisUtil.getValue("google_token"); String google_token = ""; - if(!StringUtils.hasLength(token_json)){ + if (!StringUtils.hasLength(token_json)) { Map<String, Object> map = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", JSON.toJSONString(map)); google_token = map.get("token").toString(); - }else{ + } else { JSONObject jsonObject1 = JSON.parseObject(token_json); Long expirationTimestamp = jsonObject1.getLong("expirationTimestamp"); google_token = jsonObject1.getString("token"); - if((expirationTimestamp - 10000L) <= System.currentTimeMillis()){ + if ((expirationTimestamp - 10000L) <= System.currentTimeMillis()) { Map<String, Object> map = fleetEngineAuth(0, null); redisUtil.setStrValue("google_token", JSON.toJSONString(map)); google_token = map.get("token").toString(); @@ -136,16 +144,14 @@ } - - - /** * 添加车辆 + * * @param maximumCapacity 这辆车可以搭载的乘客总数 - * @param licensePlate 车牌号 - * @param id 车辆id + * @param licensePlate 车牌号 + * @param id 车辆id */ - public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception{ + public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception { String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + id; HttpRequest post = HttpUtil.createPost(url); Map<String, String> headers = new HashMap<>(); @@ -171,16 +177,16 @@ logger.info("创建车辆结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return createVehicles(maximumCapacity, licensePlate, id); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return createVehicles(maximumCapacity, licensePlate, id); } @@ -210,9 +216,10 @@ */ return response.body(); } - + /** * 上报google可结算订单 + * * @param tripId 行程id * @return */ @@ -227,16 +234,8 @@ JSONObject body = new JSONObject(); body.put("related_ids", "[\"" + tripId + "\"]"); post.body(body.toJSONString()); - - - - - - - - - - + + //上线客户测试和上线运营开放 // HttpResponse response = post.execute(); // if(200 != response.getStatus()){ @@ -245,23 +244,25 @@ // } return true; } + /** * 修改车辆信息 + * * @param maximumCapacity * @param licensePlate * @param id * @return */ - public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception{ + public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception { 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){ + if (null != maximumCapacity) { sb.add("maximumCapacity"); } - if(StringUtils.hasLength(licensePlate)){ + if (StringUtils.hasLength(licensePlate)) { sb.add("licensePlate"); } String collect = sb.stream().collect(Collectors.joining(",")); @@ -279,13 +280,13 @@ * OFFLINE 车辆不接受新行程。注意:在完成分配给车辆的行程时,车辆仍可继续在此状态下运行。 * ONLINE 车辆正在接受新行程。 */ - if(StringUtils.hasLength(vehicleState)){ + if (StringUtils.hasLength(vehicleState)) { body.put("vehicleState", vehicleState); } - if(null != maximumCapacity){ + 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)); @@ -302,16 +303,16 @@ logger.info("修改车辆信息结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return updateVehicles(vehicleState, maximumCapacity, licensePlate, id); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return updateVehicles(vehicleState, maximumCapacity, licensePlate, id); } @@ -345,10 +346,11 @@ /** * 获取车辆信息 + * * @param id 车辆id * @return */ - public String getVehicles(String id) throws Exception{ + public String getVehicles(String id) throws Exception { String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + (null != id ? id : ""); HttpRequest get = HttpUtil.createGet(url); Map<String, String> headers = new HashMap<>(); @@ -360,19 +362,19 @@ logger.info("查询车辆结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 404){ + if (code == 404) { return ""; } - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return getVehicles(id); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return getVehicles(id); } @@ -429,16 +431,16 @@ } - /** * 获取最后一个数字 + * * @param str * @return */ - private String getLastNumber(String str){ + private String getLastNumber(String str) { for (int i = str.length(); i > 0; i--) { char c = str.charAt(i - 1); - if(String.valueOf(c).matches("\\d")){ + if (String.valueOf(c).matches("\\d")) { return str.substring(i - 1, i); } } @@ -448,16 +450,17 @@ /** * 创建新的行程 - * @param vehicleId 车辆id + * + * @param vehicleId 车辆id * @param numberOfPassengers 人数 - * @param tripId 订单id - * @param start_lat 起点纬度 - * @param start_lng 起点经度 - * @param end_lat 终点纬度 - * @param end_lng 终点经度 + * @param tripId 订单id + * @param start_lat 起点纬度 + * @param start_lng 起点经度 + * @param end_lat 终点纬度 + * @param end_lng 终点经度 * @return */ - public String createTrip(String vehicleId, Integer numberOfPassengers, String tripId, 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 url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + tripId; HttpRequest post = HttpUtil.createPost(url); Map<String, String> headers = new HashMap<>(); @@ -466,7 +469,7 @@ post.addHeaders(headers); JSONObject body = new JSONObject(); - if(StringUtils.hasLength(vehicleId)){ + if (StringUtils.hasLength(vehicleId)) { body.put("vehicleId", vehicleId); } body.put("tripStatus", "NEW"); @@ -492,16 +495,16 @@ logger.info("创建行程结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return createTrip(vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return createTrip(vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } @@ -629,33 +632,34 @@ /** * 修改行程 - * @param tripStatus 行程状态 - * @param vehicleId 车辆id + * + * @param tripStatus 行程状态 + * @param vehicleId 车辆id * @param numberOfPassengers 人数 - * @param tripId 订单id - * @param start_lat 起点纬度 - * @param start_lng 起点经度 - * @param end_lat 终点纬度 - * @param end_lng 终点经度 + * @param tripId 订单id + * @param start_lat 起点纬度 + * @param start_lng 起点经度 + * @param end_lat 终点纬度 + * @param end_lng 终点经度 * @return */ 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 url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId + "?updateMask="; List<String> sb = new ArrayList<>(); - if(StringUtils.hasLength(vehicleId)){ + if (StringUtils.hasLength(vehicleId)) { sb.add("vehicleId"); } - if(StringUtils.hasLength(tripStatus)){ + if (StringUtils.hasLength(tripStatus)) { sb.add("tripStatus"); } - if(null != numberOfPassengers){ + 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(",")); @@ -668,7 +672,7 @@ put.addHeaders(headers); JSONObject body = new JSONObject(); - if(StringUtils.hasLength(vehicleId)){ + if (StringUtils.hasLength(vehicleId)) { body.put("vehicleId", vehicleId); } /** @@ -682,13 +686,13 @@ * COMPLETE 乘客已下车,行程已完成。 * CANCELED 在司机、乘客或拼车服务提供商取车之前,行程被取消。 */ - if(StringUtils.hasLength(tripStatus)){ + if (StringUtils.hasLength(tripStatus)) { body.put("tripStatus", tripStatus); } - if(null != numberOfPassengers){ + 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); @@ -697,7 +701,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); @@ -711,16 +715,16 @@ logger.info("修改行程结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return updateTrip(tripStatus, vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return updateTrip(tripStatus, vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng); } @@ -849,9 +853,9 @@ } - /** * 获取行程信息 + * * @param tripId 订单id * @return */ @@ -867,19 +871,19 @@ logger.info("查询行程结果:{}", response.body()); JSONObject jsonObject = JSON.parseObject(response.body().replaceAll("@type", "type")); JSONObject error = jsonObject.getJSONObject("error"); - if(null != error){ + if (null != error) { Integer code = error.getInteger("code"); - if(code == 404){ + if (code == 404) { return ""; } - if(code == 401){ + if (code == 401) { String status = error.getString("status"); - if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){ + if (StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")) { redisUtil.remove("google_token"); return getTrip(tripId); } String reason = error.getJSONArray("details").getJSONObject(0).getString("reason"); - if(reason.equals("ACCESS_TOKEN_EXPIRED")){ + if (reason.equals("ACCESS_TOKEN_EXPIRED")) { redisUtil.remove("google_token"); return getTrip(tripId); } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java index ff03db9..8d78a75 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java @@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder; import com.google.maps.*; import com.google.maps.model.*; +import com.stylefeng.guns.core.util.ToolUtil; /** * 谷歌地图工具类 @@ -47,11 +48,14 @@ * @return * @throws Exception */ - public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ + public static ReverseGeocodeVo getReverseGeocode(double lat, double lng, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } GeocodingResult[] results = request.await(); ReverseGeocodeVo vo = null; if(results.length > 0){ @@ -83,13 +87,16 @@ * @return * @throws Exception */ - public static FindPlaceFromTextVo findplacefromtext(String input) throws Exception{ + public static FindPlaceFromTextVo findplacefromtext(String input, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); FindPlaceFromTextRequest request = new FindPlaceFromTextRequest(context); request.input(input); request.inputType(FindPlaceFromTextRequest.InputType.TEXT_QUERY); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } System.err.println("findplacefromtext(请求参数)--->" + input); FindPlaceFromText findPlaceFromText = request.await(); PlacesSearchResult[] candidates = findPlaceFromText.candidates; @@ -119,12 +126,15 @@ * @return * @throws Exception */ - public static FindPlaceFromTextVo textsearch(String query) throws Exception{ + public static FindPlaceFromTextVo textsearch(String query, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); TextSearchRequest request = new TextSearchRequest(context); request.query(query); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } PlacesSearchResponse placesSearchResponse = request.await(); PlacesSearchResult[] results = placesSearchResponse.results; System.err.println("textsearch--->" + JSON.toJSONString(results)); @@ -155,12 +165,15 @@ * @return * @throws Exception */ - public static DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{ + public static DistancematrixVo getDistancematrix(String origin, String destination, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination}); request.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } DistanceMatrix distanceMatrix = request.await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(distanceMatrix)); @@ -183,13 +196,13 @@ * @return * @throws Exception */ - public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ - ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt); - ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt); + public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt, String tripId) throws Exception{ + ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt, tripId); + ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt, tripId); if(null != reverseGeocode && null != reverseGeocode1){ String origin = reverseGeocode.getAddress(); String destination = reverseGeocode1.getAddress(); - return getDistancematrix(origin, destination); + return getDistancematrix(origin, destination, tripId); } return null; } @@ -201,12 +214,15 @@ * @param destination 终点 要计算方向的位置ID、地址或文本纬度/经度值。目标参数的选项与原点参数的相同。 * */ - public static void getDirections(String origin, String destination) throws Exception{ + public static void getDirections(String origin, String destination, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); DirectionsApiRequest directions = DirectionsApi.getDirections(context, origin, destination); directions.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + directions.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } DirectionsResult result = directions.await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); @@ -216,14 +232,6 @@ - - - public static void main(String[] ages){ - try { - } catch (Exception e) { - e.printStackTrace(); - } - } diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java index 7770e0a..7c30dc9 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java @@ -1,12 +1,12 @@ package com.stylefeng.guns.modular.system.util; public class PushURL { - public static String order_push_url = "http://182.160.16.251:80/driver/base/order/pushOrderState"; - public static String driver_auth_url = "http://182.160.16.251:80/driver/base/driver/sendsms"; - public static String withdraw_auth_url = "http://182.160.16.251:80/driver/base/withdrawal/withdrawalAudit"; - public static String cancel_order_url = "http://182.160.16.251:80/user/base/order/sendOrderState"; - public static String freeze_user_url = "http://182.160.16.251:80/user/base/user/freeze"; - public static String zull_user_url = "http://182.160.16.251:80"; + public static String order_push_url = "http://127.0.0.1:5000/driver/base/order/pushOrderState"; + public static String driver_auth_url = "http://127.0.0.1:5000/driver/base/driver/sendsms"; + public static String withdraw_auth_url = "http://127.0.0.1:5000/driver/base/withdrawal/withdrawalAudit"; + public static String cancel_order_url = "http://127.0.0.1:5000/user/base/order/sendOrderState"; + public static String freeze_user_url = "http://127.0.0.1:5000/user/base/user/freeze"; + public static String zull_user_url = "http://127.0.0.1:5000"; // public static String order_push_url = "http://express.feimadache.com:80/driver/base/order/pushOrderState"; // public static String driver_auth_url = "http://express.feimadache.com:80/driver/base/driver/sendsms"; diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml index 4b37a89..d8d8b55 100644 --- a/ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml +++ b/ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml @@ -104,7 +104,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- #支付回调地址 diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml index 29e17d7..aeea63a 100644 --- a/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml +++ b/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml @@ -41,8 +41,8 @@ spring: datasource: - 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 + url: jdbc:mysql://172.16.0.4:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 + username: i-go password: HjKbXilb9zajmXbl db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat @@ -62,7 +62,7 @@ --- -filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 +filePath: /home/igotechgh/orderPostionFile/ #存储订单轨迹文件路径 #quartz配置 spring: @@ -102,10 +102,10 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- #支付回调地址 -callbackPath: http://182.160.16.251:8010 +callbackPath: https://igo.i-go.group:8080 --- \ No newline at end of file diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml index b74f6c4..5da98f5 100644 --- a/ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml +++ b/ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml @@ -103,7 +103,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- #支付回调地址 diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/logback-spring.xml b/ManagementIGOTravel/guns-admin/src/main/resources/logback-spring.xml index fcdfef9..24eb650 100644 --- a/ManagementIGOTravel/guns-admin/src/main/resources/logback-spring.xml +++ b/ManagementIGOTravel/guns-admin/src/main/resources/logback-spring.xml @@ -7,7 +7,7 @@ <contextName>logback</contextName> <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> - <property name="log.path" value="/usr/local/server/logs/admin"/> + <property name="log.path" value="/home/igotechgh/app/log/admin"/> <!--0. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html index d3b93ed..2f049ba 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html @@ -78,7 +78,7 @@ <select class="form-control" id="zcModel" name="zcModel"> <option value="">选择车型</option> @for(obj in zcModelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </select> </div> @@ -89,7 +89,7 @@ <select class="form-control" id="xjModel" name="xjModel"> <option value="">选择车型</option> @for(obj in xjModelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </select> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_auth.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_auth.html index e1ee362..53ebcf3 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_auth.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_auth.html @@ -24,7 +24,7 @@ <select class="form-control" id="zcModel" name="zcModel"> <option value="">选择车型</option> @for(obj in zcModelList){ - <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.name}</option> + <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.chineseName}</option> @} </select> </div> @@ -35,7 +35,7 @@ <select class="form-control" id="xjModel" name="xjModel"> <option value="">选择车型</option> @for(obj in xjModelList){ - <option value="${obj.id}"${obj.id == xjModel ? 'selected=selected' : ''}>${obj.name}</option> + <option value="${obj.id}"${obj.id == xjModel ? 'selected=selected' : ''}>${obj.chineseName}</option> @} </select> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html index 47a2d43..1571a61 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html @@ -80,7 +80,7 @@ <select class="form-control" id="zcModel" name="zcModel"> <option value="">选择车型</option> @for(obj in zcModelList){ - <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.name}</option> + <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.chineseName}</option> @} </select> </div> @@ -91,7 +91,7 @@ <select class="form-control" id="xjModel" name="xjModel"> <option value="">选择车型</option> @for(obj in xjModelList){ - <option value="${obj.id}" ${obj.id == xjModel ? 'selected=selected' : ''}>${obj.name}</option> + <option value="${obj.id}" ${obj.id == xjModel ? 'selected=selected' : ''}>${obj.chineseName}</option> @} </select> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_add.html index 6c53261..9e90cc3 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_add.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_add.html @@ -74,7 +74,7 @@ <select class="form-control" id="serverModelId" > <option value="">选择车型</option> @for(obj in carmodelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </select> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_edit.html index 1049c11..e22f7a2 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_edit.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tLine/tLine_edit.html @@ -74,7 +74,7 @@ <select class="form-control" id="serverModelId" > <option value="">选择车型</option> @for(obj in carmodelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </select> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html index e3a09d2..1f54e1a 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html @@ -41,7 +41,7 @@ <#SelectCon id="serverCarModelId" name="车型" > <option value="">全部</option> @for(obj in carmodelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </#SelectCon> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html index b125109..8d042cb 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html @@ -43,7 +43,7 @@ <#SelectCon id="serverCarModelId" name="车型" > <option value="">全部</option> @for(obj in carmodelList){ - <option value="${obj.id}">${obj.name}</option> + <option value="${obj.id}">${obj.chineseName}</option> @} </#SelectCon> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html index 0bfaa36..cbdd610 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html @@ -5,7 +5,9 @@ <div class="row"> <div class="col-sm-11"> - <#input id="name" name="车型名称"/> + <#input id="chineseName" name="车型名称(中文)" /> + <#input id="englishName" name="车型名称(英文)" /> + <#input id="frenchName" name="车型名称(法文)" /> <#avatar id="img" name="车型图片:" /> </div> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html index 32b0663..627a312 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html @@ -5,7 +5,9 @@ <input type="hidden" id="id" value="${data.id}"> <div class="row"> <div class="col-sm-11"> - <#input id="name" name="车型名称" value="${data.name}"/> + <#input id="chineseName" name="车型名称(中文)" value="${data.chineseName}"/> + <#input id="englishName" name="车型名称(英文)" value="${data.englishName}"/> + <#input id="frenchName" name="车型名称(法文)" value="${data.frenchName}"/> <#avatar id="img" name="车型图片:" avatarImg="${data.img}"/> </div> </div> diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js index 353db6c..9215e90 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js @@ -25,11 +25,29 @@ return btn; } }, - {title: '车型名称', field: 'name', visible: true, align: 'center', valign: 'middle', + {title: '车型名称(中文)', field: 'chineseName', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { var btn = ""; - if(row.name != '' && row.name != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] + if(row.chineseName != '' && row.chineseName != null) { + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.chineseName + '" onfocus="TUser.tooltip()">' + row.chineseName + '</p>'] + } + return btn; + } + }, + {title: '车型名称(英文)', field: 'englishName', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + var btn = ""; + if(row.englishName != '' && row.englishName != null) { + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.englishName + '" onfocus="TUser.tooltip()">' + row.englishName + '</p>'] + } + return btn; + } + }, + {title: '车型名称(法文)', field: 'frenchName', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + var btn = ""; + if(row.frenchName != '' && row.frenchName != null) { + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.frenchName + '" onfocus="TUser.tooltip()">' + row.frenchName + '</p>'] } return btn; } diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js index d3a042d..23ebeb4 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js @@ -4,14 +4,24 @@ var TServerCarmodelInfoDlg = { tServerCarmodelInfoData : {}, validateFields: { - name: { + chineseName: { validators: { notEmpty: { - message: '车型名称不能为空' - }, - regexp: { - regexp: /^.{1,15}$/, - message: '车型名称不能超过15个字' + message: '中文车型名称不能为空' + } + } + }, + englishName: { + validators: { + notEmpty: { + message: '英文车型名称不能为空' + } + } + }, + frenchName: { + validators: { + notEmpty: { + message: '法文车型名称不能为空' } } }, @@ -69,7 +79,9 @@ this .set('id') .set('type') - .set('name') + .set('chineseName') + .set('englishName') + .set('frenchName') .set('img') .set('state') .set('insertTime'); diff --git a/UserIGOTravel/guns-admin/pom.xml b/UserIGOTravel/guns-admin/pom.xml index 9584c88..ec989d2 100644 --- a/UserIGOTravel/guns-admin/pom.xml +++ b/UserIGOTravel/guns-admin/pom.xml @@ -23,6 +23,14 @@ <type>pom</type> <scope>import</scope> </dependency> + + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>libraries-bom</artifactId> + <version>26.45.0</version> + <type>pom</type> + <scope>import</scope> + </dependency> </dependencies> </dependencyManagement> <dependencies> @@ -205,14 +213,18 @@ <dependency> <groupId>com.google.maps</groupId> <artifactId>google-maps-services</artifactId> - <version>2.0.0</version> + <version>2.2.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version> </dependency> - + <dependency> + <groupId>com.sun.mail</groupId> + <artifactId>javax.mail</artifactId> + <version>1.6.2</version> + </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> @@ -281,8 +293,11 @@ <groupId>com.google.cloud</groupId> <artifactId>google-cloud-texttospeech</artifactId> </dependency> + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>google-cloud-storage</artifactId> + </dependency> </dependencies> - <build> <!--打包jar包方式--> diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/OrderCharteredCarMapper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/OrderCharteredCarMapper.java index 8a7481d..480a27c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/OrderCharteredCarMapper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/OrderCharteredCarMapper.java @@ -21,7 +21,7 @@ * @param size * @return */ - List<Map<String, Object>> queryMyOrderList(@Param("uid") Integer uid, @Param("pageNum") Integer pageNum, - @Param("size") Integer size); + List<Map<String, Object>> queryMyOrderList(@Param("language") Integer language, @Param("uid") Integer uid, + @Param("pageNum") Integer pageNum, @Param("size") Integer size); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/mapping/OrderCharteredCarMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/mapping/OrderCharteredCarMapper.xml index ca3d4e2..2c693f9 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/mapping/OrderCharteredCarMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dao/mapping/OrderCharteredCarMapper.xml @@ -51,7 +51,7 @@ DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime, DATE_FORMAT(traveltime, '%Y-%m-%d') as time, carTime as carTime, - (select name from t_server_carmodel where state = 1 and type = 3 and id = a.serverCarModelId) as serverCarModel, + (select if(#{language} = 1, chineseName, if(#{language} = 2, englishName, frenchName)) as name from t_server_carmodel where state = 1 and type = 3 and id = a.serverCarModelId) as serverCarModel, (6) as orderType, state as state from t_order_chartered_car as a where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size} diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java index 1f7eebf..4691e6c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java @@ -64,7 +64,7 @@ String contactPerson, String contactPhone, String placeLonLat, Integer uid, Integer language) throws Exception { OrderCharteredCar orderCharteredCar = new OrderCharteredCar(); orderCharteredCar.setUserId(uid); - Company query = companyCityService.query1(placeLonLat.split(",")[0], placeLonLat.split(",")[1]); + Company query = companyCityService.query1(uid, placeLonLat.split(",")[0], placeLonLat.split(",")[1]); if(null == query){ return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone"); } @@ -95,7 +95,7 @@ @Override public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception { pageNum = (pageNum - 1) * size; - List<Map<String, Object>> maps = orderCharteredCarMapper.queryMyOrderList(uid, pageNum, size); + List<Map<String, Object>> maps = orderCharteredCarMapper.queryMyOrderList(language, uid, pageNum, size); for (Map<String, Object> map : maps) { if(null != map.get("orderTime")){ String orderTime = map.get("orderTime").toString(); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java index 259f84c..ac8e89e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java @@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.api; import com.stylefeng.guns.modular.system.service.IAdvertisementService; +import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.AdvertisementWarpper; import io.swagger.annotations.Api; @@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -25,6 +27,9 @@ @Autowired private IAdvertisementService advertisementService; + + @Autowired + private IUserInfoService userInfoService; @@ -36,9 +41,10 @@ @ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"), @ApiImplicitParam(value = "当前定位经度", name = "lnt", required = true, dataType = "double") }) - public ResultUtil<List<AdvertisementWarpper>> queryAdvertisement(Double lat, Double lnt, Integer type){ + public ResultUtil<List<AdvertisementWarpper>> queryAdvertisement(Double lat, Double lnt, Integer type, HttpServletRequest request){ try { - List<AdvertisementWarpper> advertisementWarpper = advertisementService.queryAdvertisement(lat, lnt, type); + Integer uid = userInfoService.getUserIdFormRedis(request); + List<AdvertisementWarpper> advertisementWarpper = advertisementService.queryAdvertisement(uid, lat, lnt, type); return ResultUtil.success(advertisementWarpper); }catch (Exception e){ e.printStackTrace(); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java index 780c6e3..cb3e889 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java @@ -86,9 +86,10 @@ @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "double"), @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"), }) - public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language){ + public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language, HttpServletRequest request){ try { - List<BaseWarpper> list = openCityBusinessService.queryBusiness(lat, lnt, language); + Integer uid = userInfoService.getUserIdFormRedis(request); + List<BaseWarpper> list = openCityBusinessService.queryBusiness(uid, lat, lnt, language); return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); @@ -130,9 +131,10 @@ @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"), @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "String") }) - public ResultUtil openCity(Double lat, Double lnt, Integer language){ + public ResultUtil openCity(Double lat, Double lnt, Integer language, HttpServletRequest request){ try { - City city = openCityService.openCity(lat, lnt, language); + Integer uid = userInfoService.getUserIdFormRedis(request); + City city = openCityService.openCity(uid, lat, lnt, language); if(null == city){ return ResultUtil.error(""); } 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 090c631..ebdead0 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 @@ -118,6 +118,14 @@ @Resource private UserActivityDiscount1Mapper userActivityDiscount1Mapper; + + @Resource + private RedisUtil redisUtil; + + + + + /** * 获取正在进行中的订单 @@ -849,9 +857,10 @@ @ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"), @ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double") }) - public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat){ + public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat, HttpServletRequest request){ try { - return orderService.queryExpectedTime(slon, slat, elon, elat); + Integer uid = userInfoService.getUserIdFormRedis(request); + return orderService.queryExpectedTime(uid, slon, slat, elon, elat); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -1810,4 +1819,26 @@ return ResultUtil.runErr(); } } + + + @ResponseBody + @PostMapping("/api/order/getNewTripId") + @ApiOperation(value = "获取google预定tripid【2.0】", tags = {"用户端-首页"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<String> getNewTripId(HttpServletRequest request){ + try { + Integer uid = userInfoService.getUserIdFormRedis(request); + if(null == uid){ + return ResultUtil.tokenErr(); + } + String randomCode = UUIDUtil.getRandomCode(); + redisUtil.setStrValue("trip" + uid, randomCode); + return ResultUtil.success(randomCode); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java index 81e0152..cf1aa72 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java @@ -2,6 +2,7 @@ import com.stylefeng.guns.modular.system.model.Phone; import com.stylefeng.guns.modular.system.service.IPhoneService; +import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.ResultUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -26,6 +28,13 @@ @Autowired private IPhoneService phoneService; + + @Autowired + private IUserInfoService userInfoService; + + + + /** * 获取系统所有电话 @@ -38,9 +47,10 @@ @ApiImplicitParam(value = "定位经度", name = "lat", required = true, dataType = "double"), @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double") }) - public ResultUtil queryPhones(Double lat, Double lnt){ + public ResultUtil queryPhones(Double lat, Double lnt, HttpServletRequest request){ try { - List<Phone> phones = phoneService.queryPhones(lat, lnt); + Integer uid = userInfoService.getUserIdFormRedis(request); + List<Phone> phones = phoneService.queryPhones(uid, lat, lnt); return ResultUtil.success(phones); }catch (Exception e){ e.printStackTrace(); @@ -61,9 +71,10 @@ @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryCustomerPhone(Double lat, Double lnt){ + public ResultUtil queryCustomerPhone(Double lat, Double lnt, HttpServletRequest request){ try { - Map<String, Object> map = phoneService.queryCustomerPhone(lat, lnt); + Integer uid = userInfoService.getUserIdFormRedis(request); + Map<String, Object> map = phoneService.queryCustomerPhone(uid, lat, lnt); return ResultUtil.success(map); }catch (Exception e){ e.printStackTrace(); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java index f8b2e81..b8d402e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java @@ -81,11 +81,13 @@ if(null == uid){ return ResultUtil.tokenErr(); } - List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid).ne("state", 0)); + List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>() + .eq("userId", uid).ne("state", 0)); List<Double> collect = userRedPacketRecords.stream().map(UserRedPacketRecord::getMoney).collect(Collectors.toList()); double sum = collect.stream().mapToDouble(Double::doubleValue).sum(); - double sum1 = userRedPacketRecords.stream().filter(v -> v.getRemainingAmount().compareTo(0D) > 0).map(UserRedPacketRecord::getRemainingAmount).mapToDouble(Double::doubleValue).sum(); + double sum1 = userRedPacketRecords.stream().filter(v -> v.getRemainingAmount().compareTo(0D) > 0) + .map(UserRedPacketRecord::getRemainingAmount).mapToDouble(Double::doubleValue).sum(); List<Map<String, Object>> list = userRedPacketRecordService.queryMyRedEnvelope(pageNum, size, uid); List<MyRedEnvelope> baseWarppers = new ArrayList<>(); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java index 4273654..17921dc 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java @@ -2,6 +2,7 @@ import com.stylefeng.guns.modular.system.service.IServerCarModelService; +import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.ServerCarModelWarpper; import io.swagger.annotations.Api; @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -25,6 +27,9 @@ @Autowired private IServerCarModelService serverCarModelService; + + @Autowired + private IUserInfoService userInfoService; /** @@ -43,9 +48,10 @@ @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"), @ApiImplicitParam(value = "业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "type", required = true, dataType = "int") }) - public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language){ + public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language, HttpServletRequest request){ try { - return serverCarModelService.queryServerCarModel(startLonLat, endLonLat, type, language); + Integer uid = userInfoService.getUserIdFormRedis(request); + return serverCarModelService.queryServerCarModel(uid, startLonLat, endLonLat, type, language); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); 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 45b01c4..7ba230c 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 @@ -297,12 +297,12 @@ EmailUtil.send(email, language == 1 ? "邮箱验证" : language == 2 ? "Verification code" : "Code de validation", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/mainbox_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/mainbox_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -311,7 +311,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/mainbox_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/mainbox_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1181,12 +1181,12 @@ @ResponseBody @RequestMapping("/base/user/image") - public String image(@RequestPart("file") MultipartFile file) { + public ResultUtil image(@RequestPart("file") MultipartFile file) { try { - String pictureName = OBSUploadUtil.inputStreamUpload(file); - return pictureName; - } catch (IOException e1) { - return null; + String pictureName = GoogleCloudStorageUtil.upload(file); + return ResultUtil.success(pictureName); + } catch (Exception e1) { + return ResultUtil.runErr(); } } @@ -1332,10 +1332,10 @@ ServletOutputStream outputStream = null; try { if(orderType == 1){ - fileInputStream = new FileInputStream(new File("/usr/local/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf")); + fileInputStream = new FileInputStream(new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf")); } if(orderType == 4){ - fileInputStream = new FileInputStream(new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf")); + fileInputStream = new FileInputStream(new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf")); } BufferedInputStream bf = new BufferedInputStream(fileInputStream); outputStream = response.getOutputStream(); @@ -1400,7 +1400,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName + ".mp3"); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index a9dffee..bb180e9 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -1454,7 +1454,7 @@ //定义用户所属公司 OrderTaxi orderTaxi = new OrderTaxi(); UserInfo userInfo1 = userInfoService.selectById(uid); - Company query = companyCityService.query1(startLon, startLat); + Company query = companyCityService.query1(uid, startLon, startLat); if(null == query){ return ResultUtil.error("出发点暂未开通"); } @@ -1624,7 +1624,7 @@ if(orderType == 1){//专车 OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单 - Company query = companyCityService.query1(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ //订单被抢后的处理 @@ -1658,7 +1658,7 @@ //开始进行推送的处理 PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 if(list.size() > 0){ double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) @@ -1693,7 +1693,7 @@ if(orderType == 2){//出租车 OrderTaxi orderTaxi = orderTaxiMapper.selectById(orderId); OrderTaxiServiceImpl.orderIds.add(orderTaxi.getId());//添加记录,防止调用接口重复提醒无人接单 - Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ //处理订单被抢 diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java index e791822..9294048 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java @@ -119,9 +119,10 @@ @ApiImplicitParam(value = "终点经纬度(103.23265,30.2312)", name = "endLonLat", required = true, paramType = "query", dataType = "string"), @ApiImplicitParam(value = "终点详细地址", name = "endAddress", required = true, paramType = "query", dataType = "string") }) - public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language){ + public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language, HttpServletRequest request){ try { - return orderLogisticsService.queryPayMoney(number, type, startLonLat, endLonLat, endAddress, language); + Integer uid = userInfoService.getUserIdFormRedis(request); + return orderLogisticsService.queryPayMoney(uid, number, type, startLonLat, endLonLat, endAddress, language); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -317,8 +318,12 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<OrderTimeInfo> queryTimeInfo(Integer orderId, Integer language){ + public ResultUtil<OrderTimeInfo> queryTimeInfo(Integer orderId, Integer language, HttpServletRequest request){ try { + Integer uid = userInfoService.getUserIdFormRedis(request); + if(null == uid) { + return ResultUtil.tokenErr(); + } OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); OrderTimeInfo orderTimeInfo = new OrderTimeInfo(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -340,21 +345,22 @@ usedTime = language == 1 ? h + "小时" + m + "分钟" : language == 2 ? h + "-hour" + m + "-minute(s)" : h + "-hour" + m + "-minute"; } orderTimeInfo.setUsedTime(usedTime); + String tripId = redisUtil.getValue("trip" + uid); if(null != orderLogistics.getEndServiceTime()){ orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(orderLogistics.getEndServiceTime()))); }else{ - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon()); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); Long duration = distancematrix.getDuration(); orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(new Date(System.currentTimeMillis() + duration * 1000)))); } - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon()); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); Long distance = distancematrix.getDistance(); orderTimeInfo.setAllMileage(Double.valueOf(distance / 1000)); orderTimeInfo.setMileage(orderLogistics.getMileage() / 1000); String value = redisUtil.getValue("DRIVER" + orderLogistics.getDriverId()); if(ToolUtil.isNotEmpty(value)){ String[] split = value.split(","); - distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), orderLogistics.getEndLat(), orderLogistics.getEndLon()); + distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); //分钟 Long duration = distancematrix.getDuration() / 60; h = Double.valueOf(duration / 60).intValue(); @@ -420,7 +426,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } 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 bbf39a1..23a1753 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 @@ -304,7 +304,7 @@ DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time, ('包裹') as name, UNIX_TIMESTAMP(insertTime) as insertTime - from t_order_logistics where userId = #{uid} and state in (8, 9) and redPacketId is not null + from t_order_logistics where userId = #{uid} and redPacketId is not null </select> diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java index ae4c770..659ed8a 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java @@ -45,7 +45,7 @@ * @return * @throws Exception */ - ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception; + ResultUtil queryPayMoney(Integer uid, Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception; /** 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 6146c4a..2c2ce0b 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 @@ -254,7 +254,7 @@ String[] split = endLonLat.split(","); Double lng = Double.valueOf(split[0]); Double lat = Double.valueOf(split[1]); - ResultUtil<Map<String, Object>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language); + ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language); if(price.getCode() != 200){ return price; } @@ -273,11 +273,11 @@ * @return * @throws Exception */ - public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception{ + public ResultUtil queryPayMoney(Integer uid, Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception{ String[] split = endLonLat.split(","); Double lng = Double.valueOf(split[0]); Double lat = Double.valueOf(split[1]); - ResultUtil<Map<String, Object>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language); + ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language); if(price.getCode() == 200 && type == 5){ Map<String, Object> data = price.getData(); Double ordinary = Double.valueOf(data.get("ordinary").toString()); @@ -327,7 +327,7 @@ endAddress = endAddress.replaceAll("& #40;", "("); endAddress = endAddress.replaceAll("& #41;", ")"); OrderLogistics orderLogistics = new OrderLogistics(); - Company query = companyCityService.query1(placementLon, placementLat); + Company query = companyCityService.query1(uid, placementLon, placementLat); if(null == query){ return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone"); } @@ -340,7 +340,8 @@ orderLogistics.setRemark(remark); orderLogistics.setPlacementLon(Double.valueOf(placementLon)); orderLogistics.setPlacementLat(Double.valueOf(placementLat)); - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon)); + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId); if(null == reverseGeocode){ return ResultUtil.error(language == 1 ? "解析地址出错" : language == 2 ? "Address resolution error" : "Erreur de résolution d’adresse"); } @@ -363,7 +364,7 @@ orderLogistics.setMileage(0D); orderLogistics.setIsReassign(1); orderLogistics.setReassignNotice(0); - ResultUtil<Map<String, Object>> price = this.getPrice1(type, String.valueOf(startLon), String.valueOf(startLat), lng.toString(), lat.toString(), language); + ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, String.valueOf(startLon), String.valueOf(startLat), lng.toString(), lat.toString(), language); if(price.getCode() != 200){ return price; } @@ -412,8 +413,8 @@ * @return * @throws Exception */ - public ResultUtil<Map<String, Double>> getPrice(Integer type, String startLon, String startLat, String endLon, String endLat) throws Exception{ - Company query = companyCityService.query1(startLon, startLat); + public ResultUtil<Map<String, Double>> getPrice(Integer uid, Integer type, String startLon, String startLat, String endLon, String endLat) throws Exception{ + Company query = companyCityService.query1(uid, startLon, startLat); if(null == query){ return ResultUtil.error("预约取货点暂无企业服务"); } @@ -456,8 +457,8 @@ - public ResultUtil<Map<String, Object>> getPrice1(Integer type, String startLon, String startLat, String endLon, String endLat, Integer language) throws Exception{ - Company query = companyCityService.query1(startLon, startLat); + public ResultUtil<Map<String, Object>> getPrice1(Integer uid, Integer type, String startLon, String startLat, String endLon, String endLat, Integer language) throws Exception{ + Company query = companyCityService.query1(uid, startLon, startLat); if(null == query){ return ResultUtil.error(language == 1 ? "预约取货点暂无企业服务" : language == 2 ? "No service yet at the reserved pickup point." : "Les points de ramassage prévus ne sont pas disponibles pour le moment."); @@ -469,7 +470,8 @@ Integer activityId = null; if(type == 4){//同城 Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(startLat), Double.valueOf(startLon), Double.valueOf(endLat), Double.valueOf(endLon)); + String tripId = redisUtil.getValue("trip" + uid); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(startLat), Double.valueOf(startLon), Double.valueOf(endLat), Double.valueOf(endLon), tripId); if(null == distancematrix){ return ResultUtil.error(language == 1 ? "计算距离出错" : language == 2 ? "Errors in computing distance" : "Erreurs dans le calcul de la distance"); } @@ -540,12 +542,12 @@ if(ToolUtil.isNotEmpty(vehicle)){ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query1(String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderLogistics.getUserId(), String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//用专车的推单配置 for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderLogistics.getUserId(), orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 System.err.println("【" + orderLogistics.getId() + "】空闲司机:" + JSON.toJSONString(list)); if(list.size() > 0){ double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 @@ -596,7 +598,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -682,7 +684,8 @@ orderLogistics.setUrgent(1); orderLogistics.setCargoNumber(1); - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon)); + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId); orderLogistics.setPlacementAddress(reverseGeocode.getAddress()); orderLogistics.setStartLon(Double.valueOf(startLon)); orderLogistics.setStartLat(Double.valueOf(startLat)); @@ -737,7 +740,7 @@ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderLogistics.setEstimateArriveTime(new Date(timeOut)); @@ -749,8 +752,8 @@ orderLogistics.setIsReassign(1); orderLogistics.setIsDelete(1); - orderLogistics.setTripId(UUIDUtil.getRandomCode()); - DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon()); + orderLogistics.setTripId(tripId); + DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); Long distance1 = distancematrix1.getDistance(); orderLogistics.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); this.insert(orderLogistics); @@ -816,7 +819,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -838,14 +841,14 @@ // TODO: 2021/5/11 修改,根据后台设定的派单范围查询范围内有无司机,将单子指派给距离最近的司机(距离相同随机取),范围内没有司机再进行推单流程 if(orderLogistics.getState() == 1){ - Company query = companyCityService.query1(orderLogistics.getStartLon().toString(), orderLogistics.getStartLat().toString()); + Company query = companyCityService.query1(uid, orderLogistics.getStartLon().toString(), orderLogistics.getStartLat().toString()); if(null == query){ return ResultUtil.error(language == 1 ? "起点暂未企业提供服务" : language == 2 ? "Starting point no enterprise to provide services" : "Point de départ pas encore disponible pour les entreprises"); } AssignOrder assignOrder = assignOrderService.selectOne(new EntityWrapper<AssignOrder>().eq("companyId", query.getId()).eq("type", 1)); if(null != assignOrder && assignOrder.getPeople() > 0){//配置了指派规则才处理 //获取空闲司机 - List<Driver> drivers = driverService.queryIdleDriver(4, orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机 + List<Driver> drivers = driverService.queryIdleDriver(uid, 4, orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机 if(drivers.size() > 0){//有司机,直接指派给司机 Driver dr = null; if(drivers.size() > 1){ @@ -858,7 +861,7 @@ String value = redisUtil.getValue("DRIVER" + drivers.get(j).getId()); if(null != value){ String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); Long distance = distancematrix.getDistance(); if((0 == m && null == driver) || (distance < m)){ driver = drivers.get(j); @@ -877,7 +880,7 @@ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(null != value){ String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); Long d = distancematrix.getDistance(); if((0 == m && null == dr) || (d.intValue() < m.intValue())){ dr = driver; @@ -933,7 +936,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -1042,13 +1045,13 @@ } //计算红包 - if(null != redDeduction && 1 == redDeduction){ + if(null != redDeduction && 1 == redDeduction && null == orderLogistics.getRedPacketId()){ RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings(); if(null != redEnvelopePaymentSettings){ Double total = userRedPacketRecordService.queryRemainingAmount(uid); List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid) .eq("state", 1).eq("companyId", orderLogistics.getCompanyId()).gt("remainingAmount", 0).orderBy("insertTime", false)); - + BigDecimal deductionRatio = redEnvelopePaymentSettings.getDeductionRatio(); BigDecimal multiply1 = orderMoney.multiply(deductionRatio.divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN); if(total > 0 && multiply1.doubleValue() > 0 && total.compareTo(multiply1.doubleValue()) >= 0){ @@ -1058,12 +1061,12 @@ //获取红包id JSONArray jsonArray = new JSONArray(); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(BigDecimal.ZERO) == 0){ break; } + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", userRedPacketRecord.getId()); + BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(remainingAmount) >= 0){ userRedPacketRecord.setRemainingAmount(0D); userRedPacketRecord.setEndTime(new Date()); @@ -1071,14 +1074,15 @@ multiply1 = multiply1.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); jsonObject.put("money", remainingAmount); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); }else if(remainingAmount.compareTo(multiply1) > 0){ userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply1).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); jsonObject.put("money", multiply1); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); multiply1 = BigDecimal.ZERO; } + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderLogistics.setRedPacketId(jsonArray.toJSONString()); } @@ -1087,29 +1091,18 @@ orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN); //获取红包id JSONArray jsonArray = new JSONArray(); - BigDecimal multiply = new BigDecimal(total); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); - if(multiply.compareTo(BigDecimal.ZERO) == 0){ - break; - } - if(multiply.compareTo(remainingAmount) >= 0){ - userRedPacketRecord.setRemainingAmount(0D); - userRedPacketRecord.setEndTime(new Date()); - userRedPacketRecord.setState(2); - multiply = multiply.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); - jsonObject.put("money", remainingAmount); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - }else if(remainingAmount.compareTo(multiply) > 0){ - userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - jsonObject.put("money", multiply); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - multiply = BigDecimal.ZERO; - } + jsonObject.put("money", userRedPacketRecord.getRemainingAmount()); + jsonArray.add(jsonObject); + + userRedPacketRecord.setRemainingAmount(0D); + userRedPacketRecord.setEndTime(new Date()); + userRedPacketRecord.setState(2); + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderLogistics.setRedPacketId(jsonArray.toJSONString()); } @@ -1130,8 +1123,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, orderId, 4, 1, @@ -1157,8 +1150,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ @@ -1281,7 +1274,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("包裹收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -1362,11 +1355,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_chinese = document.getElementById("track_chinese"); -// track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -1389,7 +1382,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Delivery receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -1470,11 +1463,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_english = document.getElementById("track_english"); -// track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -1497,7 +1490,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de livraison"); Element title_french = document.getElementById("title_french"); title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO "); Element qbj_french = document.getElementById("qbj_french"); @@ -1578,11 +1571,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_french = document.getElementById("track_french"); -// track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -1603,14 +1596,14 @@ server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1619,28 +1612,28 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/parcel_receipt_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison"); tEmail.setOrderId(orderId); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; @@ -1817,7 +1810,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("包裹收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -1898,11 +1891,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_chinese = document.getElementById("track_chinese"); -// track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -1925,7 +1918,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Delivery receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -2006,11 +1999,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_english = document.getElementById("track_english"); -// track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -2033,7 +2026,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de livraison"); Element title_french = document.getElementById("title_french"); title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO "); Element qbj_french = document.getElementById("qbj_french"); @@ -2114,11 +2107,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=4"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=4"); // Element track_french = document.getElementById("track_french"); -// track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -2139,14 +2132,14 @@ server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2155,28 +2148,28 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/parcel_receipt_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison"); tEmail.setOrderId(orderId); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; @@ -2229,8 +2222,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } if(payType == 2){//银行卡支付 @@ -2248,8 +2241,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } @@ -2452,7 +2445,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("包裹收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -2533,11 +2526,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); // Element track_chinese = document.getElementById("track_chinese"); -// track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -2560,7 +2553,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Delivery receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -2641,11 +2634,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); // Element track_english = document.getElementById("track_english"); -// track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -2668,7 +2661,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de livraison"); Element title_french = document.getElementById("title_french"); title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande I-GO "); Element qbj_french = document.getElementById("qbj_french"); @@ -2749,11 +2742,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=4"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=4"); // Element track_french = document.getElementById("track_french"); -// track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html"); +// track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -2774,14 +2767,14 @@ server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/parcel_receipt_" + id + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + id + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2790,28 +2783,28 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + id + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + id + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/parcel_receipt_" + id + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + id + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + id + ".html"; + String link ="https://igo.i-go.group/files/html/parcel_receipt_" + id + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison"); tEmail.setOrderId(id); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; @@ -2943,7 +2936,7 @@ Integer orderId = Integer.valueOf(String.valueOf(map.get("orderId"))); Integer state = Integer.valueOf(String.valueOf(map.get("state"))); if(state == 6){ - map.put("receipt", "http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html"); + map.put("receipt", "https://igo.i-go.group/files/html/parcel_receipt_" + orderId + ".html"); }else{ map.put("receipt", ""); } @@ -3090,13 +3083,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-FR.mp3"; break; } pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); @@ -3234,7 +3227,7 @@ map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); map.put("orderType", orderLogistics.getType()); if(state == 8 || state == 9){ - map.put("receipt", "http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html"); + map.put("receipt", "https://igo.i-go.group/files/html/parcel_receipt_" + orderId + ".html"); }else{ map.put("receipt", ""); } @@ -3405,8 +3398,8 @@ checkoutRequest.setRequestDescription("Cancel a trip"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, id, 4, 1, amount, null, 1);//添加预支付数据 @@ -3430,8 +3423,8 @@ checkoutRequest.setRequestDescription("Cancel a trip"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, id, 4, 2, amount, null, 1);//添加预支付数据 @@ -3609,13 +3602,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-FR.mp3"; break; } pushUtil.pushModifyAddress(2, orderLogistics.getDriverId(), orderId, 4, 1, audioUrl); @@ -3735,11 +3728,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/redpacket_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/redpacket_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -3748,7 +3741,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/redpacket_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/redpacket_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); @@ -3828,13 +3821,14 @@ } } } - + + String tripId = redisUtil.getValue("trip" + uid); String lnt = "0"; String lat = "0"; if(ToolUtil.isNotEmpty(value)){ lnt = value.split(",")[0]; lat = value.split(",")[1]; - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt)); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt), tripId); if(null == distancematrix){ System.err.println("查询距离出错了"); @@ -3862,7 +3856,7 @@ orderServerWarpper.setLaveTime("0"); } if(orderLogistics.getState() == 5 || orderLogistics.getState() == 6){//服务中 - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderLogistics.getEndLat(), orderLogistics.getEndLon()); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); if(null == distancematrix){ System.err.println("查询距离出错了"); }else if(distancematrix.getDistance() == 0){ 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 5bf3916..b2192e0 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 @@ -478,7 +478,7 @@ DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time, ('打车') as name, UNIX_TIMESTAMP(insertTime) as insertTime - from t_order_private_car where userId = #{uid} and state in (8, 9) and redPacketId is not null + from t_order_private_car where userId = #{uid} and redPacketId is not null </select> 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 d7db9e8..e85c825 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 @@ -264,7 +264,8 @@ baseWarpper.setId(orderPrivateCars.get(0).getId()); return ResultUtil.success(baseWarpper); } - + + String tripId = redisUtil.getValue("trip" + uid); startAddress = startAddress.replaceAll("& #40;", "("); startAddress = startAddress.replaceAll("& #41;", ")"); endAddress = endAddress.replaceAll("& #40;", "("); @@ -281,7 +282,7 @@ orderPrivateCar.setPlacementLon(Double.valueOf(placementLon)); orderPrivateCar.setPlacementLat(Double.valueOf(placementLat)); - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon)); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId); orderPrivateCar.setPlacementAddress(reverseGeocode.getAddress()); orderPrivateCar.setStartLon(Double.valueOf(startLon)); orderPrivateCar.setStartLat(Double.valueOf(startLat)); @@ -346,7 +347,7 @@ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(ToolUtil.isNotEmpty(value)) { String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); //超时时间 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); orderPrivateCar.setEstimateArriveTime(new Date(timeOut)); @@ -359,8 +360,8 @@ orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); - orderPrivateCar.setTripId(UUIDUtil.getRandomCode()); - DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon()); + orderPrivateCar.setTripId(tripId); + DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon(), tripId); Long distance1 = distancematrix1.getDistance(); orderPrivateCar.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); this.insert(orderPrivateCar); @@ -427,7 +428,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -449,14 +450,14 @@ // TODO: 2021/5/11 修改,根据后台设定的派单范围查询范围内有无司机,将单子指派给距离最近的司机(距离相同随机取),范围内没有司机再进行推单流程 if(orderPrivateCar.getState() == 1){ - Company query = companyCityService.query1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); + Company query = companyCityService.query1(uid, orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); if(null == query){ return ResultUtil.error(language == 1 ? "起点暂未企业提供服务" : language == 2 ? "Starting point no enterprise to provide services" : "Point de départ pas encore disponible pour les entreprises"); } AssignOrder assignOrder = assignOrderService.selectOne(new EntityWrapper<AssignOrder>().eq("companyId", query.getId()).eq("type", 1)); if(null != assignOrder && assignOrder.getPeople() > 0){//配置了指派规则才处理 //获取空闲司机 - List<Driver> drivers = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机 + List<Driver> drivers = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机 if(drivers.size() > 0){//有司机,直接指派给司机 Driver dr = null; if(drivers.size() > 1){ @@ -469,7 +470,7 @@ String value = redisUtil.getValue("DRIVER" + drivers.get(j).getId()); if(null != value){ String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); Long distance = distancematrix.getDistance(); if((0 == m && null == driver) || (distance < m)){ driver = drivers.get(j); @@ -488,7 +489,7 @@ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(null != value){ String[] split = value.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); Long d = distancematrix.getDistance(); if((0 == m && null == dr) || (d.intValue() < m.intValue())){ dr = driver; @@ -544,7 +545,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -807,23 +808,23 @@ switch (language1){ case 1: if(orderPrivateCar.getState() == 6){ - audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/MidwayCancellation-CN.mp3"; }else{ - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-CN.mp3"; } break; case 2: if(orderPrivateCar.getState() == 6){ - audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/MidwayCancellation-EN.mp3"; }else{ - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-EN.mp3"; } break; case 3: if(orderPrivateCar.getState() == 6){ - audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/MidwayCancellation-FR.mp3"; }else{ - audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-FR.mp3"; } break; } @@ -898,8 +899,8 @@ checkoutRequest.setRequestDescription("Cancel a trip"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, id, 1, 1, amount, null, 1);//添加预支付数据 @@ -923,8 +924,8 @@ checkoutRequest.setRequestDescription("Cancel a trip"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, id, 1, 2, amount, null, 1);//添加预支付数据 @@ -1016,12 +1017,12 @@ if(ToolUtil.isNotEmpty(vehicle)){ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query1(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 System.err.println("【" + orderPrivateCar.getId() + "】空闲司机:" + JSON.toJSONString(list)); if(list.size() > 0){ double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 @@ -1073,7 +1074,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); + process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -1258,12 +1259,12 @@ //获取红包id JSONArray jsonArray = new JSONArray(); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(BigDecimal.ZERO) == 0){ break; } + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", userRedPacketRecord.getId()); + BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(remainingAmount) >= 0){ userRedPacketRecord.setRemainingAmount(0D); userRedPacketRecord.setEndTime(new Date()); @@ -1271,14 +1272,15 @@ multiply1 = multiply1.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); jsonObject.put("money", remainingAmount); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); }else if(remainingAmount.compareTo(multiply1) > 0){ userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply1).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); jsonObject.put("money", multiply1); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); multiply1 = BigDecimal.ZERO; } + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderPrivateCar.setRedPacketId(jsonArray.toJSONString()); } @@ -1287,29 +1289,18 @@ orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN); //获取红包id JSONArray jsonArray = new JSONArray(); - BigDecimal multiply = new BigDecimal(total); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = BigDecimal.valueOf(userRedPacketRecord.getRemainingAmount()); - if(multiply.compareTo(BigDecimal.ZERO) == 0){ - break; - } - if(multiply.compareTo(remainingAmount) >= 0){ - userRedPacketRecord.setRemainingAmount(0D); - userRedPacketRecord.setEndTime(new Date()); - userRedPacketRecord.setState(2); - multiply = multiply.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); - jsonObject.put("money", remainingAmount); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - }else if(remainingAmount.compareTo(multiply) > 0){ - userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - jsonObject.put("money", multiply); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - multiply = BigDecimal.ZERO; - } + jsonObject.put("money", userRedPacketRecord.getRemainingAmount()); + jsonArray.add(jsonObject); + + userRedPacketRecord.setRemainingAmount(0D); + userRedPacketRecord.setEndTime(new Date()); + userRedPacketRecord.setState(2); + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderPrivateCar.setRedPacketId(jsonArray.toJSONString()); } @@ -1331,8 +1322,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ @@ -1358,8 +1349,8 @@ checkoutRequest.setRequestDescription("Travel completion payment"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ @@ -1439,7 +1430,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("打车收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO此订单消费GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -1513,11 +1504,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_chinese = document.getElementById("track_chinese"); - track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -1546,7 +1537,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Ride receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -1620,11 +1611,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_english = document.getElementById("track_english"); - track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -1653,7 +1644,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de course"); Element title_french = document.getElementById("title_french"); title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " sur le voyage"); Element qbj_french = document.getElementById("qbj_french"); @@ -1727,11 +1718,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_french = document.getElementById("track_french"); - track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -1757,14 +1748,14 @@ Element server_tel_french = document.getElementById("server_tel_french"); server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/ride_receipt_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1773,27 +1764,27 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/ride_receipt_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course"); tEmail.setType(1); tEmail.setOrderId(orderId); tEmail.setCreateTime(new Date()); @@ -1975,7 +1966,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("打车收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO此订单消费GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -2049,11 +2040,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_chinese = document.getElementById("track_chinese"); - track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -2082,7 +2073,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Ride receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -2156,11 +2147,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_english = document.getElementById("track_english"); - track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -2189,7 +2180,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de course"); Element title_french = document.getElementById("title_french"); title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " sur le voyage"); Element qbj_french = document.getElementById("qbj_french"); @@ -2263,11 +2254,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + orderId + "&orderType=1"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + orderId + "&orderType=1"); Element track_french = document.getElementById("track_french"); - track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + orderId); + track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + orderId); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -2294,14 +2285,14 @@ server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/ride_receipt_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2310,26 +2301,26 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/ride_receipt_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course"); tEmail.setType(1); tEmail.setOrderId(orderId); tEmail.setCreateTime(new Date()); @@ -2480,11 +2471,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/redpacket_" + orderId + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/redpacket_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2493,7 +2484,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/redpacket_" + orderId + ".html"; + String link ="https://igo.i-go.group/files/html/redpacket_" + orderId + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); @@ -2669,7 +2660,7 @@ if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("I-GO电子收据"); + document.getElementsByTag("title").get(0).text("打车收据"); Element title_chinese = document.getElementById("title_chinese"); title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO此订单消费GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); Element qbj_chinese = document.getElementById("qbj_chinese"); @@ -2743,11 +2734,11 @@ dispute_chinese.remove(); } Element pdf_chinese = document.getElementById("pdf_chinese"); - pdf_chinese.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); + pdf_chinese.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); Element lost_item_chinese = document.getElementById("lost_item_chinese"); - lost_item_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); + lost_item_chinese.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); Element track_chinese = document.getElementById("track_chinese"); - track_chinese.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id); + track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + id); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); @@ -2776,7 +2767,7 @@ if(2 == language){ document.getElementById("chinese").remove(); document.getElementById("french").remove(); - document.getElementsByTag("title").get(0).text("Receipt"); + document.getElementsByTag("title").get(0).text("Ride receipt"); Element title_english = document.getElementById("title_english"); title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " on the trip "); Element qbj_english = document.getElementById("qbj_english"); @@ -2850,11 +2841,11 @@ dispute_english.remove(); } Element pdf_english = document.getElementById("pdf_english"); - pdf_english.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); + pdf_english.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); Element lost_item_english = document.getElementById("lost_item_english"); - lost_item_english.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); + lost_item_english.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); Element track_english = document.getElementById("track_english"); - track_english.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id); + track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + id); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); @@ -2883,7 +2874,7 @@ if(3 == language){ document.getElementById("chinese").remove(); document.getElementById("english").remove(); - document.getElementsByTag("title").get(0).text("Reçu"); + document.getElementsByTag("title").get(0).text("Reçu de course"); Element title_french = document.getElementById("title_french"); title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + new BigDecimal(orderPrivateCar.getPayMoney()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + " sur le voyage"); Element qbj_french = document.getElementById("qbj_french"); @@ -2957,11 +2948,11 @@ dispute_french.remove(); } Element pdf_french = document.getElementById("pdf_french"); - pdf_french.attr("href", "http://182.160.16.251:80/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); + pdf_french.attr("href", "https://igo.i-go.group/user/base/order/uploadReceiptPdf?orderId=" + id + "&orderType=1"); Element lost_item_french = document.getElementById("lost_item_french"); - lost_item_french.attr("href", "http://182.160.16.251:81/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); + lost_item_french.attr("href", "https://igo.i-go.group/mailbox/user/lossGoods.html?language=" + language + "&orderId=" + id + "&orderType=1"); Element track_french = document.getElementById("track_french"); - track_french.attr("href", "http://182.160.16.251:81/mailbox/user/location.html?orderId=" + id); + track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html?orderId=" + id); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderPrivateCar.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); @@ -2988,14 +2979,14 @@ server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : "")); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } - file = new File("/usr/local/nginx/html/files/html/ride_receipt_" + id + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + id + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -3004,27 +2995,27 @@ fileWriter.flush(); fileWriter.close(); - File file1 = new File("/usr/local/nginx/html/files/pdf/"); + File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } - file1 = new File("/usr/local/nginx/html/files/pdf/ride_receipt_" + id + ".pdf"); + file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + id + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); - HtmlToPdfUtils.convertToPdf("/usr/local/nginx/html/files/html/ride_receipt_" + id + ".html", "I-GO", fileOutputStream); + HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + id + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); } - String link ="http://182.160.16.251:81/files/html/ride_receipt_" + id + ".html"; + String link ="https://igo.i-go.group/files/html/ride_receipt_" + id + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); - tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu"); + tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course"); tEmail.setUserId(userInfo.getId()); tEmail.setType(1); tEmail.setOrderId(id); @@ -3088,7 +3079,7 @@ map.put("state", map.get("oldState")); } if(state == 8 || state == 9){ - map.put("receipt", "http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html"); + map.put("receipt", "https://igo.i-go.group/files/html/ride_receipt_" + orderId + ".html"); }else{ map.put("receipt", ""); } @@ -3183,7 +3174,7 @@ map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); map.put("orderType", 1); if(state == 8 || state == 9){ - map.put("receipt", "http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html"); + map.put("receipt", "https://igo.i-go.group/files/html/ride_receipt_" + orderId + ".html"); }else{ map.put("receipt", ""); } @@ -3270,10 +3261,11 @@ String lnt = "0"; String lat = "0"; + String tripId = redisUtil.getValue("trip" + uid); if(ToolUtil.isNotEmpty(value)){ lnt = value.split(",")[0]; lat = value.split(",")[1]; - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt)); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt), tripId); if(null == distancematrix){ System.err.println("查询距离出错了"); @@ -3301,7 +3293,7 @@ orderServerWarpper.setLaveTime("0"); } if(orderPrivateCar.getState() == 5 || orderPrivateCar.getState() == 6){//服务中 - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon()); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon(), tripId); if(null == distancematrix){ System.err.println("查询距离出错了"); }else if(distancematrix.getDistance() == 0){ @@ -3405,13 +3397,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-CN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-EN.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-FR.mp3"; + audioUrl = "https://igo.i-go.group/files/audio/system/ChangeAddress-FR.mp3"; break; } pushUtil.pushModifyAddress(2, orderPrivateCar.getDriverId(), orderId, 1, 1, audioUrl); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml index 0bb523e..62b2bd0 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml @@ -157,9 +157,8 @@ CONCAT(F.`name`, d.`name`, '.', c.carColor) as carName, (select sum(fraction) / count(id) from t_order_evaluate where driverId = a.id) as score, ( - (select count(id) from t_order_private_car where state in (7, 8, 9) and driverId = a.id) + - (select count(id) from t_order_taxi where state in (7, 8, 9) and driverId = a.id) + - (select count(id) from t_order_cross_city where state in (6, 8, 9) and driverId = a.id) + (select count(id) from t_order_private_car where driverId = a.id and state in (6, 7, 8, 9)) + + (select count(id) from t_order_logistics where driverId = a.id and state in (6, 7, 8, 9)) ) as num, DATE_FORMAT(b.startServiceTime, '%m月%d日 %H:%i') as `time`, b.startAddress as `start`, @@ -205,9 +204,8 @@ (select count(id) from t_order_cross_city where state not in (6, 7, 8, 9, 10, 12) and driverId = a.id) ) = 0, 2, 3)) as state, ( - (select count(id) from t_order_private_car where state in (7, 8, 9) and driverId = a.id) + - (select count(id) from t_order_taxi where state in (7, 8, 9) and driverId = a.id) + - (select count(id) from t_order_cross_city where state in (6, 8, 9) and driverId = a.id) + (select count(id) from t_order_private_car where driverId = a.id and state in (6, 7, 8, 9)) + + (select count(id) from t_order_logistics where driverId = a.id and state in (6, 7, 8, 9)) ) as orderNum, ((select sum(fraction) from t_order_evaluate where driverId = a.id) / (select count(id) from t_order_evaluate where driverId = a.id)) as fraction from t_driver a diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml index 95202f6..925c5a1 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml @@ -6,7 +6,9 @@ <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.ServerCarModel"> <id column="id" property="id"/> <result column="type" property="type"/> - <result column="name" property="name"/> + <result column="chineseName" property="chineseName"/> + <result column="englishName" property="englishName"/> + <result column="frenchName" property="frenchName"/> <result column="img" property="img"/> <result column="price" property="price"/> <result column="state" property="state"/> @@ -18,7 +20,9 @@ <select id="queryServerCarModel" resultType="map"> select id as id, - `name` as `name`, + chineseName, + englishName, + frenchName, img as img, price as price from t_server_carmodel where state = 1 and `type` = #{type} diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java index e12def7..0b09d72 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java @@ -26,8 +26,18 @@ /** * 车型名称 */ - @TableField("name") - private String name; + @TableField("chineseName") + private String chineseName; + /** + * 车型名称 + */ + @TableField("englishName") + private String englishName; + /** + * 车型名称 + */ + @TableField("frenchName") + private String frenchName; /** * 车型照片 */ @@ -64,15 +74,31 @@ public void setType(Integer type) { this.type = type; } - - public String getName() { - return name; + + public String getChineseName() { + return chineseName; } - - public void setName(String name) { - this.name = name; + + public void setChineseName(String chineseName) { + this.chineseName = chineseName; } - + + public String getEnglishName() { + return englishName; + } + + public void setEnglishName(String englishName) { + this.englishName = englishName; + } + + public String getFrenchName() { + return frenchName; + } + + public void setFrenchName(String frenchName) { + this.frenchName = frenchName; + } + public String getImg() { return img; } @@ -104,13 +130,15 @@ public void setPrice(String price) { this.price = price; } - + @Override public String toString() { return "ServerCarModel{" + "id=" + id + ", type=" + type + - ", name='" + name + '\'' + + ", chineseName='" + chineseName + '\'' + + ", englishName='" + englishName + '\'' + + ", frenchName='" + frenchName + '\'' + ", img='" + img + '\'' + ", price='" + price + '\'' + ", state=" + state + diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java index 0537c8e..326f2ac 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java @@ -15,5 +15,5 @@ * @return * @throws Exception */ - List<AdvertisementWarpper> queryAdvertisement(Double lat, Double lnt, Integer type) throws Exception; + List<AdvertisementWarpper> queryAdvertisement(Integer uid, Double lat, Double lnt, Integer type) throws Exception; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java index a1a045d..8259456 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java @@ -9,7 +9,7 @@ - Company query1(String lon, String lat) throws Exception; + Company query1(Integer uid, String lon, String lat) throws Exception; diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java index 4af2b23..b72eb86 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java @@ -32,7 +32,7 @@ * @return * @throws Exception */ - List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception; + List<Driver> queryIdleDriver(Integer uid, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception; /** diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java index 5c987b1..c74453c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java @@ -14,7 +14,7 @@ * @return * @throws Exception */ - List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception; + List<BaseWarpper> queryBusiness(Integer uid, Double lat, Double lnt, Integer language) throws Exception; /** diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java index 853c0d8..1b2a181 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java @@ -23,5 +23,5 @@ * @return * @throws Exception */ - City openCity(Double lat, Double lnt, Integer language) throws Exception; + City openCity(Integer uid, Double lat, Double lnt, Integer language) throws Exception; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java index 208b2d3..60655fb 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java @@ -17,7 +17,7 @@ * @return * @throws Exception */ - ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) throws Exception; + ResultUtil<BaseWarpper> queryExpectedTime(Integer uid, Double slon, Double slat, Double elon, Double elat) throws Exception; /** diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java index 083bb62..88089c2 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java @@ -13,7 +13,7 @@ * @return * @throws Exception */ - List<Phone> queryPhones(Double lat, Double lnt) throws Exception; + List<Phone> queryPhones(Integer uid, Double lat, Double lnt) throws Exception; /** @@ -21,5 +21,5 @@ * @return * @throws Exception */ - Map<String, Object> queryCustomerPhone(Double lat, Double lnt) throws Exception; + Map<String, Object> queryCustomerPhone(Integer uid, Double lat, Double lnt) throws Exception; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java index 5193cff..dc7b76d 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java @@ -19,7 +19,7 @@ * @return * @throws Exception */ - ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception; + ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(Integer uid, String startLonLat, String endLonLat, Integer type, Integer language) throws Exception; /** diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java index 02fd658..f6db82f 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java @@ -7,6 +7,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.warpper.AdvertisementWarpper; import org.springframework.stereotype.Service; @@ -20,6 +21,10 @@ @Resource private AdvertisementMapper advertisementMapper; + + @Resource + private RedisUtil redisUtil; + /** @@ -29,8 +34,9 @@ * @throws Exception */ @Override - public List<AdvertisementWarpper> queryAdvertisement(Double lat, Double lnt, Integer type) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + public List<AdvertisementWarpper> queryAdvertisement(Integer uid, Double lat, Double lnt, Integer type) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId); if(null == reverseGeocode){ return new ArrayList<>(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java index 7c00286..72c6d5c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java @@ -13,6 +13,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,13 +32,17 @@ @Autowired private ICityService cityService; + + @Resource + private RedisUtil redisUtil; @Override - public Company query1(String lon, String lat) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon)); + public Company query1(Integer uid, String lon, String lat) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon), tripId); if(null == reverseGeocode){ return null; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java index 801641d..3a269c8 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java @@ -105,12 +105,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "投诉司机" : language == 2 ? "Complain against driver" : "Porter plainte contre le chauffeur", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/complain_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/complain_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -119,7 +119,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/complain_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/complain_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index b6b55f9..886a48c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -81,13 +81,14 @@ * @throws Exception */ @Override - public List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { + public List<Driver> queryIdleDriver(Integer uid, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId); List<Driver> list = new ArrayList<>(); for(Driver driver : drivers){ String value = redisUtil.getValue("DRIVER" + driver.getId()); if(null != value){ - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]), tripId); if(null != distancematrix){ if(distancematrix.getDistance() < (distance * 1000)){ list.add(driver); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java index f6f951e..d5b50ab 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java @@ -108,12 +108,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Avis", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/feedback_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/feedback_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -122,7 +122,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/feedback_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/feedback_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java index 40e16d8..4d02159 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java @@ -7,6 +7,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import org.springframework.stereotype.Service; @@ -20,6 +21,9 @@ @Resource private OpenCityBusinessMapper openCityBusinessMapper; + + @Resource + private RedisUtil redisUtil; /** @@ -28,11 +32,12 @@ * @throws Exception */ @Override - public List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception { + public List<BaseWarpper> queryBusiness(Integer uid, Double lat, Double lnt, Integer language) throws Exception { if(null == language){ language = 2; } - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId); if(null == reverseGeocode){ return new ArrayList<>(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java index 713ebab..a38f19a 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java @@ -12,6 +12,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +33,9 @@ @Autowired private IUserInfoService userInfoService; + + @Resource + private RedisUtil redisUtil; /** @@ -70,11 +74,12 @@ * @throws Exception */ @Override - public City openCity(Double lat, Double lnt, Integer language) throws Exception { + public City openCity(Integer uid, Double lat, Double lnt, Integer language) throws Exception { if(null == language){ language = 2; } - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId); if(null == reverseGeocode){ return null; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index c2a091f..3fba8f0 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -17,6 +17,7 @@ import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; @@ -29,6 +30,7 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; @@ -62,6 +64,9 @@ @Autowired private ICarService carService; + + @Resource + private RedisUtil redisUtil; /** @@ -74,8 +79,9 @@ * @throws Exception */ @Override - public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) throws Exception { - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slon, elat, elon); + public ResultUtil<BaseWarpper> queryExpectedTime(Integer uid, Double slon, Double slat, Double elon, Double elat) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slon, elat, elon, tripId); Long duration = distancematrix.getDuration() / 60; BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setMinute(duration.intValue()); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java index 5d3f442..af742a4 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java @@ -7,6 +7,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -21,6 +22,12 @@ @Resource private PhoneMapper phoneMapper; + + @Resource + private RedisUtil redisUtil; + + + /** * 获取所有系统电话 @@ -28,8 +35,9 @@ * @throws Exception */ @Override - public List<Phone> queryPhones(Double lat, Double lnt) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + public List<Phone> queryPhones(Integer uid, Double lat, Double lnt) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId); if(null == reverseGeocode){ return new ArrayList<>(); } @@ -49,8 +57,9 @@ * @throws Exception */ @Override - public Map<String, Object> queryCustomerPhone(Double lat, Double lnt) throws Exception { - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt); + public Map<String, Object> queryCustomerPhone(Integer uid, Double lat, Double lnt) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId); if(null == reverseGeocode){ return new HashMap<>(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java index dab8aae..1f2ff3c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java @@ -125,12 +125,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "物品报失" : language == 2 ? "Report items lost" : "Signaler l'objet perdu", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/reportLoss_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/reportLoss_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -139,7 +139,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/reportLoss_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/reportLoss_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java index 7404f7e..7339b5f 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java @@ -16,6 +16,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.ServerCarModelWarpper; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +47,9 @@ @Autowired private IUserInfoService userInfoService; + + @Resource + private RedisUtil redisUtil; @@ -61,9 +65,10 @@ * @throws Exception */ @Override - public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception { + public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(Integer uid, String startLonLat, String endLonLat, Integer type, Integer language) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); //查找与起点匹配的企业(经营范围) - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(startLonLat.split(",")[1]), Double.valueOf(startLonLat.split(",")[0])); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(startLonLat.split(",")[1]), Double.valueOf(startLonLat.split(",")[0]), tripId); if(null == language){ language = 2; } @@ -83,7 +88,7 @@ Double slat = Double.valueOf(startLonLat.split(",")[1]); Double elnt = Double.valueOf(endLonLat.split(",")[0]); Double elat = Double.valueOf(endLonLat.split(",")[1]); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt, tripId); if(null == distancematrix){ return ResultUtil.error(language == 1 ? "获取预估距离出错" : language == 2 ? "Obtaining-estimated-distance error" : "Erreur d’obtention de la distance estimée", new ArrayList<>()); }else if(distancematrix.getDistance() == 0){ @@ -94,7 +99,7 @@ long duration = distancematrix.getDuration();//时间(秒) long duration_ = Long.valueOf(duration).longValue(); - List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, type); + List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, type, language); if(price.size() == 0){ return ResultUtil.error(language == 1 ? "未获取到可服务的车型" : language == 2 ? "Not obtaining available vehicle-type" : "Ne pas obtenir le type de véhicule disponible", new ArrayList<>()); } @@ -123,10 +128,19 @@ * @return * @throws Exception */ - public List<ServerCarModelWarpper> getPrice(Integer companyId, double distance, long duration, long wait, Integer type) throws Exception { + public List<ServerCarModelWarpper> getPrice(Integer companyId, double distance, long duration, long wait, Integer type, Integer language) throws Exception { List<Map<String, Object>> list = serverCarModelMapper.queryServerCarModel(type); List<ServerCarModelWarpper> data = new ArrayList<>(); for(Map<String, Object> map : list){ + if(1 == language){ + map.put("name", map.get("chineseName")); + } + if(2 == language){ + map.put("name", map.get("englishName")); + } + if(3 == language){ + map.put("name", map.get("frenchName")); + } Map<String, Object> query1 = systemPriceMapper.query(companyId, type, Integer.valueOf(map.get("id").toString())); if(null == query1){//排除没有设置价格的车型 continue; diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java index f07c287..9f651c7 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java @@ -4,6 +4,7 @@ import com.stylefeng.guns.modular.system.dao.UserCouponRecordMapper; import com.stylefeng.guns.modular.system.model.UserCouponRecord; import com.stylefeng.guns.modular.system.model.UserInfo; +import com.stylefeng.guns.modular.system.service.ISystemNoticeService; import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.DateUtil; @@ -24,6 +25,12 @@ @Autowired private IUserInfoService userInfoService; + + @Resource + private ISystemNoticeService systemNoticeService; + + + /** @@ -112,6 +119,9 @@ public ResultUtil handselCoupon(Integer id, Integer uid, Integer userId, Integer language) throws Exception { UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id); language = userInfoService.queryLanguage(uid, language); + UserInfo userInfo1 = userInfoService.selectById(uid); + String nickName = userInfo1.getNickName(); + String phone = userInfo1.getPhone(); if(userCouponRecord.getUserId().compareTo(uid) != 0){ return ResultUtil.error(language == 1 ? "您不能赠送此优惠券" : language == 2 ? "You cannot gift the coupon." : "Vous ne pouvez pas offrir le coupon."); } @@ -120,6 +130,11 @@ } userCouponRecord.setUserId(userId); userCouponRecordMapper.updateById(userCouponRecord); + UserInfo userInfo = userInfoService.selectById(userId); + Integer language1 = userInfo.getLanguage(); + systemNoticeService.addSystemNotice(1, language1 == 1 ? nickName + "(" + phone + ")刚赠送您了一张GHS 5.00的优惠券,请查看账户。" : language1 == 2 + ? nickName + "(" + phone + ")just gifted a GHS 5.00 coupon to you, please check your account." + : nickName + "(" + phone + ")vient de vous offrir un coupon de GHS 5.00, veuillez vérifier votre compte.", userId, 1); return ResultUtil.success(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java index e5fbae1..b0e6d50 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java @@ -217,7 +217,7 @@ //用户所属企业 if(null != lat && null != lng){ - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat, null); AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos(); String[] citys = new String[addressComponentsVos.length]; for (int i = 0; i < addressComponentsVos.length; i++) { @@ -268,12 +268,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -282,7 +282,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -370,12 +370,12 @@ } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -384,7 +384,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -498,12 +498,12 @@ } EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -512,7 +512,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -618,12 +618,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -632,7 +632,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -727,12 +727,12 @@ } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -741,7 +741,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); @@ -855,12 +855,12 @@ } EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -869,7 +869,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1044,12 +1044,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1058,7 +1058,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1192,12 +1192,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1206,7 +1206,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1301,7 +1301,7 @@ } //用户所属企业 if(null != lat && null != lng){ - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lng); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lng, null); if(null != reverseGeocode){ AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos(); String[] citys = new String[addressComponentsVos.length]; @@ -1342,12 +1342,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1356,7 +1356,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1487,12 +1487,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1501,7 +1501,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -1749,8 +1749,8 @@ checkoutRequest.setRequestDescription("Account top-up"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } @@ -1770,8 +1770,8 @@ checkoutRequest.setRequestDescription("Account top-up"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); - checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); + checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } return ResultUtil.success(""); @@ -1844,12 +1844,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "重置密码" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/password_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/password_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1858,7 +1858,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/password_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/password_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(uid); @@ -2158,12 +2158,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2172,7 +2172,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); @@ -2325,12 +2325,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 - File file = new File("/usr/local/nginx/html/files/html/"); + File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); - file = new File("/usr/local/nginx/html/files/html/coupon_" + randomString + ".html"); + file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2339,7 +2339,7 @@ fileWriter.flush(); fileWriter.close(); - String link ="http://182.160.16.251:81/files/html/coupon_" + randomString + ".html"; + String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo.getId()); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java index 944cc8c..e168063 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java @@ -1,18 +1,11 @@ package com.stylefeng.guns.modular.system.util; -import com.stylefeng.guns.modular.system.model.TEmail; -import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; -import com.sun.mail.smtp.SMTPSSLTransport; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.FileWriter; import java.util.Date; import java.util.Properties; @@ -59,47 +52,35 @@ gmailssl(props); final String username = "i-gotech@i-go.group";// gmail 邮箱 - final String password = "mhizkqkhuknbitps";// Google应用专用密码 - // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance - // Session.getDefaultInstance 会将username,password保存在session会话中 - // Session.getInstance 不进行保存 + final String password = "rvbmuovvpocmhast";// Google应用专用密码 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); - MimeMessage msg = new MimeMessage(session); - //2.设置发件人地址 - msg.setFrom(new InternetAddress(sentToEmail)); - /** - * 3.设置收件人地址(可以增加多个收件人、抄送、密送),即下面这一行代码书写多行 - * MimeMessage.RecipientType.TO:发送 - * MimeMessage.RecipientType.CC:抄送 - * MimeMessage.RecipientType.BCC:密送 - */ - msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(sentToEmail)); - //4.设置邮件主题 - msg.setSubject(subject, "UTF-8"); - // 6. 创建文本"节点" + // 创建默认的MimeMessage对象 + MimeMessage message = new MimeMessage(session); + // 设置发件人 + message.setFrom(new InternetAddress(username)); + // 设置收件人 + message.addRecipient(Message.RecipientType.TO, new InternetAddress(sentToEmail)); + // 设置邮件主题 + message.setSubject(subject,"UTF-8"); + // 设置邮件内容 MimeBodyPart text = new MimeBodyPart(); - // 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片 - text.setContent(content, "text/html;charset=UTF-8"); - // 7. (文本+图片)设置 文本 和 图片"节点"的关系(将 文本 和 图片"节点"合成一个混合"节点") - MimeMultipart mm_text_image = new MimeMultipart(); - mm_text_image.addBodyPart(text); - mm_text_image.setSubType("related"); // 关联关系 - // 11. 设置整个邮件的关系(将最终的混合"节点"作为邮件的内容添加到邮件对象) - msg.setContent(mm_text_image); + text.setContent(content,"text/html;charset=UTF-8"); + MimeMultipart mimeMultipart = new MimeMultipart(); + mimeMultipart.addBodyPart(text); + mimeMultipart.setSubType("related"); + message.setContent(mimeMultipart); //设置邮件的发送时间,默认立即发送 - msg.setSentDate(new Date()); - Transport transport = session.getTransport(); - transport.connect(); - transport.sendMessage(msg, msg.getAllRecipients()); - transport.close(); + message.setSentDate(new Date()); + + // 发送消息 + Transport.send(message); + System.out.println("Sent message successfully...."); return true; - - } public static String getWeek(int language,int i){ @@ -183,9 +164,9 @@ public static void main(String[] args) { try { - String week = getWeek(1, 3); - System.out.println(week); -// EmailUtil.send("393733352@qq.com", "验证码", "<html><span style=\"color:red;\">123456</span></html>"); +// String week = getWeek(1, 3); +// System.out.println(week); + EmailUtil.send("393733352@qq.com", "验证码", "<html><span style=\"color:red;\">123456</span></html>"); } catch (Exception e) { e.printStackTrace(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java new file mode 100644 index 0000000..6a91d7c --- /dev/null +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java @@ -0,0 +1,82 @@ +package com.stylefeng.guns.modular.system.util; + +import com.google.cloud.storage.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +/** + * google对象存储 + * @author zhibing.pu + * @Date 2024/8/31 9:18 + */ +public class GoogleCloudStorageUtil { + + + + public static String upload(MultipartFile file){ + // The ID of your GCP project + // String projectId = "your-project-id"; + + // The ID of your GCS bucket + // String bucketName = "your-unique-bucket-name"; + + // The ID of your GCS object + // String objectName = "your-object-name"; + + // The path to your file to upload + // String filePath = "path/to/your/file" + String fileName = file.getOriginalFilename(); + String projectId = "i-go-gcp"; + String bucketName = "i-go"; + Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + BlobId blobId = BlobId.of(bucketName, fileName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobWriteOption precondition; + if (storage.get(bucketName, fileName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobWriteOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobWriteOption.generationMatch( + storage.get(bucketName, fileName).getGeneration()); + } + try { + storage.createFrom(blobInfo, file.getInputStream(), precondition); + System.out.println( + "File uploaded to bucket " + bucketName + " as " + fileName); + makeObjectPublic(projectId, bucketName, fileName); + return "https://storage.googleapis.com/i-go/" + fileName; + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + + /** + * 设置对象公开访问 + * @param projectId + * @param bucketName + * @param objectName + */ + public static void makeObjectPublic(String projectId, String bucketName, String objectName) { + // String projectId = "your-project-id"; + // String bucketName = "your-bucket-name"; + // String objectName = "your-object-name"; + Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + BlobId blobId = BlobId.of(bucketName, objectName); + storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER)); + + System.out.println( + "Object " + objectName + " in bucket " + bucketName + " was made publicly readable"); + } + +} 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 d250980..47d2387 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 @@ -33,25 +33,33 @@ static Logger logger = LoggerFactory.getLogger(FleetEngineUtil.class); - private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; +// private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; +// +// private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; +// +// private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; +// +// private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; +// +// private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; +// +// private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; +// +// private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; +// +// private final String provider = "i-go-odrd-testing"; - private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com"; - - private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d"; - - private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E="; - - private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9"; - - private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8="; - - private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08"; - - private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w=="; - - private final String provider = "i-go-odrd-testing"; + private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-gcp.iam.gserviceaccount.com"; + + private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-gcp.iam.gserviceaccount.com"; + + private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-gcp.iam.gserviceaccount.com"; + + private final String provider = "i-go-gcp"; @Autowired private RedisUtil redisUtil; @@ -69,22 +77,22 @@ public Map<String, Object> fleetEngineAuth(int type, String id){ try { //谷歌云服务器使用这部分代码 -// AuthTokenMinter minter = AuthTokenMinter.builder() -// //服务端签名 -// .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) -// //司机端签名 -// .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) -// //乘客端签名 -// .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) -// .build(); AuthTokenMinter minter = AuthTokenMinter.builder() //服务端签名 - .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) + .setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT)) //司机端签名 - .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) + .setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT)) //乘客端签名 - .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) + .setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT)) .build(); +// AuthTokenMinter minter = AuthTokenMinter.builder() +// //服务端签名 +// .setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey)) +// //司机端签名 +// .setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey)) +// //乘客端签名 +// .setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey)) +// .build(); String jwt = ""; Long expirationTimestamp = 0L; @@ -109,6 +117,8 @@ return map; } catch (SigningTokenException e) { throw new RuntimeException(e); + } catch (SignerInitializationException e) { + throw new RuntimeException(e); } } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java index 74dce96..7b56632 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java @@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder; import com.google.maps.*; import com.google.maps.model.*; +import com.stylefeng.guns.core.util.ToolUtil; /** * 谷歌地图工具类 @@ -49,12 +50,15 @@ * @return * @throws Exception */ - public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ + public static ReverseGeocodeVo getReverseGeocode(double lat, double lng, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); request.language("en"); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } GeocodingResult[] results = request.await(); ReverseGeocodeVo vo = null; if(results.length > 0){ @@ -162,13 +166,16 @@ * @return * @throws Exception */ - public static DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{ + public static DistancematrixVo getDistancematrix(String origin, String destination, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination}); request.language("en"); request.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } DistanceMatrix distanceMatrix = request.await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.err.println(gson.toJson(distanceMatrix)); @@ -197,7 +204,7 @@ * @return * @throws Exception */ - public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ + public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); @@ -205,6 +212,9 @@ request.origins(new LatLng(sLat, sLnt)); request.destinations(new LatLng(eLat, eLnt)); request.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } DistanceMatrix distanceMatrix = request.await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(distanceMatrix)); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java index 0451d04..541617e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java @@ -293,7 +293,7 @@ params.put("msisdn", toPhone); params.put("message", msg); params.put("sender_id", "I-GO"); - params.put("callback_url", "http://182.160.16.251:80/user/base/sendCellulantMessageCallback"); + params.put("callback_url", "https://igo.i-go.group/user/base/sendCellulantMessageCallback"); post.body(params.toJSONString()); System.err.println("短信请求:\n请求地址:" + url + "\n请求参数:" + params.toJSONString()); HttpResponse execute = post.execute(); @@ -313,7 +313,7 @@ } public static void main(String[] ages){ - //{"callback_url":"http://182.160.16.251:80/user/base/sendCellulantMessageCallback","msisdn":"233244915521","message":"Your verification code is 2358,it is valid within 5 minutes, please do not reveal it to others.","key":"ru#0flkf3993qh!!rg!@y4)nhwi08c#tg_vasek!ja)kvfnfjyoljoz(@nai(jkf","sender_id":"I-GO"} + //{"callback_url":"https://igo.i-go.group/user/base/sendCellulantMessageCallback","msisdn":"233244915521","message":"Your verification code is 2358,it is valid within 5 minutes, please do not reveal it to others.","key":"ru#0flkf3993qh!!rg!@y4)nhwi08c#tg_vasek!ja)kvfnfjyoljoz(@nai(jkf","sender_id":"I-GO"} SMSUtil smsUtil = new SMSUtil(); smsUtil.sendCellulantMessage("233244915521", "Your verification code is 2358,it is valid within 5 minutes, please do not reveal it to others."); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java index 4e277fe..97857c2 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java @@ -48,9 +48,9 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. - try (OutputStream out = new FileOutputStream("/usr/local/nginx/html/files/audio/" + fileName)) { + try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); - return "http://182.160.16.251:81/files/audio/" + fileName; + return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ e.printStackTrace(); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index ded228b..e39b984 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -176,7 +176,7 @@ public synchronized ResultUtil<BaseWarpper> taxiOrder(OrderTaxi orderTaxi, Integer uid) throws Exception { //定义用户所属公司 UserInfo userInfo1 = userInfoService.selectById(uid); - Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat())); + Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat())); if(null == query){ return ResultUtil.error("出发点暂未开通"); } @@ -1302,7 +1302,7 @@ if(ToolUtil.isNotEmpty(vehicle)){ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0); diff --git a/UserIGOTravel/guns-admin/src/main/resources/application-dev.yml b/UserIGOTravel/guns-admin/src/main/resources/application-dev.yml index d9ebae9..04b39d8 100644 --- a/UserIGOTravel/guns-admin/src/main/resources/application-dev.yml +++ b/UserIGOTravel/guns-admin/src/main/resources/application-dev.yml @@ -122,7 +122,7 @@ #支付回调地址 #测试环境 -callbackPath: http://182.160.16.251/user +callbackPath: https://igo.i-go.group/user --- @@ -139,6 +139,6 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- diff --git a/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml b/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml index 8da1d0f..2588aa3 100644 --- a/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml +++ b/UserIGOTravel/guns-admin/src/main/resources/application-produce.yml @@ -2,7 +2,7 @@ port: 8006 guns: - swagger-open: true #是否开启swagger (true/false) + swagger-open: false #是否开启swagger (true/false) kaptcha-open: false #是否开启登录时验证码 (true/false) # file-upload-path: d:/tmp #文件上传目录(不配置的话为java.io.tmpdir目录) spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) @@ -47,8 +47,8 @@ spring: datasource: - 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 + url: jdbc:mysql://172.16.0.4:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 + username: i-go password: HjKbXilb9zajmXbl db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat @@ -104,12 +104,12 @@ --- -filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 +filePath: /home/igotechgh/orderPostionFile/ #存储订单轨迹文件路径 #支付回调地址 -callbackPath: http://182.160.16.251/user +callbackPath: https://igo.i-go.group/user --- @@ -126,8 +126,8 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 - template-path: /usr/local/nginx/html/mailbox/ + template-path: /home/igotechgh/nginx/html/mailbox/ --- -audioPath: /usr/local/nginx/html/files/audio +audioPath: /home/igotechgh/nginx/html/files/audio diff --git a/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml b/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml index 8e807ad..2f9ad75 100644 --- a/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml +++ b/UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml @@ -7,7 +7,7 @@ <contextName>logback</contextName> <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> - <property name="log.path" value="/usr/local/server/logs/user"/> + <property name="log.path" value="/home/igotechgh/app/log/user"/> <!--0. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/ZuulIGOTravel/pom.xml b/ZuulIGOTravel/pom.xml index a70e075..5e3844d 100644 --- a/ZuulIGOTravel/pom.xml +++ b/ZuulIGOTravel/pom.xml @@ -44,17 +44,17 @@ <version>2.9.0</version> </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <version>3.1.0</version> - <scope>provided</scope> - </dependency> +<!-- <dependency>--> +<!-- <groupId>org.springframework.boot</groupId>--> +<!-- <artifactId>spring-boot-starter-tomcat</artifactId>--> +<!-- <scope>provided</scope>--> +<!-- </dependency>--> +<!-- <dependency>--> +<!-- <groupId>javax.servlet</groupId>--> +<!-- <artifactId>javax.servlet-api</artifactId>--> +<!-- <version>3.1.0</version>--> +<!-- <scope>provided</scope>--> +<!-- </dependency>--> <!-- netty --> diff --git a/ZuulIGOTravel/src/main/resources/application.yml b/ZuulIGOTravel/src/main/resources/application.yml index f99aec0..b14369c 100644 --- a/ZuulIGOTravel/src/main/resources/application.yml +++ b/ZuulIGOTravel/src/main/resources/application.yml @@ -1,8 +1,12 @@ server: - port: 80 + port: 5000 spring: application: name: zuul-gateway #服务名称 + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB eureka: client: -- Gitblit v1.7.1