From 7944fc1f0754c5b4441eb93b0fe4428f2b73055e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 26 二月 2025 09:22:39 +0800
Subject: [PATCH] 2.0新增

---
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                              |   23 ++++++-
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java                      |    1 
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java         |    2 
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java                              |   21 ++++++-
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java              |    2 
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java                               |    2 
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java |   16 +++++
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                               |   77 +++++++++++++++++++++++++
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java                                 |    2 
 9 files changed, 140 insertions(+), 6 deletions(-)

diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 6dc4398..b1a075b 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -23,6 +23,7 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
@@ -88,7 +89,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<String> getCode(HttpServletRequest request){
+    public ResultUtil<Map<String,String>> getCode(HttpServletRequest request){
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
@@ -98,12 +99,20 @@
             if (userInfo.getCode()==null){
                 userInfo = driverService.generateCode(userInfo);
             }
-            return ResultUtil.success(userInfo.getCode());
+            Map<String, String> res = new HashMap<>();
+            res.put("code",userInfo.getCode());
+            int i = inviteService.selectCount(new EntityWrapper<Invite>()
+                    .eq("inviteUserId", uid)
+                    .eq("useType", 2));
+
+            res.put("inviteNumber",i+"");
+            return ResultUtil.success(res);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
         }
     }
+
     /**
      * 获取用户邀请二维码
      * @param request
@@ -119,7 +128,7 @@
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil inviteList(String startTime,String endTime,Integer pageNum,Integer size,HttpServletRequest request){
+    public ResultUtil<List<Invite>> inviteList(String startTime,String endTime,Integer pageNum,Integer size,HttpServletRequest request){
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
@@ -130,6 +139,14 @@
                 endTime = endTime + " 23:59:59";
             }
             List<Invite> invites = inviteService.inviteList(uid,startTime,endTime,pageNum,size);
+            for (Invite invite : invites) {
+                // 将手机号phone中间四位替换为*
+                String phone = invite.getPhone();
+                if (phone != null && phone.length() > 4) {
+                    phone = phone.substring(0, 3) + "****" + phone.substring(7);
+                    invite.setPhone(phone);
+                }
+            }
             return ResultUtil.success(invites);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 5ea2ed5..578f7e7 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -444,6 +444,83 @@
         }
     }
 
+    @Autowired
+    private IPaymentRecordService paymentRecordService;
+    @Autowired
+    private ITransactionDetailsService transactionDetailsService;
+    /**
+     * 司机手动确认收款
+     * @param orderId
+     * @param orderType
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/confirm")
+    @ApiOperation(value = "司机手动确认收款", tags = {"司机端-2.0新增"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil process(Integer orderId, Integer orderType, HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
+            paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderId, 2, 1, orderTaxi.getOrderMoney(), "", 1);//添加预支付数据
+            orderTaxi.setState(8);
+            orderTaxi.setPayType(3);
+            orderTaxi.setPayMoney(orderTaxi.getOrderMoney());
+            Integer placeOrderWay = null;
+            switch (orderTaxi.getOrderSource()){
+                case 2:
+                    placeOrderWay = 4;
+                    break;
+                case 3:
+                    placeOrderWay = 4;
+                    break;
+                case 6:
+                    placeOrderWay = 1;
+                    break;
+                case 7:
+                    placeOrderWay = 2;
+                    break;
+                case 5:
+                    placeOrderWay = 3;
+                    break;
+            }
+            // 司机收入
+            double moneyTwo;
+            // 平台收入
+            double money;
+            Driver driver = driverService.selectById(orderTaxi.getDriverId());
+            Company company = companyService.selectById(driver.getFranchiseeId());
+
+            if(orderTaxi.getOrderSource() == 2 || orderTaxi.getOrderSource() == 3){
+                double v = company.getPercentageDeduction() / 100;
+                money = v * orderTaxi.getOrderMoney();
+                moneyTwo = orderTaxi.getOrderMoney()-money;
+            }else {
+                money = company.getFixedDeduction();
+                moneyTwo = orderTaxi.getOrderMoney()-money;
+            }
+            driver.setBalance(driver.getBalance() + moneyTwo);
+            // 新增扣除使用费记录
+            transactionDetailsService.saveDataTaxi(driver.getId(), "软件使用费", money, 2, 1, 2, 6, orderTaxi.getId(),placeOrderWay,company.getId());
+            // 司机订单收入
+            transactionDetailsService.saveDataTaxi(driver.getId(), "完成订单", moneyTwo, 1, 1, 2, 2, orderTaxi.getId(),placeOrderWay,company.getId());
+
+            driverService.updateById(driver);
+            return ResultUtil.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
 
 
     /**
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
index 07e4c22..da92124 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -30,6 +31,7 @@
      */
     @TableField("registerTime")
     @ApiModelProperty("注册时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date registerTime;
     /**
      * 使用范围(1=用户,2=司机)
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
index f82f64e..9905622 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
@@ -239,4 +239,5 @@
      * @throws Exception
      */
     Map<String, Object> queryMoneyInfo(Integer orderId, Integer orderType) throws Exception;
+
 }
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java
index f337983..3e13866 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java
@@ -34,4 +34,6 @@
      */
     void saveData(Integer userId, String remark, Double money, Integer state,
                   Integer type, Integer userType, Integer orderType, Integer orderId,Integer companyId) throws Exception;
