Pu Zhibing
5 天以前 0a8d28436b2f7229ecdf40c6b003902002c8947f
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -9,7 +9,9 @@
import com.stylefeng.guns.modular.call.server.IOrderCallService;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.shunfeng.model.DriverRide;
import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
@@ -24,10 +26,15 @@
import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData;
import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -55,6 +62,8 @@
import java.io.PrintWriter;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
@@ -168,6 +177,9 @@
    @Autowired
    private IOrderRideService orderRideService;
    /*顺风车司机*/
    @Autowired
    private IDriverRideService driverRideService;
    /**
@@ -188,6 +200,47 @@
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            UserInfo userInfo = userInfoService.selectById(uid);
            if(null != userInfo.getDriverId()){
                DriverRide driverRide = driverRideService.selectById(userInfo.getDriverId());
                //获取证联数据
                if(null == driverRide.getCustId() || 0 == driverRide.getAccOpenFlag()){
                    TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
                    tradeTerminalInfo.setTerminal("1");
                    InetAddress inetAddress = InetAddress.getLocalHost();
                    String ip = inetAddress.getHostAddress();
                    tradeTerminalInfo.setIp(ip);
                    NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress);
                    byte[] mac = networkInterface.getHardwareAddress();
                    StringBuilder macAddress = new StringBuilder();
                    for (int i = 0; i < mac.length; i++) {
                        macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
                    }
                    tradeTerminalInfo.setMac(macAddress.toString());
                    ZLUserInfo userInfo1 = ZhengLianUtil.getUserInfo(driverRide.getEmpId().toString(), tradeTerminalInfo);
                    if(null != userInfo){
                        driverRide.setCustId(userInfo1.getCustId());
                        driverRide.setAccOpenFlag(userInfo1.getAccOpenFlag());
                        driverRideService.updateById(driverRide);
                    }
                }
                //同步到中台
                if(null != driverRide.getAccOpenFlag() && 1 == driverRide.getAccOpenFlag() && 0 == driverRide.getIsSynchronous()){
                    AddAccountInfoRequest request1 = new AddAccountInfoRequest();
                    request1.setCustId(driverRide.getCustId());
                    request1.setAccountNo(driverRide.getEmpId().toString());
                    request1.setAccountName(userInfo.getName());
                    request1.setMobile(userInfo.getPhone());
                    Integer status = EmployeeUtil.addAccountInfo(request1);
                    if(0 == status){
                        driverRide.setIsSynchronous(1);
                        driverRideService.updateById(driverRide);
                    }
                }
            }
            List<OrderStatusWarpper> data = new ArrayList<>();
            List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
            for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
@@ -1427,7 +1480,7 @@
                case 2:
                    return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
                case 3:
                    ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
                    ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type, path, ip);
                    orderCrossCityService.promotion(orderId);
@@ -1471,24 +1524,27 @@
                    case 1:
                        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                        orderPrivateCar.setState(9);
                        orderPrivateCar.setPayTime(new Date());
                        orderPrivateCarService.updateById(orderPrivateCar);
                        Driver driver1 = null;
                        Company company = null;
                        //中台修改订单状态
                        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
                        request.setOrderId(orderPrivateCar.getTravelId());
                        request.setStatus(orderPrivateCar.getState());
                        if (null != orderPrivateCar.getDriverId()) {
                            driver1 = driverService.selectById(orderPrivateCar.getDriverId());
                            company = companyService.selectById(driver1.getCompanyId());
                            request.setDriverId(driver1.getEmpId().toString());
                            request.setSupplierShopId(company.getEnterCode());
                        if(ToolUtil.isNotEmpty(orderPrivateCar.getTravelId())){
                            Driver driver1 = null;
                            Company company = null;
                            //中台修改订单状态
                            ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
                            request.setOrderId(orderPrivateCar.getTravelId());
                            request.setStatus(orderPrivateCar.getState());
                            if (null != orderPrivateCar.getDriverId()) {
                                driver1 = driverService.selectById(orderPrivateCar.getDriverId());
                                company = companyService.selectById(driver1.getCompanyId());
                                request.setDriverId(driver1.getEmpId().toString());
                                request.setSupplierShopId(company.getEnterCode());
                            }
                            if (2 == orderPrivateCar.getPromotion()) {
                                Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
                                request.setPromoterId(driver2.getEmpId().toString());
                            }
                            OrderUtil.modifyTravelItinerary(request);
                        }
                        if (2 == orderPrivateCar.getPromotion()) {
                            Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
                            request.setPromoterId(driver2.getEmpId().toString());
                        }
                        OrderUtil.modifyTravelItinerary(request);
                        new Thread(new Runnable() {
                            @Override
                            public void run() {
@@ -1502,24 +1558,27 @@
                    case 2:
                        OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                        orderTaxi.setState(9);
                        orderTaxi.setPayTime(new Date());
                        orderTaxiService.updateById(orderTaxi);
                        Driver driver = null;
                        Company company1 = null;
                        //中台修改订单状态
                        ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
                        request2.setOrderId(orderTaxi.getTravelId());
                        request2.setStatus(orderTaxi.getState());
                        if (null != orderTaxi.getDriverId()) {
                            driver = driverService.selectById(orderTaxi.getDriverId());
                            company1 = companyService.selectById(driver.getCompanyId());
                            request2.setDriverId(driver.getEmpId().toString());
                            request2.setSupplierShopId(company1.getEnterCode());
                        if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
                            Driver driver = null;
                            Company company1 = null;
                            //中台修改订单状态
                            ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
                            request2.setOrderId(orderTaxi.getTravelId());
                            request2.setStatus(orderTaxi.getState());
                            if (null != orderTaxi.getDriverId()) {
                                driver = driverService.selectById(orderTaxi.getDriverId());
                                company1 = companyService.selectById(driver.getCompanyId());
                                request2.setDriverId(driver.getEmpId().toString());
                                request2.setSupplierShopId(company1.getEnterCode());
                            }
                            if (2 == orderTaxi.getPromotion()) {
                                Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
                                request2.setPromoterId(driver2.getEmpId().toString());
                            }
                            OrderUtil.modifyTravelItinerary(request2);
                        }
                        if (2 == orderTaxi.getPromotion()) {
                            Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
                            request2.setPromoterId(driver2.getEmpId().toString());
                        }
                        OrderUtil.modifyTravelItinerary(request2);
                        break;
                    case 3:
                        OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
@@ -2173,13 +2232,17 @@
            if (orderNo.contains("PR")) {
                orderNo = orderNo.substring(2);
                orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
                orderPrivateCarService.promotion(Integer.valueOf(orderNo));
            }
            //出租车
            if (orderNo.contains("TA")) {
                orderNo = orderNo.substring(2);
                orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
                orderTaxiService.promotion(Integer.valueOf(orderNo));
            }
            //跨城出行
            if (orderNo.contains("CC")) {
                orderNo = orderNo.substring(2);
                orderCrossCityService.payOrderCrossCityCallback(Integer.valueOf(orderNo), payId, 1, null);
            }
        } catch (Exception e) {
            e.printStackTrace();
@@ -2375,8 +2438,7 @@
            @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet,
                                         HttpServletRequest request) {
    public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, HttpServletRequest request) {
        try {
            // 从Redis中获取当前用户ID
            Integer uid = userInfoService.getUserIdFormRedis(request);