From e28d33c09405e246a2d75fcb1f69a9e8e9d911b8 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 29 九月 2022 09:07:31 +0800 Subject: [PATCH] 更新最新代码 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 118 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 61 insertions(+), 57 deletions(-) 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 d98d1e7..4dcd9a2 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 @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper; import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; @@ -177,19 +178,19 @@ orderPrivateCar.setSnatchOrderTime(new Date()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderPrivateCar.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderPrivateCar.setTrackId(track); //调用移动的小号接口 /*Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); Region region = regionMapper.query(geocode.get("districtCode"));*/ - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), null); - if(String.valueOf(map.get("code")).equals("200")){ - orderPrivateCar.setTelX(map.get("telX")); - orderPrivateCar.setBindId(map.get("bindId")); - } - System.out.println(map); +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), null); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderPrivateCar.setTelX(map.get("telX")); +// orderPrivateCar.setBindId(map.get("bindId")); +// } +// System.out.println(map); this.updateById(orderPrivateCar); //如果是预约单,则不修改司机为服务中 @@ -512,10 +513,11 @@ this.updateById(orderPrivateCar); return true;//第一条数据不作处理,直接存储 } - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(now, old, 0);//直线距离 + + Map<String, Double> distance = GeodesyUtil.getDistance(now, old); if(null != distance){ - String distance1 = distance.get("distance"); - if(Double.valueOf(distance1) > 50 && orderPrivateCar.getState()==5/* && orderPosition.getInsertTime().getTime()>=orderPrivateCar.getBoardingTime().getTime()*/){//大于50米表示在移动 + Double distance1 = distance.get("WGS84"); + if(distance1 > 50 && orderPrivateCar.getState()==5/* && orderPosition.getInsertTime().getTime()>=orderPrivateCar.getBoardingTime().getTime()*/){//大于50米表示在移动 orderPrivateCar.setMileage(new BigDecimal(orderPrivateCar.getMileage()).add(new BigDecimal(distance1)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); this.updateById(orderPrivateCar); return true; @@ -589,54 +591,56 @@ //夜间服务处理逻辑 - Calendar s = Calendar.getInstance(); - s.setTime(date); - s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0])); - s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1])); + if(ToolUtil.isNotEmpty(num16)){ + Calendar s = Calendar.getInstance(); + s.setTime(date); + s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0])); + s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1])); - Calendar e = Calendar.getInstance(); - e.setTime(date); - e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0])); - e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1])); + Calendar e = Calendar.getInstance(); + e.setTime(date); + e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0])); + e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1])); - if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){ - if(d > num8.doubleValue() && d <= num9.doubleValue()){ - yt1 = num20 * (d - num8); + if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){ + if(d > num8.doubleValue() && d <= num9.doubleValue()){ + yt1 = num20 * (d - num8); + } + if(d > num9.doubleValue()){ + yt1 = num20 * (num9 - num8); + } + if(d > num11.doubleValue() && d <= num12.doubleValue()){ + yt2 = num21 * (d - num11); + } + if(d > num12.doubleValue()){ + yt2 = num21 * (num12 - num11); + } + if(d > num14.doubleValue()){ + yt3 = num22 * (d - num14); + } + amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3; + orderPrivateCar.setStartMileage(num2); + orderPrivateCar.setStartMoney(num17);//起步价 + orderPrivateCar.setStartDuration((int)(num3.doubleValue())); + orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费 + orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费 + orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费 + orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费 + orderPrivateCar.setParkMoney(parkingFee);//停车费 + orderPrivateCar.setRoadTollMoney(crossingFee);//过路费 + orderPrivateCar.setRedPacketMoney(0D);//红包抵扣 + orderPrivateCar.setCouponMoney(0D);//优惠券抵扣 + orderPrivateCar.setDiscount(0D);//优惠抵扣 + orderPrivateCar.setPayMoney(0D);//支付金额 + orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + orderPrivateCar.setMoneyType(2); + orderPrivateCar.setMoneyTime(num16); + return orderPrivateCar; } - if(d > num9.doubleValue()){ - yt1 = num20 * (num9 - num8); - } - if(d > num11.doubleValue() && d <= num12.doubleValue()){ - yt2 = num21 * (d - num11); - } - if(d > num12.doubleValue()){ - yt2 = num21 * (num12 - num11); - } - if(d > num14.doubleValue()){ - yt3 = num22 * (d - num14); - } - amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3; - orderPrivateCar.setStartMileage(num2); - orderPrivateCar.setStartMoney(num17);//起步价 - orderPrivateCar.setStartDuration((int)(num3.doubleValue())); - orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费 - orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费 - orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费 - orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费 - orderPrivateCar.setParkMoney(parkingFee);//停车费 - orderPrivateCar.setRoadTollMoney(crossingFee);//过路费 - orderPrivateCar.setRedPacketMoney(0D);//红包抵扣 - orderPrivateCar.setCouponMoney(0D);//优惠券抵扣 - orderPrivateCar.setDiscount(0D);//优惠抵扣 - orderPrivateCar.setPayMoney(0D);//支付金额 - orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - orderPrivateCar.setMoneyType(2); - orderPrivateCar.setMoneyTime(num16); - return orderPrivateCar; } -- Gitblit v1.7.1