From 5321e3029faed64b250ec77b329a1ecd78086a23 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 27 七月 2025 13:56:25 +0800
Subject: [PATCH] 抢单处理推广

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   25 ++++++++++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java                                |   10 +++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                                |    1 
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java                  |    8 ++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java              |   27 +++++++++++--
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java                               |   30 +++++++++++++++
 6 files changed, 96 insertions(+), 5 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index aae9336..7e4ed92 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -24,7 +24,6 @@
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.WeChatUtil;
-import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
index 4fd2fce..0f63c99 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -432,6 +432,7 @@
     private Integer driverCancle;
 
 
+    private Integer promotion;
 
     // 推广应的金额
     private BigDecimal promotionMoney;
@@ -439,6 +440,13 @@
     // 推广司机id
     private Integer promotionDriverId;
 
+    public Integer getPromotion() {
+        return promotion;
+    }
+
+    public void setPromotion(Integer promotion) {
+        this.promotion = promotion;
+    }
 
     public Date getVoiceTime() {
         return voiceTime;
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 8c7e85c..b7aa424 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -12,6 +12,7 @@
 import com.stylefeng.guns.modular.system.dao.CarServiceMapper;
 import com.stylefeng.guns.modular.system.dao.RegionMapper;
 import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
+import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
@@ -89,6 +90,13 @@
     
     @Resource
     private CarServiceMapper carServiceMapper;
+
+    @Resource
+    private UserInfoMapper userInfoMapper;
+
+
+    @Autowired
+    private TDriverPromotionActivityService driverPromotionActivityService;
     
     @Resource
     private RedisTemplate<String, Object> redisTemplate;
@@ -226,6 +234,12 @@
 //            orderPrivateCar.setBindId(map.get("bindId"));
 //        }
 
+
+
+        // 是否推广订单
+        Integer promotion = isPromotion(uid);
+        orderPrivateCar.setPromotion(promotion);
+
         this.updateById(orderPrivateCar);
 
         //处理摆渡车的情况
@@ -310,7 +324,18 @@
     }
 
 
+    private Integer isPromotion(Integer userId){
+        UserInfo userInfo = userInfoMapper.selectById(userId);
+        if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+            String registAreaCode = userInfo.getRegistAreaCode();
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+            if(tDriverPromotionActivity!=null){
+                return 2;
+            }
+        }
+        return null;
 
+    }
     /**
      * 获取订单详情页(服务中的页面)
      * @param orderId
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
index 273005e..556a81e 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
@@ -133,6 +133,36 @@
     @TableField("state")
     private Integer state;
 
+
+
+    /**
+     * 绑定的司机id
+     */
+    @TableField("bindDriverId")
+    private Integer bindDriverId;
+
+    /**
+     * 绑定司机有效期
+     */
+
+    private Date bindExpireDate;
+
+    public Integer getBindDriverId() {
+        return bindDriverId;
+    }
+
+    public void setBindDriverId(Integer bindDriverId) {
+        this.bindDriverId = bindDriverId;
+    }
+
+    public Date getBindExpireDate() {
+        return bindExpireDate;
+    }
+
+    public void setBindExpireDate(Date bindExpireDate) {
+        this.bindExpireDate = bindExpireDate;
+    }
+
     public String getRegistIp() {
         return registIp;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
index c78e9f5..8649bf7 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
@@ -344,6 +344,8 @@
 
     private String splitAllocation;
 
+
+    private Integer promotion;
     // 推广应的金额
     private BigDecimal promotionMoney;
 
@@ -355,6 +357,14 @@
 
     private Date voiceTime;
 
+    public Integer getPromotion() {
+        return promotion;
+    }
+
+    public void setPromotion(Integer promotion) {
+        this.promotion = promotion;
+    }
+
     public Date getVoiceTime() {
         return voiceTime;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index c8da649..71e81a5 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -8,10 +8,8 @@
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
-import com.stylefeng.guns.modular.system.model.Company;
-import com.stylefeng.guns.modular.system.model.Driver;
-import com.stylefeng.guns.modular.system.model.OrderAdditionalFee;
-import com.stylefeng.guns.modular.system.model.OrderPosition;
+import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
 import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
@@ -68,6 +66,12 @@
     @Autowired
     private IOrderAdditionalFeeService orderAdditionalFeeService;
 
+    @Resource
+    private UserInfoMapper userInfoMapper;
+
+
+    @Autowired
+    private TDriverPromotionActivityService driverPromotionActivityService;
 
 
 
@@ -207,6 +211,10 @@
 //            orderTaxi.setBindId(map.get("bindId"));
 //        }
 
+        // 是否推广订单
+        Integer promotion = isPromotion(uid);
+        orderTaxi.setPromotion(promotion);
+
         this.updateById(orderTaxi);
 
         if(orderTaxi.getType() == 2){
@@ -279,7 +287,18 @@
 
         return ResultUtil.success(orderTaxi.getId());
     }
+    private Integer isPromotion(Integer userId){
+        UserInfo userInfo = userInfoMapper.selectById(userId);
+        if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+            String registAreaCode = userInfo.getRegistAreaCode();
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+            if(tDriverPromotionActivity!=null){
+                return 2;
+            }
+        }
+        return null;
 
+    }
 
 
     public OrderTaxi setOrderTaxi(OrderPrivateCar orderPrivateCar){

--
Gitblit v1.7.1