package com.stylefeng.guns.modular.crossCity.controller;
|
|
|
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
|
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityInfoWrapper;
|
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper;
|
import com.stylefeng.guns.modular.crossCity.warpper.OrderWarpper;
|
import com.stylefeng.guns.modular.system.model.Reassign;
|
import com.stylefeng.guns.modular.system.service.IDriverService;
|
import com.stylefeng.guns.modular.system.service.IReassignService;
|
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.BaseWarpper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Map;
|
|
|
@Api
|
@RestController
|
@RequestMapping("")
|
public class OrderCrossCityController {
|
|
@Autowired
|
private IOrderCrossCityService orderCrossCityService;
|
|
@Autowired
|
private IDriverService driverService;
|
|
@Autowired
|
private IReassignService reassignService;
|
|
@Autowired
|
private ICBCPayUtil icbcPayUtil;
|
|
|
|
/**
|
* 获取服务中页面订单详情
|
* @param orderId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/orderCrossCity/queryOrderInfo")
|
@ApiOperation(value = "获取跨城订单服务中详情", tags = {"司机端-服务中"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<OrderWarpper> queryOrderInfo(Integer orderId){
|
try {
|
Map<String, Object> map = orderCrossCityService.queryOrderInfo(orderId);
|
return ResultUtil.success(OrderWarpper.getOrderWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 提交改派申请
|
* @param reassign
|
* @param orderIds
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/orderCrossCity/reassignOrderCrossCityReassign")
|
@ApiOperation(value = "提交改派申请(跨城)", tags = {"司机端-服务中"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "订单id(多个以逗号分隔)", name = "orderIds", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "改派支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = false, dataType = "int"),
|
@ApiImplicitParam(value = "改派原因", name = "reason", required = true, dataType = "string"),
|
@ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil reassignOrderCrossCityReassign(Reassign reassign, String orderIds, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return reassignService.saveData_(reassign, orderIds, uid, null);
|
}catch (SystemException s){
|
return ResultUtil.error(s.getMsg());
|
} catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取已完成订单明细
|
* @param orderId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/orderCrossCity/queryOrderCrossCityInfo")
|
@ApiOperation(value = "获取已完成的订单明细(跨城)", tags = {"司机端-服务中"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "跨城订单id", name = "orderId", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<OrderCrossCityInfoWrapper> queryOrderCrossCityInfo(Integer orderId){
|
try {
|
Map<String, Object> map = orderCrossCityService.queryOrderCrossCityInfo(orderId);
|
return ResultUtil.success(OrderCrossCityInfoWrapper.getOrderInfoWarpper(map));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 修改订单顺序
|
* @param orderId
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/orderCrossCity/setOrderCrossCitySort")
|
@ApiOperation(value = "修改订单顺序(跨城)", tags = {"司机端-服务中"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "跨城订单id", name = "orderId", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil setOrderCrossCitySort(Integer orderId){
|
try {
|
orderCrossCityService.setOrderCrossCitySort(orderId);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 跨城出行下单操作
|
* @param orderCrossCityWarpper
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/api/order/orderCrossCity", method = RequestMethod.POST)
|
@ApiOperation(value = "跨城出行下单操作", tags = {"司机端-首页"}, notes = "先进行下单操作,再根据返回数据生成收款二维码")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<BaseWarpper> orderCrossCity(OrderCrossCityWarpper orderCrossCityWarpper, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return orderCrossCityService.orderCrossCity(orderCrossCityWarpper, uid);
|
}catch (SystemException se){
|
return ResultUtil.error(se.getMessage());
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
|
|
|
/**
|
* 订单完成支付订单操作
|
* @param payType
|
* @param orderId
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/api/order/payTaxiOrder")
|
@ApiOperation(value = "订单完成支付订单操作", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=扫码支付)", name = "payType", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "订单类型(3=跨城)", name = "orderType", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "优惠券id", name = "couponId", required = false, dataType = "int"),
|
@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
switch (orderType){
|
case 3:
|
return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
|
}
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
}
|