+    void saveDataTaxi(Integer userId, String remark, Double money, Integer state,
+                      Integer type, Integer userType, Integer orderType, Integer orderId, Integer placeOrderWay,Integer companyId) throws Exception;
 }
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
index 46e4ecb..e45ac73 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -35,6 +35,8 @@
 @Service
 public class OrderServiceImpl implements IOrderService {
 
+
+
     @Resource
     private IOrderTaxiService orderTaxiService;
 
diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java
index b55130c..1b84429 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java
@@ -57,4 +57,20 @@
         transactionDetails.setCompanyId(companyId);
         this.insert(transactionDetails);
     }
+    @Override
+    public void saveDataTaxi(Integer userId, String remark, Double money, Integer state, Integer type, Integer userType, Integer orderType, Integer orderId, Integer placeOrderWay,Integer companyId) throws Exception {
+        TransactionDetails transactionDetails = new TransactionDetails();
+        transactionDetails.setInsertTime(new Date());
+        transactionDetails.setMoney(money);
+        transactionDetails.setOrderId(orderId);
+        transactionDetails.setOrderType(orderType);
+        transactionDetails.setRemark(remark);
+        transactionDetails.setState(state);
+        transactionDetails.setType(type);
+        transactionDetails.setUserId(userId);
+        transactionDetails.setUserType(userType);
+        transactionDetails.setPlaceOrderWay(placeOrderWay);
+        transactionDetails.setCompanyId(companyId);
+        this.insert(transactionDetails);
+    }
 }
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index c8c1ed2..36dda04 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -68,7 +68,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<String> getCode(HttpServletRequest request){
+    public ResultUtil<Map<String,String>> getCode(HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -78,7 +78,14 @@
             if (userInfo.getCode()==null){
                 userInfo = userInfoService.generateCode(userInfo);
             }
-            return ResultUtil.success(userInfo.getCode());
+            Map<String, String> res = new HashMap<>();
+            res.put("code",userInfo.getCode());
+            int i = inviteService.selectCount(new EntityWrapper<Invite>()
+                    .eq("inviteUserId", uid)
+                    .eq("useType", 1));
+
+            res.put("inviteNumber",i+"");
+            return ResultUtil.success(res);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -99,7 +106,7 @@
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil inviteList(String startTime,String endTime,Integer pageNum,Integer size,HttpServletRequest request){
+    public ResultUtil<List<Invite>> inviteList(String startTime,String endTime,Integer pageNum,Integer size,HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -110,6 +117,14 @@
                 endTime = endTime + " 23:59:59";
             }
             List<Invite> invites = inviteService.inviteList(uid,startTime,endTime,pageNum,size);
+            for (Invite invite : invites) {
+                // 将手机号phone中间四位替换为*
+                String phone = invite.getPhone();
+                if (phone != null && phone.length() > 4) {
+                    phone = phone.substring(0, 3) + "****" + phone.substring(7);
+                    invite.setPhone(phone);
+                }
+            }
             return ResultUtil.success(invites);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
index f46542a..5ca1931 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Invite.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -30,6 +31,7 @@
      */
     @TableField("registerTime")
     @ApiModelProperty("注册时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date registerTime;
     /**
      * 使用范围(1=用户,2=司机)

--
Gitblit v1.7.1