From ef478eb422909d28bce068b000e0d7a86872797e Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 26 七月 2025 17:57:27 +0800
Subject: [PATCH] 用户端修改

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |  139 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 129 insertions(+), 10 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 018c3e9..b5d96c8 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -15,8 +15,10 @@
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
 import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -28,13 +30,11 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
-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;
@@ -47,7 +47,7 @@
  * 订单控制器(综合)
  */
 @Api
-//@CrossOrigin
+@Slf4j
 @RestController
 @RequestMapping("")
 public class OrderController {
@@ -452,6 +452,16 @@
                     map = orderCrossCityService.queryOrderInfo(orderId);
                     break;
             }
+
+            if(map.get("companyId") != null){
+                Company companyId = companyService.selectById(map.get("companyId").toString());
+                map.put("companyName", companyId.getName());
+            }else {
+                String string = map.get("driverId").toString();
+                Driver driver = driverService.selectById(string);
+                Company company = companyService.selectById(driver.getCompanyId());
+                map.put("companyName", company.getName());
+            }
             if(map.get("telX") != null){
                 map.put("driverPhone", map.get("telX"));
             }
@@ -575,6 +585,41 @@
                 orderInfoWarpper.setTime(arriveTime.substring(11,arriveTime.length()-3));
             }
             return ResultUtil.success(orderInfoWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/order/addAppeal")
+    @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "",response = OrderInfoWarpper.class)
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "申诉描述", name = "abnormalIntro", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "申诉图片", name = "abnormalImg", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType,String abnormalIntro, String abnormalImg, HttpServletRequest request){
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType){
+                case 1://专车
+                     orderPrivateCarService.addAppeal(uid, orderId,abnormalIntro,abnormalImg);
+                    break;
+                case 2://出租车
+                    orderTaxiService.addAppeal(uid,orderId,abnormalIntro,abnormalImg);
+                    break;
+                case 3://跨城
+                     orderCrossCityService.addAppeal(uid,orderId,abnormalIntro,abnormalImg);
+                    break;
+            }
+            return ResultUtil.success();
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -1992,25 +2037,99 @@
 
     /**
      * 管理后台推单
+     *
      * @param orderType
      * @return
      */
     @ResponseBody
     @PostMapping("/base/taxi/pushOrder")
-    public ResultUtil pushOrder(Integer orderId, Integer orderType){
+    public ResultUtil pushOrder(Integer orderId, Integer orderType) {
         try {
-            switch (orderType){
+            switch (orderType) {
                 case 1:
                     return orderPrivateCarService.pushOrderPrivateCar(orderId);
                 case 2:
                     return orderTaxiService.pushOrderTaxi(orderId);
             }
             return ResultUtil.success();
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             return ResultUtil.runErr();
         }
     }
-    
-    
+
+
+    /**
+     * 黔云通支付回调通知
+     *
+     * @param qytPaymentCallback
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/qytPaymentCallback")
+    public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) {
+        log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback));
+        if (null == qytPaymentCallback) {
+            return "error";
+        }
+        return "success";
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/get/unPayOrder")
+    @ApiOperation(value = "获取未支付订单", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+           @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"),
+           @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil getUnPayOrder( Integer orderType,  HttpServletRequest request){
+        try {
+            // 从Redis中获取当前用户ID
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+
+            List<UnPayOrderVO> unpaidOrders = new ArrayList<>();
+
+            // 根据订单类型查询对应未支付订单
+            if (orderType == null || orderType == 1) {
+                // 查询未支付的专车订单
+                List<UnPayOrderVO> privateCarOrders = orderPrivateCarService.getUnpayPrivateOrders(uid);
+                unpaidOrders.addAll(privateCarOrders);
+            }
+
+            if (orderType == null || orderType == 2) {
+                // 查询未支付的出租车订单
+                List<UnPayOrderVO> taxiOrders = orderTaxiService.getUnpayTaxiOrders(uid);
+                unpaidOrders.addAll(taxiOrders);
+            }
+
+            if (orderType == null || orderType == 3) {
+                // 查询未支付的跨城订单
+                List<UnPayOrderVO> crossCityOrders = orderCrossCityService.getUnpayCrossCityOrders(uid);
+                unpaidOrders.addAll(crossCityOrders);
+            }
+
+            if (orderType == null || orderType == 4 || orderType == 5) {
+                // 查询未支付的物流订单(包含类型4和5)
+                List<UnPayOrderVO> logisticsOrders = orderLogisticsService.getUnpayLogisticsOrders(uid);
+                unpaidOrders.addAll(logisticsOrders);
+            }
+
+            // 按创建时间倒序排序(最新的订单在前)
+            unpaidOrders.sort(Comparator.comparing(UnPayOrderVO::getInsertTime).reversed());
+
+            Map<String, Object> result = new HashMap<>();
+            result.put("total", unpaidOrders.size());
+            result.put("orders", unpaidOrders);
+
+            return ResultUtil.success(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
 }

--
Gitblit v1.7.1