From 4a8aacc59c7a3f972ede1cd1f375977dc3ba23aa Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 20 五月 2026 23:10:10 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
index 84659b7..509cf69 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DriverInfoServiceImpl.java
@@ -159,6 +159,10 @@
      * 鍙戦�佸徃鏈虹珯鍐呬俊閫氱煡
      */
     private void sendDriverNotice(Integer driverId, Constants.DriverOrderNotify notify, Integer orderId, String... params) {
+        sendDriverNotice(driverId, notify, orderId, 0, params);
+    }
+
+    private void sendDriverNotice(Integer driverId, Constants.DriverOrderNotify notify, Integer objId, Integer objType, String... params) {
         DriverInfo driver = driverInfoMapper.selectById(driverId);
         if (driver == null || driver.getMemberId() == null) {
             return;
@@ -168,8 +172,8 @@
         notice.setUserId(driver.getMemberId());
         notice.setTitle(notify.getTitle());
         notice.setContent(notify.format(params));
-        notice.setObjId(orderId);
-        notice.setObjType(0); // 0=璁㈠崟
+        notice.setObjId(objId);
+        notice.setObjType(objType);
         notice.setStatus(0);  // 0=鏈
         notice.setIsdeleted(Constants.ZERO);
         notice.setCreateDate(new Date());
@@ -242,7 +246,6 @@
         IPage<DriverInfo> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<DriverInfo> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        pageWrap.getModel().setDeleted(Constants.ZERO);
 
         // 鍙告満濮撳悕/鎵嬫満鍙凤紙鍏抽敭瀛楁ā绯婃煡璇級
         if (StringUtils.isNotBlank(pageWrap.getModel().getKeyword())) {
@@ -278,7 +281,8 @@
         queryWrapper.selectAll(DriverInfo.class)
                 .select(" ( select ifnull(sum(r.OPT_TYPE * r.AMOUNT),0) from revenue r where r.MEMBER_TYPE = 1 and r.MEMBER_ID= t.id and r.VAILD_STATUS = 1 ) as memberAmount ")
                 .selectAs(Category::getName,DriverInfo::getCarTypeName)
-                .leftJoin(Category.class, Category::getId,DriverInfo::getCarType);
+                .leftJoin(Category.class, Category::getId,DriverInfo::getCarType)
+                .eq(DriverInfo::getDeleted, Constants.ZERO);
         queryWrapper.orderByDesc(DriverInfo::getId);
         PageData<DriverInfo> pageData = PageData.from(driverInfoMapper.selectPage(page, queryWrapper));
         for (DriverInfo d : pageData.getRecords()) {
@@ -555,6 +559,15 @@
             newChange.setJpushAlias(official.getJpushAlias());
             driverInfoMapper.insert(newChange);
             saveDriverAttachments(newChange.getId(), request, now);
+            // 鏍囪鍘嗗彶鐨勫彉鏇寸増鏈负鍒犻櫎
+            driverInfoMapper.update(new UpdateWrapper<DriverInfo>().lambda()
+                    .set(DriverInfo::getDeleted, Constants.ONE)
+                    .set(DriverInfo::getUpdateTime, now)
+                    .eq(DriverInfo::getMemberId, memberId)
+                    .eq(DriverInfo::getVersionType, Constants.ONE)
+                    .eq(DriverInfo::getDeleted, Constants.ZERO)
+                    .ne(DriverInfo::getId, newChange.getId()));
+
         } else {
             // auditStatus=0/2锛氱洿鎺ユ洿鏂板彉鏇寸増鏈�
             applyDriverFieldsFromUpdate(changeVersion.getId(), request, now);
@@ -823,6 +836,11 @@
 
             // 鐭俊閫氱煡
             sendDriverAuditSms(changeVersion, newAuditStatus, auditDTO.getAuditRemark());
+
+            // 棣栨瀹℃壒閫氳繃锛氬彂閫佸鍔辫В閿佺珯鍐呬俊
+            if (Constants.equalsInteger(newAuditStatus, Constants.THREE)) {
+                sendDriverNotice(changeVersion.getId(), Constants.DriverOrderNotify.REWARD_UNLOCKED, null, 2);
+            }
         } else {
             // 鍦烘櫙2锛氭寮忕増鏈凡瀹℃壒閫氳繃锛堝彉鏇村鎵癸級
             if (Constants.equalsInteger(newAuditStatus, Constants.THREE)) {
@@ -1797,7 +1815,7 @@
         // 4. 鏇存柊璁㈠崟鐘舵�佷负娲鹃�佷腑(4)
         ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                 .set(Orders::getStatus, Constants.OrderStatus.delivering.getStatus())
-                .set(Orders::getTakeTime, now)
+                .set(Orders::getDriverTakeTime, now)
                 .set(Orders::getUpdateTime, now)
                 .eq(Orders::getId, orderId));
 
@@ -1867,6 +1885,9 @@
         }
         if (!driverId.equals(order.getAcceptDriver())) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鏃犳潈鎿嶄綔璇ヨ鍗�");
+        }
+        if (Constants.equalsInteger(order.getExceptionStatus(), Constants.ONE)) {
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "寮傚父璁㈠崟鏃犳硶杩涜纭閫佽揪");
         }
 
         // 3. 淇濆瓨閫佽揪鍥剧墖
@@ -2258,7 +2279,13 @@
                 .eq(status != null, Orders::getStatus, status)
                 .eq(Orders::getDeleted, Constants.ZERO)
                 .orderByDesc(Orders::getAcceptTime);
-
+        // 鍏抽敭璇嶆悳绱細鏀朵欢浜�/鏀朵欢浜虹數璇濇ā绯娿�佽鍗曞彿绮惧噯
+        if (StringUtils.isNotBlank(model.getKeyword())) {
+            String kw = model.getKeyword().trim();
+            wrapper.and(w -> w.like(Orders::getTakeUser, kw)
+                    .or().like(Orders::getTakePhone, kw)
+                    .or().like(Orders::getCode, kw));
+        }
         IPage<Orders> orderPage = ordersMapper.selectJoinPage(p, Orders.class, wrapper);
 
         List<DriverGrabOrderVO> voList = new ArrayList<>();

--
Gitblit v1.9.3