From de448cb8a94591b85a99816d741480bf4c227879 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期三, 10 九月 2025 11:25:55 +0800
Subject: [PATCH] 新增过期状态字段

---
 quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java                           |    8 +++++++-
 service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java |    8 ++++++++
 service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java            |    2 ++
 service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java                  |    4 ++++
 service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java         |    6 ++++++
 service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml                  |   19 ++++++++++++++++---
 6 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
index 96d988e..2c8ae47 100644
--- a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
+++ b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
@@ -7,8 +7,10 @@
 import com.ruoyi.cwgl.domain.EstimatedReceivable;
 import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
 import com.ruoyi.cwgl.domain.ReceivableLineTruckPriceRule;
+import com.ruoyi.cwgl.mapper.SmartLockerApplicationMapper;
 import com.ruoyi.cwgl.service.IEstimatedReceivableService;
 import com.ruoyi.cwgl.service.IPendingSettlementBusinessService;
+import com.ruoyi.cwgl.service.ISmartLockerApplicationService;
 import com.ruoyi.cwgl.service.impl.ExactPricingRuleMatcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -34,6 +36,8 @@
     private IPendingSettlementBusinessService pendingSettlementBusinessService;
     @Autowired
     private IEstimatedReceivableService estimatedReceivableService;
+    @Autowired
+    private ISmartLockerApplicationService smartLockerApplicationService;
 
     public void insertPendingSettlement()
     {
@@ -108,7 +112,9 @@
         }
 
     }
-
+    public void checkExpiredApplications() {
+        smartLockerApplicationService.updateExpiredStatus();
+    }
 
 
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java b/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java
index 27aeac8..f890064 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java
@@ -96,6 +96,10 @@
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         @TableField("create_time")
     private Date createTime;
+    /** 鎴鏃ユ湡 */
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @TableField("deadline_time")
+    private Date deadlineTime;
 
 
     /** 鏇存柊鏃堕棿 */
diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java
index 9756389..2272c38 100644
--- a/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java
+++ b/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java
@@ -90,4 +90,6 @@
 
     Integer selectCwByLicensePlateNumber(String licensePlateNumber);
 
+    int updateExpiredStatus();
+
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java b/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java
index 33412b8..c4e895f 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java
@@ -108,4 +108,10 @@
     int invalid(Integer id);
 
     Integer selectCwByLicensePlateNumber(String licensePlateNumber);
+
+    /**
+     * 鏌ヨ鏄惁杩囨湡
+     */
+    void updateExpiredStatus();
+
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java
index b5b6821..4648f66 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java
@@ -202,4 +202,12 @@
         }
         return integer;
     }
+
+    @Override
+    public void updateExpiredStatus() {
+
+        int i = smartLockerApplicationMapper.updateExpiredStatus();
+        logger.info("鏇存柊{}鏉℃暟鎹繃鏈熺姸鎬佹垚鍔�",i);
+
+    }
 }
diff --git a/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml b/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml
index baa77ed..8936aac 100644
--- a/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml
@@ -22,10 +22,11 @@
         <result property="createBy"    column="create_by"    />
         <result property="updateBy"    column="update_by"    />
         <result property="deleted"    column="deleted"    />
+        <result property="deadlineTime"    column="deadline_time"    />
     </resultMap>
 
     <sql id="selectSmartLockerApplicationVo">
-        select thisTab.id, thisTab.command_type, thisTab.applicant_code, thisTab.applicant_name, thisTab.item_type, thisTab.item_name, thisTab.locker_no, thisTab.locker_port, thisTab.status, thisTab.cancel_time, thisTab.receive_time, thisTab.create_time, thisTab.update_time, thisTab.remark, thisTab.create_by, thisTab.update_by, thisTab.deleted from smart_locker_application AS thisTab
+        select thisTab.id, thisTab.command_type, thisTab.applicant_code, thisTab.applicant_name, thisTab.item_type, thisTab.item_name, thisTab.locker_no, thisTab.locker_port, thisTab.status, thisTab.cancel_time, thisTab.receive_time, thisTab.create_time, thisTab.update_time, thisTab.remark, thisTab.create_by, thisTab.update_by, thisTab.deleted, thisTab.deadline_time from smart_locker_application AS thisTab
     </sql>
     <sql id="selectSmartLockerApplicationVoCount">
         select count(0) from smart_locker_application as thisTab
@@ -98,6 +99,7 @@
             <if test="createBy != null">create_by,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="deleted != null">deleted,</if>
+            <if test="deadlineTime != null">deadline_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="commandType != null">#{commandType},</if>
@@ -116,17 +118,18 @@
             <if test="createBy != null">#{createBy},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="deleted != null">#{deleted},</if>
+            <if test="deadlineTime != null">#{deadlineTime},</if>
          </trim>
     </insert>
 
     <insert id="insertSmartLockerApplicationBatch" parameterType="java.util.List"  useGeneratedKeys="true" keyProperty="id">
         insert into smart_locker_application
         <trim prefix="(" suffix=") values" suffixOverrides=",">
-            id,command_type,applicant_code,applicant_name,item_type,item_name,locker_no,locker_port,status,cancel_time,receive_time,create_time,update_time,remark,create_by,update_by,deleted,
+            id,command_type,applicant_code,applicant_name,item_type,item_name,locker_no,locker_port,status,cancel_time,receive_time,create_time,update_time,remark,create_by,update_by,deleted,deadline_time,
         </trim>
         <foreach item="item" index="index" collection="list" separator=",">
             <trim prefix="(" suffix=") " suffixOverrides=",">
-                #{item.id},#{item.commandType},#{item.applicantCode},#{item.applicantName},#{item.itemType},#{item.itemName},#{item.lockerNo},#{item.lockerPort},#{item.status},#{item.cancelTime},#{item.receiveTime},#{item.createTime},#{item.updateTime},#{item.remark},#{item.createBy},#{item.updateBy},#{item.deleted},
+                #{item.id},#{item.commandType},#{item.applicantCode},#{item.applicantName},#{item.itemType},#{item.itemName},#{item.lockerNo},#{item.lockerPort},#{item.status},#{item.cancelTime},#{item.receiveTime},#{item.createTime},#{item.updateTime},#{item.remark},#{item.createBy},#{item.updateBy},#{item.deleted},#{item.deadlineTime},
             </trim>
         </foreach>
     </insert>
@@ -151,6 +154,7 @@
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="deleted != null">deleted = #{deleted},</if>
+            <if test="deadlineTime != null">deadline_time = #{deadlineTime},</if>
         </trim>
         where id = #{id}
     </update>
@@ -175,10 +179,19 @@
                 <if test="item.createBy != null">create_by = #{item.createBy},</if>
                 <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
                 <if test="item.deleted != null">deleted = #{item.deleted},</if>
+                <if test="item.deadlineTime != null">deadline_time = #{item.deadlineTime},</if>
             </trim>
         where id = #{item.id}
         </foreach>
     </update>
+    <update id="updateExpiredStatus">
+
+        UPDATE smart_locker_application
+        SET status = 3, update_time = NOW()
+        WHERE status = 0
+        AND deadline_time &lt;  NOW()
+
+    </update>
 
     <!--鍒犻櫎-->
     <delete id="deleteSmartLockerApplicationById" parameterType="Integer">

--
Gitblit v1.8.0