From a0a9fc7a58a39626a395d2760194641726e1cd35 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 25 四月 2025 10:48:15 +0800
Subject: [PATCH] 1、微信小程序后端轮灌迟延时长改为可配置的; 2、微信小程序查询取水口接口实现修改,改为后端模糊查询;

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml                            |    5 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java           |   16 ++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java             |   24 ++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java                       |   16 ++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java |   14 ++++++-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                                      |   33 ++++++++++++++++
 6 files changed, 106 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index 35a5b41..989f41f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -205,4 +205,20 @@
      * @return
      */
     List<VoIntakeSimple> getNotLinkVcIntakes();
+
+
+    /**
+     * 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰曟暟
+     * @param params
+     * @return
+     */
+    Long getSomeIntakesCount4Wx(Map<?, ?> params);
+
+    /**
+     * 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙�
+     * @param params
+     * @return
+     */
+    List<VoOnLineIntake> getSomeIntakes4Wx(Map<?, ?> params);
+
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index e580bd8..c4b2f4f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -765,4 +765,37 @@
                 WHERE iv.intake_id = inta.id
             ) AND inta.deleted = 0
     </select>
+
+
+
+    <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰曟暟 -->
+    <select id="getSomeIntakesCount4Wx" parameterType="java.util.Map" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM pr_intake tb
+        <where>
+            tb.deleted = 0
+            <if test="intakeName != null and intakeName != ''">
+                AND tb.name LIKE CONCAT('%', #{intakeName})
+            </if>
+        </where>
+    </select>
+
+    <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰� -->
+    <select id="getSomeIntakes4Wx" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
+        SELECT
+        inta.id AS intakeId,
+        con.rtuAddr,
+        inta.name AS intakeNum
+        FROM pr_intake inta
+        INNER JOIN pr_controller con ON con.intakeId = inta.id
+        <where>
+            inta.deleted = 0
+            <if test="intakeName != null and intakeName != ''">
+                AND inta.name LIKE CONCAT('%', #{intakeName})
+            </if>
+        </where>
+        ORDER BY inta.id DESC
+    </select>
+
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
index f4ad602..721917a 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
@@ -40,6 +40,22 @@
      * @return
      */
     @GetMapping(path = "all_intakes")
+    public BaseResponse<QueryResultVo<List<VoOnLineIntake>>> getSomeIntakes(OnLineIntakesQO qo) {
+        try {
+            return BaseResponseUtils.buildSuccess(intakeSv.selectSomeIntakes(qo));
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "all_intakes1")
     public BaseResponse<QueryResultVo<VoOnLineIntake>> getOneIntake(OnLineIntakesQO qo) {
         try {
             return BaseResponseUtils.buildSuccess(intakeSv.selectOneIntake(qo));
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
index 33bb871..90bbc2d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -65,6 +65,30 @@
         this.env = env;
     }
 
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛�
+     * @return
+     */
+    public QueryResultVo<List<VoOnLineIntake>> selectSomeIntakes(OnLineIntakesQO qo) {
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Long itemTotal = prIntakeMapper.getSomeIntakesCount4Wx(params);
+
+        QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = prIntakeMapper.getSomeIntakes4Wx(params);
+        return rsVo;
+
+    }
+
     /**
      * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
index e9c674f..cdc76d5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -18,6 +18,7 @@
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -67,6 +68,11 @@
 
     @Autowired
     private CommandSv commandSv;
+
+    @Value("${webchat.irr.plan.delay}")
+    private Integer irrPlanDelay ;//杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
+
+    private static final Integer irrPlanDelayDefault = 5 ;//杞亴涓鍒掑紑闃�鐨勯粯璁ゅ欢杩熸椂闀�
 
     /**
      * 娣诲姞鐏屾簤璁″垝
@@ -179,8 +185,12 @@
         LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
         if(startupMode == 1){
             // 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
-            startTime = startTime.plusMinutes(2);
+            //startTime = startTime.plusMinutes(2);
             //startTime = startTime.plusMinutes(5);
+            if(irrPlanDelay == null || irrPlanDelay <= 0) {
+                irrPlanDelay = irrPlanDelayDefault ;
+            }
+            startTime = startTime.plusMinutes(irrPlanDelay);
         }
         planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
         LocalDateTime stopTime = startTime.plusMinutes(duration);
@@ -527,7 +537,7 @@
     }
 
     @Transactional(rollbackFor = Exception.class)
-    private Integer updatePlanTimes(Date planStartTime, Date planEndTime,  Long planId){
+    Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId){
         return irrigatePlanMapper.updatePlanTimes(planStartTime, planEndTime, planId);
     }
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
index 1a7ca23..8a9c150 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application-self.yml
@@ -12,6 +12,11 @@
         context-parameters:
             #GenerateIdSetSuffixListener涓簲鐢紝鍙栧�艰寖鍥存槸0-99
             idSuffix: ${pipIrr.wechat.idSuffix}
+webchat:
+    irr:
+        plan:
+            delay: 5 #杞亴涓鍒掑紑闃�鐨勫欢杩熸椂闀�
+
 
 #闃块噷鐭俊鏈嶅姟
 aliyun:

--
Gitblit v1.8.0