| | |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.OrderCrossCity; |
| | | import com.stylefeng.guns.modular.system.model.OrderPosition; |
| | | import com.stylefeng.guns.modular.system.model.OrderTaxi; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.service.IDispatchService; |
| | | import com.stylefeng.guns.modular.system.service.IOrderCrossCityService; |
| | | import com.stylefeng.guns.modular.system.service.IOrderPositionService; |
| | | import com.stylefeng.guns.modular.system.service.IOrderPrivateCarService; |
| | | import com.stylefeng.guns.modular.system.util.ICBCPayUtil; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import com.stylefeng.guns.modular.system.util.SystemException; |
| | | import com.stylefeng.guns.modular.system.warpper.*; |
| | | import com.stylefeng.guns.modular.system.warpper.BaseWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.OrderCrossCityWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.OrderInfoWarpper; |
| | | import com.stylefeng.guns.modular.system.warpper.OrderListWarpper; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 订单相关 |
| | |
| | | |
| | | @Autowired |
| | | private ICBCPayUtil icbcPayUtil; |
| | | |
| | | @Autowired |
| | | private IOrderTaxiService orderTaxiService; |
| | | |
| | | @Autowired |
| | | private IOpenCityService openCityService; |
| | | |
| | | @Autowired |
| | | private IServerCarModelService serverCarModelService; |
| | | |
| | | @Autowired |
| | | private IDriverService driverService; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/queryOrderList1") |
| | | @ApiOperation(value = "1.0-获取订单列表", tags = {"调度端-订单管理"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "数据类型(1=专车,2=出租车,3=跨城)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "搜索条件", name = "search", required = false, dataType = "String"), |
| | | @ApiImplicitParam(value = "订单来源(1:APP下单,2:扫码下单,3:小程序下单,4:司机下单,5:调度下单)多个以逗号分隔", name = "orderSource", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)多个以逗号分隔", name = "state", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "线路id(多个以逗号分隔)", name = "lineId", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<OrderListWarpper>> queryOrderList1(Integer type, String search, String orderSource, String state, String lineId, Integer pageNum, Integer size, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = dispatchService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | List<Map<String, Object>> list = null; |
| | | if(type == 1){//专车 |
| | | list = orderPrivateCarService.queryOrderList(search, orderSource, state, pageNum, size, uid); |
| | | } |
| | | if(type == 2){//出租车 |
| | | list = orderTaxiService.queryOrderList(search, orderSource, state, pageNum, size, uid); |
| | | } |
| | | if(type == 3){//跨城 |
| | | list = orderCrossCityService.queryOrderList(search, orderSource, state, lineId, pageNum, size, uid); |
| | | } |
| | | return ResultUtil.success(OrderListWarpper.getOrderListWarppers(list)); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取订单详情 |
| | | * @param orderId |
| | |
| | | map = orderPrivateCarService.queryOrderInfo(orderId); |
| | | } |
| | | if(orderType == 2){//跨城 |
| | | map = orderCrossCityService.queryOrderInfo(orderId); |
| | | } |
| | | return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/queryOrderInfo1") |
| | | @ApiOperation(value = "1.0-获取订单详情", tags = {"调度端-订单管理"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<OrderInfoWarpper> queryOrderInfo1(Integer orderId, Integer orderType){ |
| | | try { |
| | | Map<String, Object> map = null; |
| | | if(orderType == 1){//专车 |
| | | map = orderPrivateCarService.queryOrderInfo(orderId); |
| | | } |
| | | if(orderType == 2){//出租车 |
| | | map = orderTaxiService.queryOrderInfo(orderId); |
| | | } |
| | | if(orderType == 3){//跨城 |
| | | map = orderCrossCityService.queryOrderInfo(orderId); |
| | | } |
| | | return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); |
| | |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/cancelOrder1") |
| | | @ApiOperation(value = "1.0-取消订单", tags = {"调度端-订单管理"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil cancelOrder1(Integer orderId, Integer orderType){ |
| | | try { |
| | | if(orderType == 1){//专车 |
| | | return orderPrivateCarService.cancelOrder(orderId); |
| | | } |
| | | if(orderType == 2){//出租车 |
| | | return orderTaxiService.cancelOrder(orderId); |
| | | } |
| | | if(orderType == 3){//跨城 |
| | | return orderCrossCityService.cancelOrder(orderId); |
| | | } |
| | | return ResultUtil.success(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取订单坐标轨迹数据 |
| | | * @param orderId |
| | |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<BaseWarpper>> queryOrderPosition(Integer orderId, Integer orderType){ |
| | | try { |
| | | List<OrderPosition> orderPositions = orderPositionService.queryPosition(orderId, orderType); |
| | | List<BaseWarpper> list = new ArrayList<>(); |
| | | for(OrderPosition orderPosition : orderPositions){ |
| | | BaseWarpper baseWarpper = new BaseWarpper(); |
| | | baseWarpper.setLon(Double.valueOf(orderPosition.getLon())); |
| | | baseWarpper.setLat(Double.valueOf(orderPosition.getLat())); |
| | | list.add(baseWarpper); |
| | | } |
| | | return ResultUtil.success(list); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/queryOrderPosition1") |
| | | @ApiOperation(value = "1.0-获取订单坐标", tags = {"调度端-订单管理"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<BaseWarpper>> queryOrderPosition1(Integer orderId, Integer orderType){ |
| | | try { |
| | | List<OrderPosition> orderPositions = orderPositionService.queryPosition(orderId, orderType); |
| | | List<BaseWarpper> list = new ArrayList<>(); |
| | |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @RequestMapping(value = "/api/order/getOpenCityList", method = RequestMethod.POST) |
| | | @ApiOperation(value = "1.0-获取开通城市列表", tags = {"调度端-添加订单"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<BaseWarpper>> getOpenCityList(){ |
| | | try { |
| | | List<BaseWarpper> list = openCityService.queryOpenCity(); |
| | | return ResultUtil.success(list); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/openCity") |
| | | @ApiOperation(value = "判断当前是否是开通城市", tags = {"调度端-添加订单"}, notes = "open=1(是),open=2(否)") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "当前定位城市code", name = "code", required = true, dataType = "String"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil openCity(String code){ |
| | | try { |
| | | boolean b = openCityService.openCity(code); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("open", b ? 1 : 2); |
| | | return ResultUtil.success(map); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取车型和预估价格 |
| | | * @param startLonLat |
| | | * @param endLonLat |
| | | * @param type |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/api/order/queryServerCarModel") |
| | | @ApiOperation(value = "1.0-选择起点终点后获取车型和预估价格(专车)", tags = {"调度端-添加订单"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "起点经纬度(103.22121,,30.26123)", name = "startLonLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "终点经纬度(103.22121,,30.26123)", name = "endLonLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "业务类型(1=专车)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type){ |
| | | try { |
| | | return serverCarModelService.queryServerCarModel(startLonLat, endLonLat, type); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/getServerDriverList") |
| | | @ApiOperation(value = "1.0-获取可服务的司机列表", tags = {"调度端-添加订单"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "起点经纬度(103.22121,,30.26123)", name = "startLonLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "终点经纬度(103.22121,,30.26123)", name = "endLonLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "业务类型(1=专车,2=出租车)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "车型id", name = "carModelId", required = false, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<BaseWarpper>> getServerDriverList(String startLonLat, String endLonLat, Integer type, Integer carModelId, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = dispatchService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | List<BaseWarpper> serverDriverList = driverService.getServerDriverList(uid, startLonLat, endLonLat, type, carModelId); |
| | | return ResultUtil.success(serverDriverList); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/saveOrderPrivateCar") |
| | | @ApiOperation(value = "1.0-专车下单", tags = {"调度端-添加订单"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "服务车型id", name = "serverCarModelId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "出行时间(2020-08-20 10:10)", name = "travelTime", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "是否预约(1=否,2=是)", name = "orderType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "下单地点经度", name = "placementLon", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "下单地点纬度", name = "placementLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "起点经度", name = "startLon", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "起点纬度", name = "startLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "起点地址", name = "startAddress", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "终点经度", name = "endLon", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "终点纬度", name = "endLat", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "终点地址", name = "endAddress", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "乘客姓名", name = "passengers", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "乘客电话", name = "passengersPhone", required = true, dataType = "string"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil saveOrderPrivateCar(Integer serverCarModelId, Date travelTime, Integer orderType, String placementLon, String placementLat, String startLon, String startLat, |
| | | String startAddress, String endLon, String endLat, String endAddress, String passengers, String passengersPhone, Integer driverId, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = dispatchService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | return orderPrivateCarService.saveOrderPrivateCar(uid, serverCarModelId, travelTime, orderType, placementLon, placementLat, startLon, startLat, startAddress, endLon, endLat, endAddress, passengers, passengersPhone, driverId); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/taxiOrder") |
| | | @ApiOperation(value = "1.0-出租车下单操作", tags = {"调度端-添加订单"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<BaseWarpper> taxiOrder(OrderTaxiWarpper orderTaxiWarpper, HttpServletRequest request){ |
| | | try { |
| | | OrderTaxi orderTaxi = OrderTaxiWarpper.getOrderTaxi(orderTaxiWarpper); |
| | | Integer uid = dispatchService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | return orderTaxiService.taxiOrder(orderTaxi, uid); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | } |