From d959a545c69237d376f3bdef7f11d10013353c7a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 19 三月 2025 15:55:05 +0800 Subject: [PATCH] bug修改 订单数据查询优化 数据上传行政区划代码更换为订单所属行政区划代码 --- ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml | 122 ++++++++++++++++++++++++++++++++-------- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java | 45 +++++++++++--- MinistryOfTransport/src/main/java/com/sinata/ministryoftransport/util/MinistryOfTransport.java | 2 3 files changed, 134 insertions(+), 35 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java index 83a7e61..6c9d2db 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java @@ -103,12 +103,17 @@ * 订单发起接口 * @param orderId */ - public void orderCreate(Integer orderId) throws Exception { + public void orderCreate(Integer orderId) { OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); Map<String, Object> query = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId()); JSONObject jsonObject = new JSONObject(); if (orderPrivateCar.getBoardingLon()!=null && orderPrivateCar.getBoardingLat()!=null){ - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + } catch (Exception e) { + throw new RuntimeException(e); + } if (geocode!=null){ System.err.println("数据上传--经纬度转行政区划代码"); jsonObject.put("Address", geocode.get("provinceCode"));//发起第行政区划代码 @@ -153,14 +158,19 @@ * 订单成功接口 * @param orderId */ - public void orderMatch(Integer orderId) throws Exception { + public void orderMatch(Integer orderId) { OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Car car = carService.selectById(orderPrivateCar.getCarId()); String value = redisUtil.getValue("DRIVER" + orderPrivateCar.getDriverId()); JSONObject jsonObject = new JSONObject(); if (orderPrivateCar.getBoardingLon()!=null && orderPrivateCar.getBoardingLat()!=null){ - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + } catch (Exception e) { + throw new RuntimeException(e); + } if (geocode!=null){ System.err.println("数据上传--经纬度转行政区划代码"); jsonObject.put("Address", geocode.get("provinceCode"));//发起第行政区划代码 @@ -375,7 +385,7 @@ * 经营支付接口 * @param orderId */ - public void operatePay(Integer orderId) throws Exception { + public void operatePay(Integer orderId) { OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Map<String, Object> query = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId()); @@ -385,7 +395,12 @@ JSONObject jsonObject = new JSONObject(); jsonObject.put("OrderId", orderPrivateCar.getOrderNum());//订单号 if (orderPrivateCar.getBoardingLon()!=null && orderPrivateCar.getBoardingLat()!=null){ - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + } catch (Exception e) { + throw new RuntimeException(e); + } if (geocode!=null){ System.err.println("数据上传--经纬度转行政区划代码"); jsonObject.put("OnArea", geocode.get("provinceCode"));//发起第行政区划代码 @@ -481,7 +496,7 @@ * 驾驶员定位信息 * @param orderId */ - public void positionDriver(Integer orderId) throws Exception { + public void positionDriver(Integer orderId) { OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Car car = carService.selectById(orderPrivateCar.getCarId()); @@ -524,7 +539,12 @@ } jsonObject.put("LicenseId", driver.getIdCard());//机动车驾驶证号 if (orderPrivateCar.getBoardingLon()!=null && orderPrivateCar.getBoardingLat()!=null){ - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + } catch (Exception e) { + throw new RuntimeException(e); + } if (geocode!=null){ System.err.println("数据上传--经纬度转行政区划代码"); jsonObject.put("DriverRegionCode", geocode.get("provinceCode"));//发起第行政区划代码 @@ -567,7 +587,7 @@ * 车辆定位信息 * @param orderId */ - public void positionVehicle(Integer orderId) throws Exception { + public void positionVehicle(Integer orderId) { OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); Car car = carService.selectById(orderPrivateCar.getCarId()); List<OrderPosition> orderPositions = null; @@ -603,7 +623,12 @@ JSONObject jsonObject = new JSONObject(); jsonObject.put("VehicleNo", car.getCarLicensePlate());//车辆号牌 if (orderPrivateCar.getBoardingLon()!=null && orderPrivateCar.getBoardingLat()!=null){ - Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getBoardingLon() + "", orderPrivateCar.getBoardingLat() + ""); + } catch (Exception e) { + throw new RuntimeException(e); + } if (geocode!=null){ System.err.println("数据上传--经纬度转行政区划代码"); jsonObject.put("VehicleRegionCode", geocode.get("provinceCode"));//发起第行政区划代码 diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml index a3a9f4d..ce393f7 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml @@ -77,58 +77,132 @@ <!--根据条件查询专车订单列表--> <select id="getPrivateCarOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, - sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot - LEFT JOIN t_user as ui on ui.id = ot.userId - LEFT JOIN t_driver as di on di.id = ot.driverId - LEFT JOIN t_car as ci on ci.id= ot.carId - LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId - LEFT JOIN t_server_carmodel as sc on sc.id = ot.serverCarModelId - ) as o + SELECT + ui.nickName as userName, + ui.phone as userPhone, + CONCAT(di.`name`, '-', di.phone) as driver, + CONCAT(cb.`name`, '-', ci.carLicensePlate) as car, + sc.`name` as serverCarModel, + ot.id, + ot.type, + ot.userId, + ot.driverId, + ot.carId, + ot.orderNum, + ot.placementLon, + ot.placementLat, + ot.placementAddress, + ot.startLon, + ot.startLat, + ot.endLon, + ot.startAddress, + ot.endLat, + ot.endAddress, + ot.boardingLon, + ot.boardingLat, + ot.boardingAddress, + ot.boardingTime, + ot.getoffLon, + ot.getoffLat, + ot.getoffAddress, + ot.getoffTime, + ot.mileage, + ot.payManner, + ot.payType, + ot.orderMoney, + ot.startMoney, + ot.mileageMoney, + ot.durationMoney, + ot.longDistanceMoney, + ot.parkMoney, + ot.roadTollMoney, + ot.redPacketMoney, + ot.couponMoney, + ot.redPacketId, + ot.couponId, + ot.discount, + ot.discountMoney, + ot.activityId, + ot.companyId, + ot.payMoney, + ot.substitute, + ot.passengers, + ot.passengersPhone, + ot.state, + ot.insertTime, + ot.travelTime, + ot.snatchOrderTime, + ot.setOutTime, + ot.arriveTime, + ot.startServiceTime, + ot.endServiceTime, + ot.orderType, + ot.orderSource, + ot.invoiceId, + ot.isReassign, + ot.reassignNotice, + ot.trackId, + ot.isDelete, + ot.oldState, + ot.telX, + ot.bindId, + ot.serverCarModelId + FROM + t_order_private_car as ot + LEFT JOIN + t_user as ui ON ui.id = ot.userId + LEFT JOIN + t_driver as di ON di.id = ot.driverId + LEFT JOIN + t_car as ci ON ci.id = ot.carId + LEFT JOIN + t_car_brand as cb ON cb.id = ci.carBrandId + LEFT JOIN + t_server_carmodel as sc ON sc.id = ot.serverCarModelId <where> - o.isDelete = 1 and o.type = 1 + ot.isDelete = 1 + AND ot.type = 1 <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> - AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) + AND (ot.insertTime BETWEEN CONCAT(#{beginTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')) </if> <if test="orderNum != null and orderNum != ''"> - and o.orderNum LIKE CONCAT('%',#{orderNum},'%') + AND ot.orderNum LIKE CONCAT('%', #{orderNum}, '%') </if> <if test="orderSource != null and orderSource != ''"> - and o.orderSource = #{orderSource} + AND ot.orderSource = #{orderSource} </if> <if test="userName != null and userName != ''"> - and o.userName LIKE CONCAT('%',#{userName},'%') + AND ui.nickName LIKE CONCAT('%', #{userName}, '%') </if> <if test="userPhone != null and userPhone != ''"> - and o.userPhone LIKE CONCAT('%',#{userPhone},'%') + AND ui.phone LIKE CONCAT('%', #{userPhone}, '%') </if> <if test="passengers != null and passengers != ''"> - and o.passengers LIKE CONCAT('%',#{passengers},'%') + AND ot.passengers LIKE CONCAT('%', #{passengers}, '%') </if> <if test="passengersPhone != null and passengersPhone != ''"> - and o.passengersPhone LIKE CONCAT('%',#{passengersPhone},'%') + AND ot.passengersPhone LIKE CONCAT('%', #{passengersPhone}, '%') </if> <if test="serverCarModelId != null and serverCarModelId != ''"> - and o.serverCarModelId = #{serverCarModelId} + AND ot.serverCarModelId = #{serverCarModelId} </if> <if test="driver != null and driver != ''"> - and o.driver LIKE CONCAT('%',#{driver},'%') + AND (di.`name` LIKE CONCAT('%', #{driver}, '%') OR di.phone LIKE CONCAT('%', #{driver}, '%')) </if> <if test="state != null and state != ''"> - and o.state = #{state} + AND ot.state = #{state} </if> - <if test="smsNumber != null and smsNumber != ''"> - and o.smsNumber = #{smsNumber} + AND ot.smsNumber = #{smsNumber} </if> <if test="roleType != null and roleType != '' and roleType == 2"> - and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId))) + AND (ot.companyId = #{nowUserId} OR FIND_IN_SET(ot.companyId, (SELECT GROUP_CONCAT(id) as ids FROM t_company WHERE superiorId = #{nowUserId} GROUP BY superiorId))) </if> <if test="roleType != null and roleType != '' and roleType == 3"> - and o.companyId = #{nowUserId} + AND ot.companyId = #{nowUserId} </if> </where> - order by o.id desc + order by ot.id desc </select> <!--根据专车订单ID获取专车订单详情--> diff --git a/MinistryOfTransport/src/main/java/com/sinata/ministryoftransport/util/MinistryOfTransport.java b/MinistryOfTransport/src/main/java/com/sinata/ministryoftransport/util/MinistryOfTransport.java index 5b41879..c754ee3 100644 --- a/MinistryOfTransport/src/main/java/com/sinata/ministryoftransport/util/MinistryOfTransport.java +++ b/MinistryOfTransport/src/main/java/com/sinata/ministryoftransport/util/MinistryOfTransport.java @@ -46,7 +46,7 @@ Map<String, Object> data = new HashMap<>(); JSONObject jsonObject = new JSONObject(); jsonObject.put("CompanyId", CompanyId); - jsonObject.put("CompanyName", baseInfoCompanya.getCompanyName());//公司名称 + jsonObject.put("CompanyName", baseInfoCompany.getCompanyName());//公司名称 jsonObject.put("Identifier", baseInfoCompany.getIdentifier());//统一社会信用代码 jsonObject.put("Address", baseInfoCompany.getAddress());//注册地行政区划代码 jsonObject.put("BusinessScope", baseInfoCompany.getBusinessScope());//经营范围 -- Gitblit v1.7.1