liujie
2023-07-24 8e9440ea0a09fc6d9cea1c205904c51ccbf62a2a
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java
@@ -1,6 +1,8 @@
package com.supersavedriving.driver.modular.system.api;
import com.alibaba.fastjson.JSON;
import com.supersavedriving.driver.modular.system.model.Driver;
import com.supersavedriving.driver.modular.system.model.Order;
import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil;
import com.supersavedriving.driver.modular.system.util.rongyun.model.CloudRecordingCallback;
import com.supersavedriving.driver.modular.system.warpper.*;
@@ -21,6 +23,11 @@
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -377,10 +384,11 @@
    @ApiOperation(value = "服务完成后修改订单状态", tags = {"司机端-服务中"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "long"),
            @ApiImplicitParam(value = "107(线上支付),108(完成线下支付)", name = "state", required = true, dataType = "int"),
            @ApiImplicitParam(value = "支付方式(1=线上,2=线下)", name = "payType", required = true, dataType = "int"),
            @ApiImplicitParam(value = "107(待支付),108(已完成)", name = "state", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResponseWarpper setOrderStatus(Long orderId, Integer state){
    public ResponseWarpper setOrderStatus(Long orderId, Integer payType, Integer state){
        if(ToolUtil.isEmpty(orderId)){
            return ResponseWarpper.success(ResultUtil.paranErr("orderId"));
        }
@@ -392,7 +400,7 @@
            if(null == uid){
                return ResponseWarpper.tokenErr();
            }
            ResultUtil resultUtil = orderService.setOrderStatus(uid, orderId, state);
            ResultUtil resultUtil = orderService.setOrderStatus(uid, orderId, payType, state);
            return ResponseWarpper.success(resultUtil);
        }catch (Exception e){
            e.printStackTrace();
@@ -440,9 +448,11 @@
     */
    @ResponseBody
    @PostMapping("/base/order/cloudRecordingCallback")
    public void cloudRecordingCallback(HttpServletRequest request){
    public void cloudRecordingCallback(HttpServletRequest request, HttpServletResponse response){
        CloudRecordingCallback cloudRecordingCallback = RongYunUtil.cloudRecordingCallback(request);
        System.err.println("-------------------云端录制状态回调!-------------------");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.err.println(sdf.format(new Date()) + "-------------------云端录制状态回调!-------------------");
        System.err.println(JSON.toJSONString(cloudRecordingCallback));
        if(null == cloudRecordingCallback){
            System.err.println("云端录制状态回调解析出错!");
            return;
@@ -450,8 +460,20 @@
        Integer type = cloudRecordingCallback.getType();
        if(4 == type){//文件上传
            String fileUrl = cloudRecordingCallback.getOutput().getFileUrl();
            System.err.println("文件上传完毕:" + fileUrl);
            String roomId = cloudRecordingCallback.getRoomId();
            Order order = orderService.selectById(roomId);
            order.setRouteRecord(fileUrl);
            orderService.updateById(order);
        }
        PrintWriter out = null;
        try {
            out = response.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        out.print("OK");
        out.flush();
        out.close();
    }