xuhy
2025-06-25 d91a5451f78c19d19c6f3325d50bd7739c6dc168
bug修改
6个文件已修改
87 ■■■■ 已修改文件
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DateUtil.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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();
}
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
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);
    }
    /**
     * 获取月初和月末日期
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)){
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();
        }