From 8f39e870ca9519d8a8190c038d15a030149de98e Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期二, 27 八月 2024 09:13:33 +0800 Subject: [PATCH] 修改2.0 bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 52 ++++--- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 35 ++++ UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java | 9 + UserIGOTravel/guns-admin/pom.xml | 8 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java | 10 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java | 24 ++ UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java | 18 + 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/api/AdvertisementController.java | 10 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 5 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java | 50 +++++- 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 | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 28 ++- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml | 8 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java | 19 ++ 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 + 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 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java | 10 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 4 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 16 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java | 2 UserIGOTravel/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/system/service/impl/UserCouponRecordServiceImpl.java | 15 ++ 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/system/service/IPhoneService.java | 4 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/system/service/IServerCarModelService.java | 2 34 files changed, 296 insertions(+), 114 deletions(-) diff --git a/UserIGOTravel/guns-admin/pom.xml b/UserIGOTravel/guns-admin/pom.xml index 9584c88..cf22f1a 100644 --- a/UserIGOTravel/guns-admin/pom.xml +++ b/UserIGOTravel/guns-admin/pom.xml @@ -205,13 +205,19 @@ <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.google.appengine</groupId> + <artifactId>appengine-api-1.0-sdk</artifactId> + <version>2.0.29</version> + </dependency> <dependency> <groupId>org.jsoup</groupId> 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..d1f08ea 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"); } 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/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/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..4785244 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(); 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..ecf7c91 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;//推送占比计算成小数 @@ -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); @@ -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; @@ -3828,13 +3831,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 +3866,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/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index d7db9e8..e74f5ff 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); @@ -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; @@ -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;//推送占比计算成小数 @@ -3270,10 +3271,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 +3303,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){ 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/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/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/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..2c65f75 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++) { @@ -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]; 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/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); -- Gitblit v1.7.1