liujie
2025-08-08 d2de40b544b5b069cd525143ff5a9e0d922b2c66
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -9,6 +9,8 @@
import com.stylefeng.guns.modular.call.server.IOrderCallService;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
@@ -25,6 +27,7 @@
import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -53,6 +56,8 @@
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
@@ -160,7 +165,9 @@
    @Autowired
    private IServerCarModelService serverCarModelService;
    
   @Autowired
   private IOrderRideService orderRideService;
    
    
    
@@ -241,7 +248,7 @@
   @PostMapping("/api/order/queryMyOrderList")
   @ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "")
   @ApiImplicitParams({
         @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式)", name = "type", required = true, dataType = "int"),
         @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式,8顺风车)", name = "type", required = true, dataType = "int"),
         @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
         @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
         @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -274,6 +281,9 @@
               break;
            case 7:
//                    list = orderCallService.queryMyOrderList(uid, pageNum, size);
               break;
            case 8:
               list = orderRideService.queryMyOrderList(uid, pageNum, size);
               break;
         }
         return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
@@ -559,8 +569,8 @@
                  return ResultUtil.error("请先配置价格规则");
               }
               Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId(), systemPriceCity.getId());
               System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId());
               System.out.println("query1:" + query1);
//               System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId());
//               System.out.println("query1:" + query1);
               //开始根据不同的方式计算金额
               if (query1 != null) {
                  JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
@@ -1413,7 +1423,11 @@
            case 2:
               return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
            case 3:
               return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
               ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
               orderCrossCityService.promotion(orderId);
               return resultUtil;
            case 4:
               return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
            case 5:
@@ -2141,7 +2155,30 @@
   @PostMapping("/base/order/qytPaymentCallback")
   public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) {
      log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback));
      if (null == qytPaymentCallback) {
      try {
         if (null == qytPaymentCallback) {
            return "error";
         }
         QYTPaymentCallbackData data = qytPaymentCallback.getData();
         if("1".equals(data.getStatus())){
            return "error";
         }
         String orderNo = data.getOrderNo();
         String payId = data.getPayId();
         //网约车
         if(orderNo.contains("PR")){
            orderNo = orderNo.substring(2);
            orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
            orderPrivateCarService.promotion(Integer.valueOf(orderNo));
         }
         //出租车
         if(orderNo.contains("TA")){
            orderNo = orderNo.substring(2);
            orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
            orderTaxiService.promotion(Integer.valueOf(orderNo));
         }
      }catch (Exception e){
         e.printStackTrace();
         return "error";
      }
      return "success";
@@ -2156,12 +2193,6 @@
    */
   private void promotion(Integer orderType, Integer orderId) {
      switch (orderType) {
         case 1:
            orderPrivateCarService.promotion(orderId);
            break;
         case 2:
            orderTaxiService.promotion(orderId);
            break;
         case 3:
            orderCrossCityService.promotion(orderId);
            break;
@@ -2360,12 +2391,15 @@
            List<TripOrderVo> tripOrderVos = processTripOrderVos(orderList);
            String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
            File attachment = new File(filePath);
            emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "行程单", "请查收您的行程单", attachment);
            String displayFileName = "贵人家园行程单.pdf";
            emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "行程单", "请查收您的行程单", attachment,displayFileName);
            attachment.delete(); // 发送成功后删除临时文件
            return ResultUtil.success("邮件发送成功");
            Map<String, Object> result = new HashMap<>();
            result.put("orderNum", orderList.size());
            return ResultUtil.success(result);
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.error("邮件发送失败");
            return ResultUtil.error("邮件发送失败"+e.getMessage());
        }
    }
    /**