From e4f50565f585ac3bb7355fe7b9da794bb855113f Mon Sep 17 00:00:00 2001
From: 曾富康 <1067864236@qq.com>
Date: 星期一, 22 六月 2026 16:28:35 +0800
Subject: [PATCH] 新增需求

---
 DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 insertions(+), 5 deletions(-)

diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 21cff7b..62a29a2 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -67,6 +67,9 @@
     private DriverServiceMapper driverServiceMapper;
 
     @Resource
+    private DriverProfileAuditMapper driverProfileAuditMapper;
+
+    @Resource
     private UserInfoMapper userInfoMapper;
 
     @Resource
@@ -385,6 +388,66 @@
             return ResultUtil.error("实名认证失败,请输入正确的姓名和身份证号码");
         }
 
+        Integer driverAge = null;
+        if (registeredWarpper.getGetDriverLicenseDate() != null) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(registeredWarpper.getGetDriverLicenseDate());
+            Calendar now = Calendar.getInstance();
+            now.setTime(new Date());
+            driverAge = now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR);
+        }
+
+        // 已审核通过的司机修改资料时,先写入待审核表;审核通过前不覆盖司机主表,避免司机端提前展示新资料。
+        if (driver != null && Integer.valueOf(2).equals(driver.getAuthState())) {
+            if(registeredWarpper.getCompanyId()==null){
+                return ResultUtil.error("请选择服务商");
+            }
+            // 同一司机只保留一条待审核资料,重复提交时覆盖上一条待审内容。
+            List<DriverProfileAudit> audits = driverProfileAuditMapper.selectList(new EntityWrapper<DriverProfileAudit>().eq("driverId", uid).eq("auditState", 1).last("limit 1"));
+            DriverProfileAudit audit = audits.isEmpty() ? null : audits.get(0);
+            if (audit == null) {
+                audit = new DriverProfileAudit();
+                audit.setDriverId(uid);
+            }
+            audit.setName(registeredWarpper.getName());
+            audit.setSex(registeredWarpper.getSex());
+            audit.setIdCard(registeredWarpper.getIdCard());
+            audit.setArea(registeredWarpper.getArea());
+            audit.setAreaCode(registeredWarpper.getPlaceOfEmployment());
+            audit.setCity(registeredWarpper.getCity());
+            audit.setCityCode(registeredWarpper.getCityCode());
+            audit.setProvince(registeredWarpper.getProvince());
+            audit.setProvinceCode(registeredWarpper.getProvinceCode());
+            audit.setCompanyId(registeredWarpper.getCompanyId());
+            audit.setHeadImgUrl(registeredWarpper.getHeadImgUrl());
+            audit.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1());
+            audit.setIdCardImgUrl2(registeredWarpper.getIdCardImgUrl2());
+            audit.setPlaceOfEmployment(registeredWarpper.getPlaceOfEmployment());
+            audit.setDriverAddress(registeredWarpper.getDriverContactAddress());
+            audit.setDriverContactAddress(registeredWarpper.getDriverContactAddress());
+            audit.setDriverContactAddress_(registeredWarpper.getDriverContactAddress_());
+            audit.setPlaceOfPractice(registeredWarpper.getPlaceOfPractice());
+            audit.setQualificationCertificateImg(registeredWarpper.getQualificationCertificateImg());
+            audit.setVehicleOperationCertificateImg(registeredWarpper.getVehicleOperationCertificateImg());
+            audit.setDriverAge(driverAge);
+            audit.setDriveCardImgUrl(registeredWarpper.getDriveCardImgUrl());
+            audit.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate());
+            audit.setTaxiAptitudeCard(registeredWarpper.getTaxiAptitudeCard());
+            audit.setNetworkCarlssueImg(registeredWarpper.getNetworkCarlssueImg());
+            audit.setServiceType(registeredWarpper.getType());
+            audit.setAuditState(1);
+            audit.setSubmitTime(new Date());
+            audit.setAuditTime(null);
+            audit.setAuditUser(null);
+            if (audit.getId() == null) {
+                driverProfileAuditMapper.insert(audit);
+            } else {
+                driverProfileAuditMapper.updateById(audit);
+            }
+            return ResultUtil.success("提交成功,请等待审核", new JSONObject());
+        }
+
+        // 未审核司机仍按原注册完善资料流程直接写入主表,由原司机注册审核流程处理。
         driver.setName(registeredWarpper.getName());
         driver.setSex(registeredWarpper.getSex());
         driver.setIdCard(registeredWarpper.getIdCard());
@@ -412,11 +475,7 @@
         driver.setVehicleOperationCertificateImg(registeredWarpper.getVehicleOperationCertificateImg());
         driver.setPlaceOfPractice(registeredWarpper.getPlaceOfPractice());
 
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(registeredWarpper.getGetDriverLicenseDate());
-        Calendar now = Calendar.getInstance();
-        now.setTime(new Date());
-        driver.setDriverAge(now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR));
+        driver.setDriverAge(driverAge);
         driver.setDriveCardImgUrl(registeredWarpper.getDriveCardImgUrl());
         driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate());
         driver.setTaxiAptitudeCard(registeredWarpper.getTaxiAptitudeCard());

--
Gitblit v1.7.1