From 21b672143b34eb7e7014f3ff6beded581609f086 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 20 八月 2025 10:53:21 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/ZhaoYangChuXing into dev --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 135 +++++++++++++++++++++++++++++---------------- 1 files changed, 87 insertions(+), 48 deletions(-) diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 20e4ff9..7631755 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -287,7 +287,6 @@ orderPrivateCar.setTravelTime(travelTime); orderPrivateCar.setOrderType(reservation); orderPrivateCar.setOrderSource(orderSource); - orderPrivateCar.setEstimatedPrice(estimatedPrice); if(orderSource == 2){//扫码下单 Driver driver = driverService.selectById(driverId); if(null == driver){ @@ -324,13 +323,21 @@ driver.setState(3); driverService.updateById(driver); } - // 查询城市的订单额度 OpenCity openCity = openCityService.selectOne(new EntityWrapper<OpenCity>() .eq("code", cityCode) .ne("flag", 3) .orderBy("orderMagnitude", false) .last("LIMIT 1")); + if(Objects.isNull(openCity)){ + String city = cityCode.substring(0, 4) + "00"; + openCity = openCityService.selectOne(new EntityWrapper<OpenCity>() + .eq("code", city) + .ne("flag", 3) + .orderBy("orderMagnitude", false) + .last("LIMIT 1")); + } + // 查询预估价格 ResultUtil<List<ServerCarModelWarpper>> listResultUtil = serverCarModelService.queryServerCarModel(startLon + "," + startLat, endLon + "," + endLat, 1); List<ServerCarModelWarpper> data = listResultUtil.getData(); @@ -341,8 +348,10 @@ orderPrivateCar.setState(7); if(orderSource == 2){ orderPrivateCar.setOrderMoney(data.get(0).getAmount()); + orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); }else { orderPrivateCar.setOrderMoney(data.get(carIndex).getAmount()); + orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); } orderPrivateCar.setPayMethod(0); this.insert(orderPrivateCar); @@ -353,6 +362,11 @@ baseWarpper.setAmount(orderPrivateCar.getOrderMoney()); return ResultUtil.success(baseWarpper); }else { + if(orderSource == 2){ + orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); + }else { + orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); + } orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); orderPrivateCar.setPayMethod(1); @@ -1158,7 +1172,11 @@ 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(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list1 = driverService.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), 2.0D, null);//所有附近空闲司机 + list.addAll(list1); + list = list.stream().distinct().collect(Collectors.toList()); if(list.size() > 0){ // 查询预约单 List<Integer> driverIds = list.stream().map(Driver::getId).collect(Collectors.toList()); @@ -1326,36 +1344,36 @@ return ResultUtil.error("订单不在待支付状态,不允许支付", ""); } PaymentRecord query3 = paymentRecordService.query(1, null, null, orderId, 1, null, 1); - if(null != query3){ - ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI"); - if (resultUtil1.getCode() == 200) { - /** - * SUCCESS--支付成功 - * REFUND--转入退款 - * NOTPAY--未支付 - * CLOSED--已关闭 - * REVOKED--已撤销(刷卡支付) - * USERPAYING--用户支付中 - * PAYERROR--支付失败(其他原因,如银行返回失败) - * ACCEPT--已接收,等待扣款 - */ - String result_code = resultUtil1.getData().get("result_code").toString(); - if("SUCCESS".equals(result_code)){ - String s = resultUtil1.getData().get("trade_state").toString(); - if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) { - payMoneyUtil.closeWXOrder(query3.getSerialNumber()); - paymentRecordService.deleteById(query3.getId()); - } - if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) { - return ResultUtil.error("不允许重复支付"); - } - if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) { - payMoneyUtil.closeWXOrder(query3.getSerialNumber()); - paymentRecordService.deleteById(query3.getId()); - } - } - } - } +// if(null != query3){ +// ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI"); +// if (resultUtil1.getCode() == 200) { +// /** +// * SUCCESS--支付成功 +// * REFUND--转入退款 +// * NOTPAY--未支付 +// * CLOSED--已关闭 +// * REVOKED--已撤销(刷卡支付) +// * USERPAYING--用户支付中 +// * PAYERROR--支付失败(其他原因,如银行返回失败) +// * ACCEPT--已接收,等待扣款 +// */ +// String result_code = resultUtil1.getData().get("result_code").toString(); +// if("SUCCESS".equals(result_code)){ +// String s = resultUtil1.getData().get("trade_state").toString(); +// if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) { +// payMoneyUtil.closeWXOrder(query3.getSerialNumber()); +// paymentRecordService.deleteById(query3.getId()); +// } +// if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) { +// return ResultUtil.error("不允许重复支付"); +// } +// if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) { +// payMoneyUtil.closeWXOrder(query3.getSerialNumber()); +// paymentRecordService.deleteById(query3.getId()); +// } +// } +// } +// } @@ -1503,13 +1521,14 @@ userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); - userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 - +// SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); +// if(Objects.nonNull(query1)){ +// userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 +// } + //添加交易明细 transactionDetailsService.saveData(uid, "完成订单", orderMoney, 2, 1, 1, 1, orderId); - userInfoService.updateById(userInfo); - + // orderPrivateCar.setState(8); orderPrivateCar.setPayType(3); // orderPrivateCar.setPayMoney(orderMoney); @@ -1532,6 +1551,12 @@ if(Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney() > 0){ orderPrivateCar.setPayMoney(new BigDecimal(orderMoney).add(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())).doubleValue()); orderPrivateCar.setOrderMoney(orderPrivateCar.getPayMoney()); + + SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); + if(Objects.nonNull(query1)){ + userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 + } + userInfoService.updateById(userInfo); //添加已收入明细 Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double speMoney = company.getSpeMoney(); @@ -1999,19 +2024,23 @@ } if(Integer.valueOf(String.valueOf(map.get("state"))) == 7){ OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); - UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId")))); - if(null != query2){ - Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); - if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ - Double special = query2.getSpecial(); - orderPrivateCar.setDiscount(special); - Double orderMoney = orderPrivateCar.getOrderMoney(); - double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); - if(orderMoney.compareTo(v) > 0){ - map.put("discountMoney",orderMoney - v); + Object companyId = map.get("companyId"); + if(Objects.nonNull(companyId)){ + UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId")))); + if(null != query2){ + Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); + if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ + Double special = query2.getSpecial(); + orderPrivateCar.setDiscount(special); + Double orderMoney = orderPrivateCar.getOrderMoney(); + double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + if(orderMoney.compareTo(v) > 0){ + map.put("discountMoney",orderMoney - v); + } } } - + }else{ + map.put("discountMoney",0); } } @@ -2102,6 +2131,16 @@ List<OrderPosition> list = JSONArray.parseArray(sb.toString(), OrderPosition.class); orderServerWarpper.setOrderPositionList(JSONObject.toJSONString(list)); } + // 查询司机服务中的订单 + OrderPrivateCar one = this.selectOne(new EntityWrapper<OrderPrivateCar>() + .eq("driverId", orderPrivateCar.getDriverId()) + .eq("state", 5) + .orderBy("insertTime", false) + .last("LIMIT 1")); + if(Objects.nonNull(one)){ + orderServerWarpper.setLastLon(one.getEndLon()+""); + orderServerWarpper.setLastLat(one.getEndLat()+""); + } return orderServerWarpper; } -- Gitblit v1.7.1