From 06c5eda038f967dc0c0261e16eff0ad1a18e41e7 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 05 六月 2024 15:52:58 +0800 Subject: [PATCH] 6.5 --- UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 61 +++++++++++++++++------------- 1 files changed, 34 insertions(+), 27 deletions(-) diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 4c7ef31..cdf1dd7 100644 --- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -33,6 +33,7 @@ import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService; import com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl; +import io.swagger.models.auth.In; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -302,17 +303,17 @@ } //计算折扣 - UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderCrossCity.getCompanyId()); - if(null != query2){ - Double special = query2.getSpecial(); - orderCrossCity.setDiscount(special); - double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); - if(orderMoney.compareTo(v) > 0){ - orderCrossCity.setDiscountMoney(orderMoney - v); - orderCrossCity.setActivityId(query2.getId()); - orderMoney = v; - } - } +// UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderCrossCity.getCompanyId()); +// if(null != query2){ +// Double special = query2.getSpecial(); +// orderCrossCity.setDiscount(special); +// double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); +// if(orderMoney.compareTo(v) > 0){ +// orderCrossCity.setDiscountMoney(orderMoney - v); +// orderCrossCity.setActivityId(query2.getId()); +// orderMoney = v; +// } +// } if(payType == 1){//微信支付 String app = type == 1 ? "APP" : "JSAPI"; @@ -1389,7 +1390,7 @@ if(null == distance){ System.err.println("查询距离出错了"); }else{ - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toPlainString(); t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; } orderServerWarpper.setReservationMileage("0"); @@ -1421,7 +1422,7 @@ @Override public ResultUtil<BaseWarpper> saveOrderFerry(String serverCarModelIds, Date travelTime, String placementLon, String placementLat, String startLon, String startLat, String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId, - Integer place, Integer orderSource, Integer uid) throws Exception { + Integer place, Integer orderSource, Integer uid,String name,String phone) throws Exception { if(ToolUtil.isEmpty(serverCarModelIds)){ return ResultUtil.error("请选择服务车型"); } @@ -1444,7 +1445,7 @@ map.put("orderType", 2); map.put("orderId", resultUtil.getData().getId()); }else{ - ResultUtil<BaseWarpper> resultUtil = this.orderPrivateCar(Integer.valueOf(serverModelId), travelTime, placementLon, placementLat, startLon, startLat, startAddress, endLon, endLat, endAddress, crossCityOrderId, place, orderSource, uid); + ResultUtil<BaseWarpper> resultUtil = this.orderPrivateCar(Integer.valueOf(serverModelId), travelTime, placementLon, placementLat, startLon, startLat, startAddress, endLon, endLat, endAddress, crossCityOrderId, place, orderSource, uid,name,phone); if(resultUtil.getCode() != 200){ return resultUtil; } @@ -1571,7 +1572,7 @@ * @throws Exception */ private synchronized ResultUtil<BaseWarpper> orderPrivateCar(Integer serverCarModelId, Date travelTime, String placementLon, String placementLat, String startLon, String startLat, - String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId, Integer place, Integer orderSource, Integer uid) throws Exception{ + String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId, Integer place, Integer orderSource, Integer uid,String name,String phone) throws Exception{ //如果出行时间大于当前10分钟则默认为预约单 Integer reservation = 1; if(travelTime.getTime() > (System.currentTimeMillis() + 600000)){ @@ -1604,6 +1605,8 @@ orderPrivateCar.setEndLat(Double.valueOf(endLat)); orderPrivateCar.setEndAddress(endAddress); orderPrivateCar.setSubstitute(0); + orderPrivateCar.setPassengers(name); + orderPrivateCar.setPassengersPhone(phone); if(orderPrivateCar.getSubstitute() == 0 || ToolUtil.isEmpty(orderPrivateCar.getPassengers())){ UserInfo userInfo = userInfoService.selectById(uid); if(ToolUtil.isEmpty(userInfo.getPhone())){ @@ -1622,12 +1625,11 @@ orderPrivateCar.setIsDelete(1); orderPrivateCarMapper.insert(orderPrivateCar); - //添加消息 - systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); + //添加消息 systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setId(orderPrivateCar.getId()); - return ResultUtil.success(baseWarpper); + return ResultUtil.success(baseWarpper); } @@ -1637,13 +1639,15 @@ * @throws Exception */ public void pushOrder(List<Map<String, Integer>> list) throws Exception{ + System.err.println("====="+list); for(Map<String, Integer> map : list){ Integer orderType = map.get("orderType"); - Integer orderId = map.get("orderId"); + Integer orderId1 = map.get("orderId"); Thread thread = new Thread(new Runnable() { @Override public void run() { List<Map<String, Integer>> datas = list; + final Integer orderId = orderId1; String vehicle = redisUtil.getValue("VEHICLE"); List<Integer> integers = new ArrayList<>(); if(ToolUtil.isNotEmpty(vehicle)){ @@ -1651,7 +1655,10 @@ } try { if(orderType == 1){//专车 + Thread.sleep(1000); + System.err.println("====="+orderId); OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); + System.err.println("====="+orderPrivateCar); OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单 Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 @@ -1673,12 +1680,12 @@ //删除其他无效数据 for(Map<String, Integer> map : datas){ Integer orderType = map.get("orderType"); - Integer orderId = map.get("orderId"); + Integer orderId1 = map.get("orderId"); if(orderType == 1 && orderId != orderPrivateCar.getId()){ - orderPrivateCarMapper.deleteById(orderId); + orderPrivateCarMapper.deleteById(orderId1); } if(orderType == 2){ - orderTaxiMapper.deleteById(orderId); + orderTaxiMapper.deleteById(orderId1); } } break; @@ -1742,12 +1749,12 @@ //删除其他无效数据 for(Map<String, Integer> map : datas){ Integer orderType = map.get("orderType"); - Integer orderId = map.get("orderId"); + Integer orderId1 = map.get("orderId"); if(orderType == 1){ - orderPrivateCarMapper.deleteById(orderId); + orderPrivateCarMapper.deleteById(orderId1); } - if(orderType == 2 && orderId != orderTaxi.getId()){ - orderTaxiMapper.deleteById(orderId); + if(orderType == 2 && orderId1 != orderTaxi.getId()){ + orderTaxiMapper.deleteById(orderId1); } } break; @@ -1794,7 +1801,7 @@ } }); thread.start(); - threadMap.put(orderId + "_" + orderType, thread); + threadMap.put(orderId1 + "_" + orderType, thread); } } -- Gitblit v1.7.1