From b002ecb0c5af0776c955b01244434826c66b6a68 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 24 二月 2023 10:00:57 +0800 Subject: [PATCH] 新增司机端接口 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java | 21 ++++++++++ driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java | 6 +++ driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml | 30 +++++++++++++++ driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java | 10 ++++- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java | 32 ++++++++++++++- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/OrderMapper.java | 9 ++++ 6 files changed, 102 insertions(+), 6 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java index 132e8a4..8b0bc8d 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java @@ -6,6 +6,7 @@ import com.supersavedriving.driver.modular.system.util.ResultUtil; import com.supersavedriving.driver.modular.system.warpper.AddOrderWarpper; import com.supersavedriving.driver.modular.system.warpper.HallOrderList; +import com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper; import com.supersavedriving.driver.modular.system.warpper.ResponseWarpper; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -171,7 +172,16 @@ - public ResponseWarpper<> queryOrderInfo(Long orderId, HttpServletRequest request){ + + @ResponseBody + @PostMapping("/api/order/queryOrderInfo") + @ServiceLog(name = "获取订单详情", url = "/api/order/queryOrderInfo") + @ApiOperation(value = "获取订单详情", tags = {"司机端-首页"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "long"), + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResponseWarpper<OrderInfoWarpper> queryOrderInfo(Long orderId, HttpServletRequest request){ if(null == orderId){ return ResponseWarpper.success(ResultUtil.paranErr("orderId")); } @@ -180,12 +190,28 @@ if(null == uid){ return ResponseWarpper.success(ResultUtil.tokenErr()); } - ResultUtil resultUtil = orderService.receiveOrder(uid, orderId); - return ResponseWarpper.success(resultUtil); + OrderInfoWarpper orderInfoWarpper = orderService.queryOrderInfo(uid, orderId); + return ResponseWarpper.success(orderInfoWarpper); }catch (Exception e){ e.printStackTrace(); return new ResponseWarpper(500, e.getMessage()); } } + + + public ResponseWarpper driverProcessOperations(Long orderId, Integer state, HttpServletRequest request){ + if(null == orderId){ + return ResponseWarpper.success(ResultUtil.paranErr("orderId")); + } + if(null == state){ + return ResponseWarpper.success(ResultUtil.paranErr("state")); + } + try { + + }catch (Exception e){ + e.printStackTrace(); + return new ResponseWarpper(500, e.getMessage()); + } + } } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/OrderMapper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/OrderMapper.java index c627f8b..2317b74 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/OrderMapper.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/OrderMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.supersavedriving.driver.modular.system.model.Order; import com.supersavedriving.driver.modular.system.warpper.HallOrderList; +import com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -17,4 +18,12 @@ * @return */ List<HallOrderList> queryOrderHall(@Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize); + + + /** + * 获取订单详情 + * @param orderId + * @return + */ + OrderInfoWarpper queryOrderInfo(@Param("orderId") Long orderId); } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml index 344442d..f2b1ab6 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml @@ -80,4 +80,34 @@ left join t_app_user b on (a.userId = b.id) where a.`status` = 1 and a.hallOrder = 1 order by a.createTime desc </select> + + + + <select id="queryOrderInfo" resultType="com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper"> + select + a.id, + b.avatar, + a.userName, + a.userPhone, + (select count(1) from t_order where userPhone = a.userPhone and state in (107, 108)) as orderTimes, + (select count(1) from t_order where userPhone = a.userPhone and state in (301)) as cancelTimes, + a.source, + UNIX_TIMESTAMP(a.createTime) * 1000 as createTime, + a.startAddress, + a.startLat, + a.startLng, + a.endAddress, + a.endLat, + a.endLng, + a.estimatedPrice, + a.estimatedMileage, + a.startPrice, + a.waitTime, + a.actualMileage, + a.state, + (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(a.startTime)) / 60 as travelTime + from t_order a + left join t_app_user b on (a.userId = b.id) + where a.id = #{orderId} + </select> </mapper> \ No newline at end of file diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java index 65888c8..648e12e 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java @@ -6,6 +6,7 @@ import com.supersavedriving.driver.modular.system.warpper.AddOrderWarpper; import com.supersavedriving.driver.modular.system.warpper.BaseWarpper; import com.supersavedriving.driver.modular.system.warpper.HallOrderList; +import com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper; import java.util.List; @@ -69,6 +70,11 @@ ResultUtil receiveOrder(Integer uid, Long orderId) throws Exception; - - queryOrderInfo(Long orderId) throws Exception; + /** + * 获取订单详情 + * @param orderId + * @return + * @throws Exception + */ + OrderInfoWarpper queryOrderInfo(Integer uid, Long orderId) throws Exception; } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java index 517f955..60d27d8 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java @@ -15,6 +15,7 @@ import com.supersavedriving.driver.modular.system.util.mongodb.model.Location; import com.supersavedriving.driver.modular.system.warpper.AddOrderWarpper; import com.supersavedriving.driver.modular.system.warpper.HallOrderList; +import com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.geo.Circle; import org.springframework.data.geo.Distance; @@ -470,9 +471,10 @@ @Override public List<HallOrderList> queryOrderHall(Integer uid, Integer pageNum, Integer pageSize) throws Exception { pageNum = (pageNum - 1) * pageSize; + String value = redisUtil.getValue("DRIVER" + uid); List<HallOrderList> hallOrderLists = this.baseMapper.queryOrderHall(pageNum, pageSize); hallOrderLists.forEach(hallOrderList -> { - Map<String, Double> distance = GeodesyUtil.getDistance(hallOrderList.getStartLng() + "," + hallOrderList.getStartLat(), hallOrderList.getEndLng() + "," + hallOrderList.getEndLat()); + Map<String, Double> distance = GeodesyUtil.getDistance(hallOrderList.getStartLng() + "," + hallOrderList.getStartLat(), value); Double wgs84 = distance.get("WGS84"); hallOrderList.setCurrentDistance(wgs84); }); @@ -572,4 +574,21 @@ } return ResultUtil.success(); } + + + /** + * 获取订单详情 + * @param orderId + * @return + * @throws Exception + */ + @Override + public OrderInfoWarpper queryOrderInfo(Integer uid, Long orderId) throws Exception { + OrderInfoWarpper orderInfoWarpper = this.baseMapper.queryOrderInfo(orderId); + String value = redisUtil.getValue("DRIVER" + uid); + Map<String, Double> distance = GeodesyUtil.getDistance(orderInfoWarpper.getStartLng() + "," + orderInfoWarpper.getStartLat(), value); + Double wgs84 = distance.get("WGS84"); + orderInfoWarpper.setCurrentDistance(wgs84); + return orderInfoWarpper; + } } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java index f3fc7a3..d7dfaf0 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java @@ -43,6 +43,12 @@ private Double estimatedMileage; @ApiModelProperty("起步价") private Double startPrice; + @ApiModelProperty("等待时长") + private Integer waitTime; + @ApiModelProperty("行驶里程") + private Double actualMileage; + @ApiModelProperty("行驶时间") + private Integer travelTime; @ApiModelProperty("订单状态(101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待评价,108=已完成,201=转单中,301=已取消)") private Integer state; } -- Gitblit v1.7.1