From 16900a8d681aed70bca5b3fea8dc28715dde9712 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 17 七月 2024 09:53:13 +0800
Subject: [PATCH] 2024-07-17 朱宝民 重构了获取取水口两个接口

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java                   |   12 +++---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java        |    4 --
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java |    4 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java     |   19 ++++++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java       |   51 ++++++++++++++++++++++++-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java                 |    4 +-
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml                              |    4 +-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                                |   20 +++++-----
 8 files changed, 90 insertions(+), 28 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java
index 385475b..3b127ad 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java
@@ -22,9 +22,6 @@
 
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-        String ds = DataSourceContext.get();
-        System.out.println(ds);
-
         HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
         String wxDataSourceName = httpRequest.getHeader("tag");
         if(wxDataSourceName != null && wxDataSourceName.trim().length() > 0){
@@ -33,7 +30,6 @@
             DataSourceContext.set(wxDataSourceName);
         } else {
             log.info("鐢ㄦ埛鏈�夋嫨鏁版嵁婧�");
-            DataSourceContext.set("ym");
         }
 
         filterChain.doFilter(servletRequest, servletResponse);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 234a1bf..4254d08 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -329,12 +329,12 @@
             Data myData = (Data)response_CallBack.getContent();
 
             // 鏇存柊鍛戒护鏃ュ織锛氭墽琛岀粨鏋溿�佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹�
-            rmCommandHistory = new RmCommandHistory();
-            rmCommandHistory.setComId(comId);
-            rmCommandHistory.setResult((byte)1);
-            rmCommandHistory.setResultTime(new Date());
-            rmCommandHistory.setResultText((JSONObject)JSON.toJSON(myData));
-            rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
+            //rmCommandHistory = new RmCommandHistory();
+            //rmCommandHistory.setComId(comId);
+            //rmCommandHistory.setResult((byte)1);
+            //rmCommandHistory.setResultTime(new Date());
+            //rmCommandHistory.setResultText((JSONObject)JSON.toJSON(myData));
+            //rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
 
             return BaseResponseUtils.buildSuccess(myData) ;
         } else {
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 c5c2f24..3ab97a6 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
@@ -113,14 +113,14 @@
     List<Map<String, Object>> getNoBindingIntakes();
 
     /**
-     * 鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛夊簾寮�
+     * 鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
      * @param params
      * @return
      */
     Long getOnLineIntakesCount(Map<?, ?> params);
 
     /**
-     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛夊簾寮�
+     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
      * @param params
      * @return
      */
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
index ab10469..3b1c640 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -5,8 +5,8 @@
             #name: ym
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
-#            url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#            url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
 #            url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
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 3099a55..54809d4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -358,31 +358,31 @@
     WHERE id NOT IN(SELECT intakeId FROM pr_controller) AND deleted = 0
   </select>
 
-  <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛� 搴熷純-->
+  <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
   <select id="getOnLineIntakesCount" resultType="java.lang.Long">
     SELECT
         COUNT(*) AS recordCount
     FROM pr_controller con
         INNER JOIN pr_intake inta ON con.intakeId = inta.id
         left JOIN JSON_TABLE(
-        <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
-        #{onLineMap},
-        '$[*]' COLUMNS(
-            rtuAddr VARCHAR(20) PATH '$.rtuAddr',
-            isOnLine BOOLEAN PATH '$.isOnLine'
-        )
-    ) rtus ON con.rtuAddr = rtus.rtuAddr
+            <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
+            #{onLineMap},
+            '$[*]' COLUMNS(
+                rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+                isOnLine BOOLEAN PATH '$.isOnLine'
+            )
+        ) rtus ON con.rtuAddr = rtus.rtuAddr
     <where>
       <if test="isOnLine != null">
         rtus.isOnLine = #{isOnLine}
       </if>
       <if test="intakeNum != null and intakeNum != ''">
-        AND inta.name LIKE CONCAT('%', #{intakeNum}, '%')
+        AND inta.name = #{intakeNum}
       </if>
     </where>
   </select>
 
-  <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛� 搴熷純-->
+  <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
   <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
     SELECT
       con.intakeId,
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 5ddabb6..e2ee1ef 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
@@ -30,14 +30,29 @@
     private final IntakeSv intakeSv;
 
     /**
-     * 鑾峰彇鍙栨按鍙o紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+     * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "one_intake")
+    public BaseResponse<QueryResultVo<VoOnLineIntake>> getOneIntake(OnLineIntakesQO qo) {
+        try {
+            return BaseResponseUtils.buildSuccess(intakeSv.selectOneIntake(qo));
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
      * @param qo
      * @return
      */
     @GetMapping(path = "all_intakes")
     public BaseResponse<QueryResultVo<VoOnLineIntake>> getAllIntakes(OnLineIntakesQO qo) {
         try {
-            return BaseResponseUtils.buildSuccess(intakeSv.selectOnLineIntakes(qo));
+            return BaseResponseUtils.buildSuccess(intakeSv.selectAllIntakes(qo));
         } catch (Exception e) {
             log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage());
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 32c3ed8..47ecf84 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
@@ -6,6 +6,7 @@
 import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
@@ -58,10 +59,10 @@
     }
 
     /**
-     * 鑾峰彇鍙栨按鍙�
+     * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
      * @return
      */
-    public VoOnLineIntake selectOnLineIntakes(OnLineIntakesQO qo) {
+    public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) {
         Command com = new Command() ;
         com.id = Command.defaultId;
         com.code = "LCD0001";
@@ -96,6 +97,52 @@
     }
 
     /**
+     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+     * @return
+     */
+    public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) {
+        Command com = new Command() ;
+        com.id = Command.defaultId;
+        com.code = "LCD0001";
+        com.type = "innerCommand";
+        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+
+        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+        if(response != null && response.getString("code").equals("0001")) {
+            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
+            HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
+
+            JSONArray jsonArray = new JSONArray();
+            for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("rtuAddr", entry.getKey());
+                jsonObject.put("isOnLine", entry.getValue());
+                jsonArray.add(jsonObject);
+            }
+
+            qo.setOnLineMap(jsonArray.toJSONString());
+            // 濡傛灉 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.getOnLineIntakesCount(params);
+
+            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+            rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
+            return rsVo;
+        } else {
+            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
+            return rsVo;
+        }
+    }
+
+    /**
      * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
      * @param operator
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
index 0e8d641..b6043c0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.ResultCodeMsg;
@@ -246,6 +247,7 @@
         job_body.put("mchid", mchid);
         job_body.put("description", description);
         job_body.put("out_trade_no", orderNumber);
+        job_body.put("attach", DataSourceContext.get());
         job_body.put("notify_url", notifyUrl);
 
         //璁㈠崟閲戦
@@ -420,6 +422,8 @@
             JSONObject job_resource = JSONObject.parseObject(resource);
 
             // 瑙e瘑鍚庡彇鍑猴細鍟嗘埛璁㈠崟鍙枫�佸井淇℃敮浠樿鍗曞彿銆佷氦鏄撶姸鎬併�佹敮浠樺畬鎴愭椂闂�
+            String attach = job_resource.getString("attach");
+            DataSourceContext.set(attach);
             String out_trade_no = job_resource.getString("out_trade_no");
             String transaction_id = job_resource.getString("transaction_id");
             String trade_state = job_resource.getString("trade_state");

--
Gitblit v1.8.0