zhibing.pu
2024-04-19 2e366b939271b6ea338641f8a72d1bcd2182dbe7
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -3,8 +3,11 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogisticsSpread;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.smallLogistics.server.impl.OrderLogisticsSpreadService;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.model.Reassign;
@@ -230,6 +233,9 @@
        }
    }
    @Autowired
    private OrderLogisticsSpreadService spreadService;
    /**
     * 获取服务中页面订单详情
     * @param orderId
@@ -238,15 +244,15 @@
     */
    @ResponseBody
    @PostMapping("/api/order/queryOrderInfo")
    @ApiOperation(value = "获取服务中页面订单详情", tags = {"司机端-服务中"}, notes = "")
    @ApiOperation(value = "获取服务中页面订单详情", tags = {"司机端-服务中"}, notes = "",response = OrderInfoWarpper.class)
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,4=小件物流-同城)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType){
    public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer language, Integer orderId, Integer orderType){
        try {
            Map<String, Object> map = orderService.queryOrderInfo(orderId, orderType);
            Map<String, Object> map = orderService.queryOrderInfo(language, orderId, orderType);
            OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map);
            File file = new File(filePath + orderId + "_" + orderType + ".txt");
            if(file.exists()){
@@ -263,6 +269,22 @@
            }else{
                orderInfoWarpper.setOrderPositionList("");
            }
            List<OrderLogisticsSpread> orderLogisticsId = spreadService.selectList(new EntityWrapper<OrderLogisticsSpread>().eq("orderLogisticsId", orderId));
            if (!orderLogisticsId.isEmpty()){
                double sum =  0;
                for (OrderLogisticsSpread orderLogisticsSpread : orderLogisticsId) {
                    if (orderLogisticsSpread.getPayType()!=null&&orderLogisticsSpread.getPayType() == 4) {
                        Double payMoney = orderLogisticsSpread.getPayMoney();
                        sum = sum + payMoney;
                    }
                }
                sum = sum+orderInfoWarpper.getPayMoney();
                orderInfoWarpper.setPayMoney(sum);
            }
            return ResultUtil.success(orderInfoWarpper);
        }catch (Exception e){
            e.printStackTrace();
@@ -357,13 +379,13 @@
            @ApiImplicitParam(value = "当前纬度", name = "lat", required = true, dataType = "double"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Double lon, Double lat,String phone, Integer language, HttpServletRequest request){
    public ResultUtil process(Integer orderId, Integer orderType, Integer state, Double lon, Double lat,String phone, String pickUpCode, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return orderService.process(orderId, orderType, state, uid, lon, lat, phone, language);
            return orderService.process(orderId, orderType, state, uid, lon, lat, phone, pickUpCode, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -417,16 +439,16 @@
    @ApiOperation(value = "司机确认费用", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件物流)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "支付方式(1=OK平台收款,2=其他方式收款)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "行程费用(出租车必传)", name = "travelFee", required = false, dataType = "double"),
            @ApiImplicitParam(value = "停车费", name = "parkingFee", required = false, dataType = "double"),
            @ApiImplicitParam(value = "过路费", name = "crossingFee", required = false, dataType = "double"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil confirmFees(Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee){
    public ResultUtil confirmFees(Integer language, Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee){
        try{
            return orderService.confirmFees(orderId, orderType, type, travelFee, parkingFee, crossingFee);
            return orderService.confirmFees(language, orderId, orderType, type, travelFee, parkingFee, crossingFee);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -481,9 +503,9 @@
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<OrderInfoWarpper> queryToBePaidPage(Integer orderId, Integer orderType){
    public ResultUtil<OrderInfoWarpper> queryToBePaidPage(Integer language, Integer orderId, Integer orderType){
        try {
            Map<String, Object> map = orderService.queryToBePaidPage(orderId, orderType);
            Map<String, Object> map = orderService.queryToBePaidPage(language, orderId, orderType);
            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map));
        }catch (Exception e){
            e.printStackTrace();
@@ -500,9 +522,9 @@
     */
    @ResponseBody
    @PostMapping("/base/order/pushOrderState")
    public String pushOrderState(Integer orderId, Integer orderType){
    public String pushOrderState(Integer language, Integer orderId, Integer orderType){
        try {
            Map<String, Object> map = orderService.queryOrderInfo(orderId, orderType);
            Map<String, Object> map = orderService.queryOrderInfo(language, orderId, orderType);
            //更新小号绑定关系
            orderService.RebindMidAxbBindSend(orderId, orderType);
@@ -634,7 +656,7 @@
    @ApiOperation(value = "手动确认订单完成", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,4=同城小件物流)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil completeOrder(Integer orderId, Integer orderType, Integer language){
@@ -650,10 +672,10 @@
    @ResponseBody
    @PostMapping("/api/order/queryMoneyInfo")
    @ApiOperation(value = "获取订单费用明细", tags = {"司机端-服务中"}, notes = "")
    @ApiOperation(value = "获取订单费用明细【2.0】", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,4=同城小件物流)", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<MoneyInfoWarpper> queryMoneyInfo(Integer orderId, Integer orderType){
@@ -666,6 +688,7 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/order/fillInPickUpCode")
    @ApiOperation(value = "验证小件物流取件码", tags = {"司机端-服务中"}, notes = "")
@@ -799,4 +822,29 @@
        }
        return callbackResponse;
    }
    @ResponseBody
    @PostMapping("/api/taxi/updateEndAddress")
    @ApiOperation(value = "处理乘客修改目的地【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "状态(2=同意,3=拒绝)", name = "status", required = true, dataType = "int"),
            @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updateEndAddress(Integer orderId, Integer orderType, Integer status){
        switch (orderType){
            case 1:
                orderPrivateCarService.updateEndAddress(orderId, status);
                break;
            case 4:
                orderLogisticsService.updateEndAddress(orderId, status);
                break;
        }
        return ResultUtil.success();
    }
}