From d91a5451f78c19d19c6f3325d50bd7739c6dc168 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 25 六月 2025 19:04:18 +0800 Subject: [PATCH] bug修改 --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 47 ++++++++++++++++------- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java | 6 +++ UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java | 25 ++++++++++++ UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 2 + UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java | 2 + UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 5 ++ 6 files changed, 73 insertions(+), 14 deletions(-) diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java index f23851f..556f941 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java @@ -81,7 +81,9 @@ }) public ResultUtil<DriverInfoWarpper> queryDriverInfo(Integer id){ try { + System.err.println(id); Map<String, Object> map = driverService.queryDriverInfo(id); + System.err.println(map); String name = String.valueOf(map.get("name")); map.put("name", name.substring(0, 1) + "师傅"); List<BaseWarpper> list = driverService.queryBusiness(id); diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java index 488e3a9..991d2ea 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java @@ -258,4 +258,10 @@ List<OrderCrossCity> queryListOrder(Integer driverId, Integer lineShiftId, List<Integer> state, String day) throws Exception; + + /** + * 自动取消订单 + */ + void autoCancelOrder(); + } diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index ba3c124..e88c6e3 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.core.util.GpsCoordinateUtils; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.crossCity.dao.LinePriceMapper; import com.stylefeng.guns.modular.crossCity.dao.LineShiftDriverMapper; @@ -43,6 +44,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; @@ -51,6 +53,7 @@ import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; +import java.time.LocalDateTime; import java.util.*; import static com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl.orderIds; @@ -1283,20 +1286,10 @@ if(null == query){ return ResultUtil.error("订单还未进行支付"); } -// Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), id + "_3", orderCrossCity.getOrderNum()); -// if(Integer.valueOf(merrefund.get("code").toString()) == 0){ -// Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum()); -// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功 -// //添加交易明细 -// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); -// } -// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败 -// return ResultUtil.error("订单取消失败(退款不成功)"); -// } -// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知 -// return ResultUtil.error("退款返回未知异常"); -// } -// } + Map<String, String> merrefund = payMoneyUtil.wxRefund(query.getCode(), orderCrossCity.getOrderNum(), String.valueOf(query.getAmount()), String.valueOf(query.getAmount()), ""); + System.err.println("跨城退款数据:::"+merrefund); + //添加交易明细 + transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); integer = orderCancelService.saveData(id, 3, reason, remark, null, null, 2, 1, uid); } @@ -1364,6 +1357,18 @@ orderServerWarpper.setState(orderCrossCity.getState()); orderServerWarpper.setLon(null != value ? value.split(",")[0] : "0.0"); orderServerWarpper.setLat(null != value ? value.split(",")[1] : "0.0"); + value = value == null ? "0.0,0.0" : value; + double[] doubles = GpsCoordinateUtils.calBD09toGCJ02(Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); + orderServerWarpper.setNextLongitude(String.valueOf(doubles[0])); + orderServerWarpper.setNextLatitude(String.valueOf(doubles[1])); + // 起点地址转换 + doubles = GpsCoordinateUtils.calBD09toGCJ02(orderCrossCity.getStartLat(), orderCrossCity.getStartLon()); + orderServerWarpper.setStartLat(String.valueOf(doubles[0])); + orderServerWarpper.setStartLon(String.valueOf(doubles[1])); + // 终点地址转换 + doubles = GpsCoordinateUtils.calBD09toGCJ02(orderCrossCity.getEndLat(), orderCrossCity.getEndLon()); + orderServerWarpper.setEndLat(String.valueOf(doubles[0])); + orderServerWarpper.setEndLon(String.valueOf(doubles[1])); orderServerWarpper.setReassignNotice(orderCrossCity.getReassignNotice()); if(orderCrossCity.getState() == 2 || orderCrossCity.getState() == 3){//前往预约地 orderServerWarpper.setReservationMileage(d); @@ -1792,6 +1797,20 @@ return orderCrossCityMapper.queryListOrder(driverId, lineShiftId, state, day); } + @Override + public void autoCancelOrder() { + LocalDateTime localDateTime = LocalDateTime.now(); + LocalDateTime dateTime = localDateTime.minusMinutes(30); + String time = dateUtil.localDateTimeToStringHHmm(dateTime); + List<OrderCrossCity> orderCrossCities = this.selectList(new EntityWrapper<OrderCrossCity>().eq("state", 7).like("insertTime", time)); + if(!CollectionUtils.isEmpty(orderCrossCities)){ + for (OrderCrossCity orderCrossCity : orderCrossCities) { + orderCrossCity.setState(10); + } + this.updateBatchById(orderCrossCities); + } + } + /** * 获取订单编号 * @return diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java index 9519160..1b6fa9c 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java @@ -5,6 +5,9 @@ import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -110,6 +113,28 @@ return list; } + /** + * localdate转为字符串 + * + * @param time localdate + * @return 字符串 + */ + public String localDateToString(LocalDate time) { + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + return df.format(time); + } + + /** + * localdatetime转为字符串 + * + * @param time localdatetime + * @return 字符串 + */ + public static String localDateTimeToStringHHmm(LocalDateTime time) { + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + return df.format(time); + } + /** * 获取月初和月末日期 diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java index 5d768f1..82b0efe 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java @@ -527,6 +527,7 @@ Map<String, String> map1 = null; String body1 = httpClientUtil.pushHttpRequsetXml(url, xmlString.toString(), new HashMap<>()); + System.err.println("退款返回信息========"+body1); //将结果xml解析成map body1 = body1.replaceAll("<!\\[CDATA\\[",""); body1 = body1.replaceAll("]]>", ""); @@ -537,6 +538,7 @@ } catch (DocumentException e) { e.printStackTrace(); } + System.err.println("跨城推送取消====="+map1); String return_code = map1.get("return_code"); Map<String, String> map2 = new HashMap<>(); if("SUCCESS".equals(return_code)){ diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java index 9965c15..d1445ad 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java @@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.system.util; +import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService; import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -15,6 +16,8 @@ @Autowired private IUserCouponRecordService userCouponRecordService; + @Autowired + private IOrderCrossCityService orderCrossCityService; @@ -26,6 +29,8 @@ try { //修改过期的优惠券 userCouponRecordService.updateTimeOut(); + // 自动取消未支付订单 + orderCrossCityService.autoCancelOrder(); } catch (Exception e) { e.printStackTrace(); } -- Gitblit v1.7.1