liujie
2026-04-19 e91d5b4846f233505a88bf727fd3160a4574b588
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -6,33 +6,36 @@
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.crossCity.warpper.LineSiteWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityInfoWrapper;
import com.stylefeng.guns.modular.crossCity.warpper.OrderWarpper;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.DriverWorkMapper;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.ChinaMobileUtil;
import com.stylefeng.guns.modular.system.util.PayMoneyUtil;
import com.stylefeng.guns.modular.system.util.PushUtil;
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.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -74,15 +77,16 @@
    private ICarService carService;
    @Autowired
    private IOrderTaxiService orderTaxiService;
    @Autowired
    private IOrderPrivateCarService orderPrivateCarService;
    @Autowired
    private IOrderCrossCityService orderCrossCityService;
    private PayMoneyUtil payMoneyUtil;
    @Autowired
    private IOrderTaxiService orderTaxiService;
    private IOrderCrossCityService orderCrossCityService;
@@ -451,7 +455,7 @@
     */
    @ResponseBody
    @PostMapping("/api/order/reassign")
    @ApiOperation(value = "提交改派申请", tags = {"司机端-服务中"}, notes = "")
    @ApiOperation(value = "提交改派申请(使用的)", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"),
@@ -466,7 +470,7 @@
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return reassignService.saveData(reassign, uid, null);
            return reassignService.saveData(reassign, uid, null,reassign.getNowDriverId());
        }catch (SystemException s){
            return ResultUtil.error(s.getMsg());
        } catch (Exception e){
@@ -503,6 +507,27 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @RequestMapping(value = "/api/lineSite/queryDriver", method = RequestMethod.POST)
    @ApiOperation(value = "根据线路id获取其他线路排班数据", tags = {"司机端-跨城"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单", name = "orderId", required = true, dataType = "String"),
            @ApiImplicitParam(value = "查询天(2020-09-03)", name = "day", required = true, dataType = "string")
    })
    public ResultUtil<List<LineSiteWarpper>> queryDriver(String orderId){
        try {
            List<Map<String, Object>> list = reassignService.queryDriver(orderId);
            return ResultUtil.success(LineSiteWarpper.getLineSiteWarppers(list));
        } catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
@@ -812,10 +837,11 @@
            @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(value = "司机id", name = "driverId", required = false, dataType = "int"),
    })
    public String reassign_(Reassign reassign, Integer uid){
    public String reassign_(Reassign reassign, Integer uid, Integer driverId){
        try {
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3);
            ResultUtil resultUtil = reassignService.saveData(reassign, uid, 3, driverId);
            return JSON.toJSONString(resultUtil);
        }catch (SystemException s){
            return JSON.toJSONString(ResultUtil.error(s.getMsg()));
@@ -1104,4 +1130,44 @@
            return ResultUtil.success();
        }
    }
    /**
     * 预支付微信退款成功回调
     * @param request
     * @param response
     */
    @ResponseBody
    @PostMapping("/base/prepayRefundWXPay")
    public void prepayRefundWXPay(HttpServletRequest request, HttpServletResponse response) {
        try {
            Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
            if (map == null) {
                return;
            }
            String refundId = map.get("refund_id");
            String outRefundNo = map.get("out_refund_no");
            String result = map.get("result");
            if (ToolUtil.isEmpty(outRefundNo)) {
                return;
            }
            PrintWriter out = response.getWriter();
            out.write(result);
            out.flush();
            out.close();
            String[] split = outRefundNo.split("_");
            if (split.length < 4) {
                return;
            }
            Integer orderType = Integer.valueOf(split[1]);
            Integer orderId = Integer.valueOf(split[2]);
            if (orderType == 1) {
                orderPrivateCarService.payPrepaidRefundCallback(orderId, outRefundNo, refundId);
            } else if (orderType == 2) {
                orderTaxiService.payPrepaidRefundCallback(orderId, outRefundNo, refundId);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}