From 400af57e240a4c0d74c81ffc8b3417226b51345a Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 06 六月 2024 08:19:13 +0800
Subject: [PATCH] 2024-06-06 朱宝民 生产环境版本

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java                                     |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java               |   91 ++--
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java             |   55 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java              |   71 ---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java                   |  197 ++++----
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java                  |   14 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java                   |   10 
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml                                      |    3 
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java           |   36 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java                              |   15 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/enums/LastOperateENUM.java  |   27 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java                 |  134 ++++-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java                            |   32 +
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java             |   71 ---
 pipIrr-platform/pipIrr-web/pipIrr-web-demo/src/main/java/com/dy/pipIrrDemo/demo/DemoCtrl.java                     |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java                         |    7 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/dto/DtoOrder.java            |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java   |   33 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentSv.java               |   11 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java                           |   84 +++
 pipIrr-platform/pipIrr-global/pom.xml                                                                             |   26 
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java             |  113 +++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClientWechat.java                          |   26 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml                                        |   22 +
 pipIrr-platform/pipIrr-web/pom.xml                                                                                |   56 +-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml                                    |    6 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                                        |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java             |    7 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/enums/LastOperateENUM.java |   27 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentCtrl.java             |   38 -
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml                                      |    3 
 31 files changed, 758 insertions(+), 471 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/pom.xml b/pipIrr-platform/pipIrr-global/pom.xml
index ed3c376..67e9c0e 100644
--- a/pipIrr-platform/pipIrr-global/pom.xml
+++ b/pipIrr-platform/pipIrr-global/pom.xml
@@ -144,19 +144,19 @@
 
     <build>
         <plugins>
-            <plugin>
-                <!-- spring boot鎻愪緵鐨刴aven鎵撳寘鎻掍欢 -->
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                        </exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
+<!--            <plugin>-->
+<!--                &lt;!&ndash; spring boot鎻愪緵鐨刴aven鎵撳寘鎻掍欢 &ndash;&gt;-->
+<!--                <groupId>org.springframework.boot</groupId>-->
+<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
+<!--                <configuration>-->
+<!--                    <excludes>-->
+<!--                        <exclude>-->
+<!--                            <groupId>org.projectlombok</groupId>-->
+<!--                            <artifactId>lombok</artifactId>-->
+<!--                        </exclude>-->
+<!--                    </excludes>-->
+<!--                </configuration>-->
+<!--            </plugin>-->
             <plugin>
                 <!-- maven閲屾墽琛屾祴璇曠敤渚嬬殑鎻掍欢 -->
                 <groupId>org.apache.maven.plugins</groupId>
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 89ba085..bfb603a 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
@@ -5,21 +5,22 @@
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.mw.protocol.CommandType;
 import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.command.dto.Param;
 import com.dy.pipIrrGlobal.command.result.CommandResultCode;
 import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
 import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
 import jakarta.annotation.PostConstruct;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.DependsOn;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
 
@@ -41,8 +42,8 @@
  * @Description 鍛戒护鏀拺绫�
  */
 
-@Component
-@DependsOn({"baSettingsMapper", "prControllerMapper"})
+//@Component
+//@DependsOn({"baSettingsMapper", "prControllerMapper"})
 public class ComSupport {
     protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
 
@@ -59,8 +60,16 @@
 
     @Autowired
     private BaSettingsMapper baSettingsMapper;
+
     @Autowired
     private PrControllerMapper prControllerMapper;
+
+    //@Autowired
+    //private CommandSv commandSv;
+
+    @Autowired
+    private RmCommandHistoryMapper rmCommandHistoryMapper;
+
     public static ComSupport comSupport;
 
     /**
@@ -214,4 +223,71 @@
         }
         return response.getBody();
     }
+
+    /**
+     * 鍙戦�佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+     * @param po
+     * @return
+     */
+    protected BaseResponse dealWithCommandResult(Param po) {
+        Long comId = po.getComId();
+        String commandCode = po.getCommandCode();
+        Long intakeId = po.getIntakeId();
+        String rtuAddr = po.getRtuAddr();
+        String protocol = po.getProtocol();
+        Object param = po.getParam();
+        String rtuResultSendWebUrl = po.getRtuResultSendWebUrl();
+        Long operator = po.getOperator();
+
+        // 鏋勯�犲懡浠�
+        Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
+
+        // 鍙戦�佸懡浠�
+        JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
+        if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
+            //if(1 > 0) {
+            // 璇锋眰鎴愬姛
+
+            // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
+            String commandName = CodeV202404.getCodeName(commandCode);
+            RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
+            //commandSv.insert(rmCommandHistory);
+            rmCommandHistoryMapper.insert(rmCommandHistory);
+
+            // 澶勭悊鍥炶皟
+            BaseResponse response_CallBack = dealWithCallBack(comId);
+
+            // 鍥炶皟澶辫触
+            if(!response_CallBack.getCode().equals("0001")) {
+                // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
+                rmCommandHistory = new RmCommandHistory();
+                rmCommandHistory.setId(comId);
+                rmCommandHistory.setResult((byte)0);
+                //commandSv.updateCommandResult(rmCommandHistory);
+                rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
+                return BaseResponseUtils.buildFail(response_CallBack.getMsg());
+                //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+            }
+
+            // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
+            JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
+            System.out.println(job_content);
+            JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
+            System.out.println(job_subData);
+            Boolean dealResult = job_subData.getBoolean("success");
+            if(!dealResult) {
+                return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+            }
+
+            /**
+             * 鎵ц鎴愬姛锛岃繑鍥炲洖璋冨唴瀹�
+             */
+            Data myData = (Data)response_CallBack.getContent();
+            return BaseResponseUtils.buildSuccess(myData) ;
+        } else {
+            // 璇锋眰澶辫触
+            JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
+            return BaseResponseUtils.buildFail(job_param.getString("message"));
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java
new file mode 100644
index 0000000..e1541f7
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java
@@ -0,0 +1,32 @@
+package com.dy.pipIrrGlobal.command.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-06-04 11:25
+ * @LastEditTime 2024-06-04 11:25
+ * @Description
+ */
+
+@Data
+public class Param {
+    public static final long serialVersionUID = 202406041126001L;
+
+    private Long comId;
+
+    private String commandCode;
+
+    private Long intakeId;
+
+    private String rtuAddr;
+
+    private String protocol;
+
+    private Object param;
+
+    private String rtuResultSendWebUrl;
+
+    private Long operator;
+
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
index 3ca9a2f..7f24819 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeClient;
 import com.dy.pipIrrGlobal.voSe.VoClient;
+import com.dy.pipIrrGlobal.voSe.VoClientWechat;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -105,4 +106,10 @@
      */
     List<Map<String, Object>> getWaterTypes();
 
+    /**
+     * 鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤
+     * @param sessionId
+     * @return
+     */
+    VoClientWechat getSimpleClientInfo(@Param("sessionId") Long sessionId, @Param("openId") String openId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java
index c99a127..22aac40 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java
@@ -45,7 +45,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鎵�鍦ㄥ幙ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄥ幙涓嶈兘涓虹┖")
     private Long countyid;
 
     /**
@@ -53,7 +52,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鎵�鍦ㄩ晣ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄩ晣涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
     private Long townid;
 
     /**
@@ -61,7 +59,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
     private Long villageid;
 
     /**
@@ -69,7 +66,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鎵�鍦ㄧ墖鍖篒D", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄧ墖鍖轰笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null
     private Long blockid;
 
     /**
@@ -77,7 +73,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鎵�鍦ㄥ垎姘存埧ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄥ垎姘存埧涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
     private Long divideid;
 
     /**
@@ -92,7 +87,6 @@
      * 铏氭嫙鍗″彿;10浣嶏紝浠�1000000000寮�濮�
      */
     @Schema(description = "铏氭嫙鍗″彿", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "铏氭嫙鍗″彿涓嶈兘涓虹┖")
     private Long virtualid;
 
     /**
@@ -100,7 +94,6 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED)
-    //@NotBlank(message = "鍐滄埛缂栧彿涓嶈兘涓虹┖")
     private String clientnum;
 
     /**
@@ -108,14 +101,12 @@
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @Schema(description = "鍖哄垝缂栫爜涓�", requiredMode = Schema.RequiredMode.REQUIRED)
-    //@NotNull(message = "鍖哄垝缂栫爜涓蹭笉鑳戒负绌�")
     private Long districtnum;
 
     /**
      * 鍖哄垝鍚嶇О涓�;鍘垮悕+闀囧悕+鏉戝悕锛岀敤浜庡綊灞炲湴
      */
     @Schema(description = "鍖哄垝鍚嶇О涓�", requiredMode = Schema.RequiredMode.REQUIRED)
-    //@NotBlank(message = "鍖哄垝鍚嶇О涓�")
     private String districttitle;
 
     /**
@@ -131,7 +122,7 @@
      */
     @Schema(description = "鍐滄埛韬唤璇佸彿", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotBlank(message = "鍐滄埛韬唤璇佸彿涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
-    @Length(message = "鍐滄埛韬唤璇佸彿蹇呴』{max}浣嶆暟鎹�", min = 18, max = 18)
+    //@Length(message = "鍐滄埛韬唤璇佸彿蹇呴』{max}浣嶆暟鎹�", min = 18, max = 18)
     private String idcard;
 
     /**
@@ -150,14 +141,14 @@
      * 琛楅亾鍙婇棬鐗屽彿
      */
     @Schema(description = "琛楅亾+闂ㄧ墝鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Length(message = "鍦板潃涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 50)
+    @Length(message = "鍦板潃涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", max = 50)
     private String address;
 
     /**
      * 澶囨敞淇℃伅
      */
     @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 200)
+    @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", max = 200)
     private String remarks;
 
     /**
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
index 0507bd1..f5870de 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/util/Org.java
@@ -13,7 +13,8 @@
 public enum Org {
 
     Ym("ym", "鍏冭皨"),
-    Pj("pj", "鐗囪闀�") ;
+    Pj("pj", "鐗囪闀�"),
+    Jyg("ym", "鍢夊唱鍏�");
 
     @EnumValue
     public String tag ;
@@ -44,7 +45,7 @@
     }
 
     public static Org get(String tag){
-        if(tag.equals(Ym.tag)){
+        if(tag.equals(Ym.tag) || tag.equals(Jyg.tag)){
             return Ym ;
         }else if(tag.equals(Pj.tag)){
             return Pj ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClientWechat.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClientWechat.java
new file mode 100644
index 0000000..e30e534
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClientWechat.java
@@ -0,0 +1,26 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.dy.common.po.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-06-03 11:40
+ * @LastEditTime 2024-06-03 11:40
+ * @Description 鍐滄埛瑙嗗浘瀵硅薄锛屽皬绋嬪簭浣跨敤
+ */
+
+@Data
+public class VoClientWechat implements BaseEntity {
+    private static final long serialVersionUID = 202406031142001L;
+
+    private String sessionId;
+
+    private String clientId;
+
+    private String clientName;
+
+    private String phone;
+
+    private String blockId;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
index 22cbe00..ee313a9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-pj.yml
@@ -5,7 +5,8 @@
             #name: pj
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
-            url: jdbc:mysql://192.168.91.73:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#            url: jdbc:mysql://192.168.91.73:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://127.0.0.1:3306/pipIrr_pj?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
             druid:
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 2c43ab8..87cffb8 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,7 +5,8 @@
             #name: ym
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
-            url: jdbc:mysql://192.168.91.73:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#            url: jdbc:mysql://192.168.91.73: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
             username: root
             password: dysql,;.abc!@#
             druid:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
index fa997e8..c0f940b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -168,10 +168,9 @@
     SELECT
         COUNT(*) AS recordCount
     FROM pr_controller con
-        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
+        LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
         INNER JOIN pr_intake inta ON con.intakeId = inta.id
     <where>
-      AND ic.operateType = 1
       AND con.deleted = 0
 
       <if test = "id != null and id > 0">
@@ -198,10 +197,9 @@
         (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
         con.findDt AS findDt
     FROM pr_controller con
-        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
+        LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
         INNER JOIN pr_intake inta ON con.intakeId = inta.id
     <where>
-      AND ic.operateType = 1
       AND con.deleted = 0
 
       <if test = "id != null and id > 0">
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 5560dca..1d5434d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -421,7 +421,7 @@
                rtus.isOnLine
     FROM pr_controller con
            INNER JOIN pr_intake inta ON con.intakeId = inta.id
-           INNER JOIN rm_command_history com ON con.rtuAddr = com.rtuAddr
+           INNER JOIN rm_command_history com ON con.rtuAddr = com.rtu_addr
            INNER JOIN JSON_TABLE(
             <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
             #{onLineMap},
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
index 7adaf21..674f25f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -436,4 +436,26 @@
     SELECT id, typeName from se_water_type
   </select>
 
+  <!--鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤-->
+  <select id="getSimpleClientInfo" resultType="com.dy.pipIrrGlobal.voSe.VoClientWechat">
+    SELECT
+      CAST(ope.id AS char) AS sessionId,
+      CAST(cli.id AS char)  AS clientId,
+      cli.name AS clientName,
+      cli.phone,
+      CAST(cli.blockId AS char) AS blockId
+    FROM se_open_id ope
+           INNER JOIN se_client cli ON ope.client_id = cli.id
+    <where>
+      <if test = "sessionId != null">
+        AND ope.id = #{sessionId}
+      </if>
+
+      <if test = "openId != null">
+        AND ope.open_id = #{openId}
+      </if>
+    </where>
+    LIMIT 0,1
+  </select>
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-demo/src/main/java/com/dy/pipIrrDemo/demo/DemoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-demo/src/main/java/com/dy/pipIrrDemo/demo/DemoCtrl.java
index 53bc971..6b1c16a 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-demo/src/main/java/com/dy/pipIrrDemo/demo/DemoCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-demo/src/main/java/com/dy/pipIrrDemo/demo/DemoCtrl.java
@@ -116,7 +116,7 @@
     @GetMapping("test1")
     public BaseResponse<BaUser> test1(){
         BaUser po = new BaUser() ;
-        po.userId = System.currentTimeMillis() ;
+        po.id = System.currentTimeMillis() ;
         po.userName = "寮犱笁" ;
         po.phone = "13912345678" ;
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
index 032631f..6d73906 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
@@ -9,7 +9,9 @@
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrGlobal.pojoPr.PrIntake;
 import com.dy.pipIrrGlobal.voPr.VoIntake;
+import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrProject.intake.qo.OnLineIntakesQO;
 import com.dy.pipIrrProject.result.ProjectResultCode;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -276,4 +278,38 @@
         String fileName = URLEncoder.encode(rawFileName, "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
     }
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "all_intakes")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoOnLineIntake>>> getAllIntakes(OnLineIntakesQO qo) {
+        try {
+            QueryResultVo<List<VoOnLineIntake>> res = intakeSv.selectOnLineIntakes(qo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛锛堝湪绾垮拰涓嶅湪绾匡級
+     * @param operator
+     * @return
+     */
+    @GetMapping(path = "used_intakes")
+    @SsoAop()
+    public BaseResponse<List<VoOnLineIntake>> getUsedIntakes(Long operator) {
+        try {
+            List<VoOnLineIntake> res = intakeSv.getUsedIntakes(operator);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
index 7fd8e0b..6e3d971 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -1,19 +1,30 @@
 package com.dy.pipIrrProject.intake;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
 import com.dy.pipIrrGlobal.pojoPr.PrIntake;
 import com.dy.pipIrrGlobal.voPr.VoIntake;
+import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
+import com.dy.pipIrrProject.intake.qo.OnLineIntakesQO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.web.util.UriComponentsBuilder;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @author wuzeyu
@@ -27,8 +38,15 @@
 public class IntakeSv {
     @Autowired
     private PrIntakeMapper prIntakeMapper;
+
     @Autowired
     private PrDivideMapper prDivideMapper;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
+
 
     /**
      * 娣诲姞鍙栨按鍙�
@@ -179,4 +197,93 @@
     public int getLevelByRegionId(long regionId) {
         return prIntakeMapper.getLevelByRegionId(regionId);
     }
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛�
+     * @return
+     */
+    public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(OnLineIntakesQO qo) {
+        Command com = new Command() ;
+        com.id = Command.defaultId;
+        com.code = "LCD0001";
+        com.type = "innerCommand";
+
+        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());
+            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
+     */
+    public List<VoOnLineIntake> getUsedIntakes(Long operator) {
+        Command com = new Command() ;
+        com.id = Command.defaultId;
+        com.code = "LCD0001";
+        com.type = "innerCommand";
+        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);
+            }
+            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
+        } else {
+            return new ArrayList<>();
+        }
+    }
+
+    /**
+     * 鍙戦�佸懡浠�
+     * @return
+     */
+    protected BaseResponse sendCom2Mw(Command com){
+        String url = UriComponentsBuilder.fromUriString(mwUrlSendCom)
+                .build()
+                .toUriString();
+        HttpHeaders headers = new HttpHeaders();
+        HttpEntity<Command> httpEntity = new HttpEntity<>(com, headers);
+        ResponseEntity<BaseResponse> response = null;
+        try {
+            // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛
+            response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return response.getBody();
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java
new file mode 100644
index 0000000..aebcdd0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/qo/OnLineIntakesQO.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrProject.intake.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-05-27 20:32
+ * @LastEditTime 2024-05-27 20:32
+ * @Description
+ */
+
+@Data
+public class OnLineIntakesQO extends QueryConditionVo {
+    /**
+     * 涓棿浠惰繑鍥炵殑RTU鍦ㄧ嚎鎯呭喌瀵硅薄鏁扮粍
+     */
+    private String onLineMap;
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    private String intakeNum;
+
+    /**
+     * 鏄惁鍦ㄧ嚎
+     */
+    @Max(value = 1,message = "鏄惁鍦ㄧ嚎浠呭厑璁镐负鐪熸垨鍋�")
+    @Min(value = 0,message = "鏄惁鍦ㄧ嚎浠呭厑璁镐负鐪熸垨鍋�")
+    private Boolean isOnLine;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
index ee47423..8e89662 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -15,10 +15,8 @@
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
-import com.dy.pipIrrRemote.common.qo.OnLineIntakesQO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -77,75 +75,6 @@
      */
     public Integer update(RmCommandHistory po) {
         return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
-    }
-
-    /**
-     * 鑾峰彇鍙栨按鍙e垪琛�
-     * @return
-     */
-    public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-
-        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());
-            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
-     */
-    public List<VoOnLineIntake> getUsedIntakes(Long operator) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        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);
-            }
-            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
-        } else {
-            return new ArrayList<>();
-        }
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/enums/LastOperateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/enums/LastOperateENUM.java
new file mode 100644
index 0000000..df99112
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/enums/LastOperateENUM.java
@@ -0,0 +1,27 @@
+package com.dy.pipIrrRemote.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-03-06 9:21
+ * @LastEditTime 2024-03-06 9:21
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum LastOperateENUM {
+    OPEN_ACCOUNT((byte)1, "寮�鎴�"),
+    RECHARGE((byte)2, "鍏呭��"),
+    CONSUME((byte)3, "娑堣垂"),
+    APPLY_REFUND((byte)4, "鐢宠閫�娆�"),
+    AUDIT_REFUND((byte)5, "閫�娆惧鏍�"),
+    REFUND((byte)6, "閫�娆�"),
+    OPEN_VALVE((byte)7, "寮�闃�"),
+    CLOSE_VALVE((byte)8, "鍏抽榾");
+
+    private final Byte code;
+    private final String message;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
index a0fe3bd..5afe421 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java
@@ -5,20 +5,21 @@
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
+import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
 import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
 import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
 import com.dy.common.util.IDLongGenerator;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
-import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.command.ComSupport;
+import com.dy.pipIrrGlobal.command.dto.Param;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
-import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrRemote.common.CommandSv;
 import com.dy.pipIrrRemote.common.dto.Addr;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
-import com.dy.pipIrrRemote.common.qo.OnLineIntakesQO;
+import com.dy.pipIrrRemote.result.RemoteResultCode;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -27,12 +28,7 @@
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
 import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
 
 /**
  * @author ZhuBaoMin
@@ -50,58 +46,7 @@
 
     protected static String controllerType = "57";
     private final IDLongGenerator idLongGenerator;
-
-    /**
-     * 鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌锛堜粎娴嬭瘯鐢級
-     * @return
-     */
-    @GetMapping(path = "get_online")
-    @SsoAop()
-    public BaseResponse<Boolean> get_online() {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-
-        JSONObject response = (JSONObject)JSON.toJSON(sendCom2Mw(com));
-        JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
-        return BaseResponseUtils.buildSuccess(attachment) ;
-    }
-
-    /**
-     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
-     * @param qo
-     * @return
-     */
-    @GetMapping(path = "get_online_intakes")
-    @SsoAop()
-    public BaseResponse<QueryResultVo<List<VoOnLineIntake>>> getOnLineIntakes(OnLineIntakesQO qo) {
-        try {
-            QueryResultVo<List<VoOnLineIntake>> res = commandSv.selectOnLineIntakes(qo);
-            return BaseResponseUtils.buildSuccess(res);
-            } catch (Exception e) {
-            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
-    }
-
-    /**
-     * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
-     * @param operator
-     * @return
-     */
-    @GetMapping(path = "used_intakes")
-    @SsoAop()
-    public BaseResponse<List<VoOnLineIntake>> getUsedIntakes(Long operator) {
-        try {
-            List<VoOnLineIntake> res = commandSv.getUsedIntakes(operator);
-            return BaseResponseUtils.buildSuccess(res);
-        } catch (Exception e) {
-            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
-    }
+    private String rtuResultSendWebUrl = "http://127.0.0.1:8081/remote/comRes/receive" ;
 
     /**
      * 璁剧疆璁惧缁堢鍦板潃
@@ -120,55 +65,101 @@
         Long intakeId = addr.getIntakeId();
         String newRtuAddr = addr.getNewRtuAddr();
         Long operator = addr.getOperator();
-        String commandCode = CodeV202404.cd_10;
         Long comId = idLongGenerator.generate();
 
-        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
-        //PrController prController = commandSv.getControllerByIntakeId(intakeId);
-        //if(prController == null) {
-        //    return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
-        //}
-        //String rtuAddr = prController.getRtuAddr();
-        //String protocol = prController.getProtocol();
-
-        // 鍒涘缓瑙嗗浘
-        ComCd10Vo param = new ComCd10Vo() ;
-        param.controllerType = controllerType;
-        param.projectNo =projectNo;
-        param.rtuNewAddr = newRtuAddr;
-
-        // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-        //RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, intakeId, rtuAddr, protocol, param, operator);
-        //comId = commandSv.insert(rmCommandHistory);
-        //System.out.println(comId);
-
-        // 鏋勯�犲懡浠�
-        //Command com = command(comId, commandCode, rtuAddr, protocol, param);
-        //sendCom2Mw(com);
-
-        CompletableFuture<Data> featureObject = new CompletableFuture<>();
-        features.put(comId, featureObject);
-        try {
-            CompletableFuture<Data> feature = (CompletableFuture<Data>) features.get(comId);
-            Data resultData = feature.get(30, TimeUnit.SECONDS);
-            features.remove(comId);
-            String commandId = resultData.getCommandId();
-            if(commandId.equals(comId)) {
-                //futureValue = new CompletableFuture<>();
-                return BaseResponseUtils.buildSuccess((JSONObject)JSON.toJSON(resultData.subData));
-            }
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        } catch (ExecutionException e) {
-            e.printStackTrace();
-        } catch (TimeoutException e) {
-            return BaseResponseUtils.buildFail("1鍒嗛挓鍚庡幓鏌ョ湅缁撴灉");
+        // 鑾峰彇绯荤粺鍙傛暟
+        if(!setuped) {
+            setUp();
         }
 
+        // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+        JSONObject job_rtu = getRtu(intakeId, null);
+        if(job_rtu == null) {
+            return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+        }
+        String rtuAddr = job_rtu.getString("rtuAddr");
+        String protocol = job_rtu.getString("protocol");
 
-        //return BaseResponseUtils.buildSuccess(resultData.toJson());
+        String commandCode = null;
+        if(protocol.equals("p206V202404")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV202404.cd_10;
 
-        return BaseResponseUtils.buildSuccess() ;
+            // 鍒涘缓瑙嗗浘
+            ComCd10Vo param = new ComCd10Vo() ;
+            param.controllerType = controllerType;
+            param.projectNo =projectNo;
+            param.rtuNewAddr = newRtuAddr;
+
+            // 鍙戦�佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+            Param po = new Param();
+            po.setComId(comId);
+            po.setCommandCode(commandCode);
+            po.setIntakeId(intakeId);
+            po.setRtuAddr(rtuAddr);
+            po.setProtocol(protocol);
+            po.setParam(param);
+            po.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            po.setOperator(operator);
+            return dealWithCommandResult(po);
+        } else if(protocol.equals("p206V1_0_1")) {
+            // 鑾峰彇鍔熻兘鐮�
+            commandCode = CodeV1_0_1.cd_10;
+
+            // 鍒涘缓瑙嗗浘
+            Com97Vo param = new Com97Vo() ;
+
+            // 鏋勯�犲懡浠�
+            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
+
+            // 鍙戦�佸懡浠�
+            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
+            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
+                //if(1 > 0) {
+                // 璇锋眰鎴愬姛
+
+                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
+                String commandName = CodeV1_0_1.getCodeName(commandCode);
+                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
+                commandSv.insert(rmCommandHistory);
+
+                // 澶勭悊鍥炶皟
+                BaseResponse response_CallBack = dealWithCallBack(comId);
+
+                //鍥炶皟澶辫触
+                if(!response_CallBack.getCode().equals("0001")) {
+                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
+                    rmCommandHistory = new RmCommandHistory();
+                    rmCommandHistory.setId(comId);
+                    rmCommandHistory.setResult((byte)0);
+                    commandSv.updateCommandResult(rmCommandHistory);
+                    return BaseResponseUtils.buildFail(response_CallBack.getMsg());
+                    //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+                }
+
+                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
+                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
+                System.out.println(job_content);
+                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
+                System.out.println(job_subData);
+                Boolean dealResult = job_subData.getBoolean("success");
+                if(!dealResult) {
+                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+                }
+
+                /**
+                 * 鎵ц鎴愬姛锛岃繑鍥炲洖璋冨唴瀹�
+                 */
+                Data myData = (Data)response_CallBack.getContent();
+                return BaseResponseUtils.buildSuccess(myData) ;
+            } else {
+                // 璇锋眰澶辫触
+                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
+                return BaseResponseUtils.buildFail(job_param.getString("message"));
+            }
+        } else {
+            return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        }
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
index b6036ba..f79bf18 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -17,14 +17,12 @@
 import com.dy.pipIrrGlobal.command.ComSupport;
 import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
-import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import com.dy.pipIrrRemote.common.CommandSv;
 import com.dy.pipIrrRemote.common.dto.ValveClose;
 import com.dy.pipIrrRemote.common.dto.ValveOpen;
 import com.dy.pipIrrRemote.result.RemoteResultCode;
-import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
@@ -35,7 +33,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -58,7 +55,7 @@
     private String rtuResultSendWebUrl = "http://127.0.0.1:8081/remote/comRes/receive" ;
 
     /**
-     * 灏忕▼搴忚繙绋嬪紑闃�
+     * 骞冲彴杩滅▼寮�闃�
      * @param valve
      * @param bindingResult
      * @return
@@ -155,10 +152,10 @@
                 // 鍥炶皟澶辫触
                 if(!response_CallBack.getCode().equals("0001")) {
                     // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
+                    //rmCommandHistory = new RmCommandHistory();
+                    //rmCommandHistory.setId(comId);
+                    //rmCommandHistory.setResult((byte)0);
+                    //commandSv.updateCommandResult(rmCommandHistory);
                     return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                     //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                 }
@@ -177,12 +174,12 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 1);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 1);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -223,10 +220,10 @@
                 //鍥炶皟澶辫触
                 if(!response_CallBack.getCode().equals("0001")) {
                     // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
+                    //rmCommandHistory = new RmCommandHistory();
+                    //rmCommandHistory.setId(comId);
+                    //rmCommandHistory.setResult((byte)0);
+                    //commandSv.updateCommandResult(rmCommandHistory);
                     return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                     //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                 }
@@ -245,12 +242,12 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 1);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 1);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -266,7 +263,7 @@
     }
 
     /**
-     * 灏忕▼搴忚繙绋嬪叧闃�
+     * 骞冲彴杩滅▼鍏抽榾
      * @param valve
      * @param bindingResult
      * @return
@@ -330,10 +327,10 @@
                 // 鍥炶皟澶辫触
                 if(!response_CallBack.getCode().equals("0001")) {
                     // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
+                    //rmCommandHistory = new RmCommandHistory();
+                    //rmCommandHistory.setId(comId);
+                    //rmCommandHistory.setResult((byte)0);
+                    //commandSv.updateCommandResult(rmCommandHistory);
                     return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                     //return BaseResponseUtils.buildError(WechatResultCode.GET_RESULT_ERROR.getMessage());
                 }
@@ -352,13 +349,13 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 0);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -397,10 +394,10 @@
                 // 鍥炶皟澶辫触
                 if(!response_CallBack.getCode().equals("0001")) {
                     // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
+                    //rmCommandHistory = new RmCommandHistory();
+                    //rmCommandHistory.setId(comId);
+                    //rmCommandHistory.setResult((byte)0);
+                    //commandSv.updateCommandResult(rmCommandHistory);
                     return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                     //return BaseResponseUtils.buildError(WechatResultCode.GET_RESULT_ERROR.getMessage());
                 }
@@ -419,13 +416,13 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 0);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
index af54665..7d16dba 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
@@ -13,6 +13,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCodeVerify;
 import com.dy.pipIrrGlobal.pojoSe.SeOpenId;
 import com.dy.pipIrrGlobal.voSe.VoClient;
+import com.dy.pipIrrGlobal.voSe.VoClientWechat;
 import com.dy.pipIrrSell.client.dto.CodeVerifyDTO;
 import com.dy.pipIrrSell.result.SellResultCode;
 import com.dy.pipIrrSell.sms.AliyunSmsSv;
@@ -353,6 +354,55 @@
     }
 
     /**
+     * 鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�
+     * @param villageId
+     * @return
+     */
+    @Operation(summary = "鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�", description = "鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @GetMapping(path = "district")
+    @SsoAop()
+    public BaseResponse<Boolean> getDistrictNum(@RequestParam("villageId") @NotNull(message = "鏉戠紪鍙蜂笉鑳戒负绌�") Long villageId){
+        /**
+         * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
+         */
+        Map map_districts = Optional.ofNullable(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
+        if(map_districts.size() <= 0) {
+            return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
+        }
+
+        String provinceNum = map_districts.get("provinceNum").toString();
+        String cityNum = map_districts.get("cityNum").toString();
+        String countyNum = map_districts.get("countyNum").toString();
+        String townNum = map_districts.get("townNum").toString();
+        String villageNum = map_districts.get("villageNum").toString();
+
+        // 鐢熸垚12浣�5绾ц鏀垮尯鍒掔紪鐮佷覆鍙婂悕绉颁覆
+        Long districtNum = Long.parseLong(provinceNum + cityNum + countyNum + townNum + villageNum);
+        //鑾峰彇椤圭洰缂栫爜
+        String projectNo = clientSv.getItemValue("projectNo");
+        //杞负int
+        Integer projectNo1 = Integer.valueOf(projectNo);
+        //杞负16杩涘埗
+//        String projectNo2 = Integer.toHexString(projectNo1);
+//        log.info(projectNo2);
+        String projectNo3 = String.format("%02x", projectNo1);
+        log.info(projectNo3);
+
+        Map map = new HashMap();
+        map.put("districtNum", districtNum);
+        map.put("projectNo",projectNo3);
+        return BaseResponseUtils.buildSuccess(map);
+    }
+
+    /**
      * 鍙戦�侀獙璇佺爜
      * @param phoneNumber
      * @return
@@ -479,51 +529,53 @@
     }
 
     /**
-     * 鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�
-     * @param villageId
+     * 鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤
+     * @param sessionId
      * @return
      */
-    @Operation(summary = "鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�", description = "鏍规嵁鏉慖D鑾峰彇12浣嶈鏀垮尯鍒�")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
-    @GetMapping(path = "district")
+    @GetMapping(path = "/simple_info")
     @SsoAop()
-    public BaseResponse<Boolean> getDistrictNum(@RequestParam("villageId") @NotNull(message = "鏉戠紪鍙蜂笉鑳戒负绌�") Long villageId){
-        /**
-         * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
-         */
-        Map map_districts = Optional.ofNullable(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
-        if(map_districts.size() <= 0) {
-            return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
+    public BaseResponse<VoClientWechat> getSimpleClientInfo(@RequestParam Long sessionId){
+        try {
+            VoClientWechat res = clientSv.getSimpleClientInfo(sessionId, null);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍐滄埛寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
+     * 鐧诲綍鍑瘉鐧诲綍
+     * @param code 涓存椂鐧诲綍鍑瘉
+     * @return
+     */
+    @GetMapping(path = "/code_login")
+    @SsoAop()
+    public BaseResponse<VoClientWechat> codeLogin(@RequestParam String code) throws IOException {
+
+        // 鐧诲綍鍑瘉鏍¢獙
+        Map<String, Object> queryParams = new HashMap<>();
+        queryParams.put("appid", appid);
+        queryParams.put("secret", secret);
+        queryParams.put("js_code", code);
+        queryParams.put("grant_type", grantType);
+        Map<String, String> headerParams = new HashMap<>();
+        JSONObject job = restTemplateUtil.get(loginUrl, queryParams, headerParams);
+
+        String openId = job.getString("openid");
+        if(openId == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.LOGIN_FAIL.getMessage());
         }
 
-        String provinceNum = map_districts.get("provinceNum").toString();
-        String cityNum = map_districts.get("cityNum").toString();
-        String countyNum = map_districts.get("countyNum").toString();
-        String townNum = map_districts.get("townNum").toString();
-        String villageNum = map_districts.get("villageNum").toString();
-
-        // 鐢熸垚12浣�5绾ц鏀垮尯鍒掔紪鐮佷覆鍙婂悕绉颁覆
-        Long districtNum = Long.parseLong(provinceNum + cityNum + countyNum + townNum + villageNum);
-        //鑾峰彇椤圭洰缂栫爜
-        String projectNo = clientSv.getItemValue("projectNo");
-        //杞负int
-        Integer projectNo1 = Integer.valueOf(projectNo);
-        //杞负16杩涘埗
-//        String projectNo2 = Integer.toHexString(projectNo1);
-//        log.info(projectNo2);
-        String projectNo3 = String.format("%02x", projectNo1);
-        log.info(projectNo3);
-
-        Map map = new HashMap();
-        map.put("districtNum", districtNum);
-        map.put("projectNo",projectNo3);
-        return BaseResponseUtils.buildSuccess(map);
+        try {
+            VoClientWechat res = clientSv.getSimpleClientInfo(null, openId);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍐滄埛寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
     }
+
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
index 77e891b..958858c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
@@ -10,6 +10,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCodeVerify;
 import com.dy.pipIrrGlobal.pojoSe.SeOpenId;
 import com.dy.pipIrrGlobal.voSe.VoClient;
+import com.dy.pipIrrGlobal.voSe.VoClientWechat;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -184,4 +185,13 @@
     public String getItemValue(String itemName) {
         return baSettingsMapper.getItemValue(itemName);
     }
+
+    /**
+     * 鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤
+     * @param sessionId
+     * @return
+     */
+    public VoClientWechat getSimpleClientInfo(Long sessionId, String openId) {
+        return seClientMapper.getSimpleClientInfo(sessionId, openId);
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java
index fc3ce80..1cca228 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java
@@ -31,21 +31,21 @@
      * 鏉慖D
      */
     @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
+    //@NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
     private Long villageId;
 
     /**
      * 鐗囧尯ID
      */
     @Schema(description = "鎵�鍦ㄧ墖鍖篒D", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄧ墖鍖轰笉鑳戒负绌�")
+    //@NotNull(message = "鎵�鍦ㄧ墖鍖轰笉鑳戒负绌�")
     private Long blockId;
 
     /**
      * 鍒嗘按鎴縄D
      */
     @Schema(description = "鎵�鍦ㄥ垎姘存埧ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "鎵�鍦ㄥ垎姘存埧涓嶈兘涓虹┖")
+    //@NotNull(message = "鎵�鍦ㄥ垎姘存埧涓嶈兘涓虹┖")
     private Long divideId;
 
     /**
@@ -68,8 +68,8 @@
      * 韬唤璇佸彿
      */
     @Schema(description = "鍐滄埛韬唤璇佸彿", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "鍐滄埛韬唤璇佸彿涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
-    @Length(message = "鍐滄埛韬唤璇佸彿蹇呴』{max}浣嶆暟鎹�", min = 18, max = 18)
+    //@NotBlank(message = "鍐滄埛韬唤璇佸彿涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null
+    //@Length(message = "鍐滄埛韬唤璇佸彿蹇呴』{max}浣嶆暟鎹�", min = 18, max = 18)
     private String idCard;
 
     /**
@@ -88,14 +88,14 @@
      * 琛楅亾鍙婇棬鐗屽彿
      */
     @Schema(description = "琛楅亾+闂ㄧ墝鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Length(message = "鍦板潃涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 50)
+    @Length(message = "鍦板潃涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", max = 50)
     private String address;
 
     /**
      * 澶囨敞淇℃伅
      */
     @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 200)
+    @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", max = 200)
     private String remarks;
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index 48e66b5..f991269 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -135,7 +135,12 @@
     NO_SECURITY_CODE_FOR_PHONE(20002, "璇ユ墜鏈哄彿鏈彂閫侀獙璇佺爜"),
     SECURITY_CODE_ERROR(20003, "楠岃瘉鐮侀敊璇�"),
     VALIDATION_TIMEOUT(20004, "楠岃瘉瓒呮椂"),
-    PHONE_NUMBER_IS_ERROR(20004, "鎵嬫満鍙烽敊璇紝闈炴敞鍐屽啘鎴�");
+    PHONE_NUMBER_IS_ERROR(20004, "鎵嬫満鍙烽敊璇紝闈炴敞鍐屽啘鎴�"),
+
+    /**
+     * 灏忕▼搴�
+     */
+    LOGIN_FAIL(20004, "鐧诲綍澶辫触");
 
     private final Integer code;
     private final String message;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentCtrl.java
index 4aad549..020fad2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentCtrl.java
@@ -5,10 +5,7 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.ResultCodeMsg;
-import com.dy.pipIrrGlobal.pojoSe.SeVcRefund;
-import com.dy.pipIrrGlobal.pojoSe.SeVcRefundItem;
-import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
-import com.dy.pipIrrGlobal.pojoSe.SeWebchatLogonState;
+import com.dy.pipIrrGlobal.pojoSe.*;
 import com.dy.pipIrrGlobal.voSe.VoClient;
 import com.dy.pipIrrSell.client.ClientSv;
 import com.dy.pipIrrSell.result.SellResultCode;
@@ -123,22 +120,6 @@
         String openid = job.getString("openid");
         String sessionKey = job.getString("session_key");
 
-        // 妫�楠岀櫥褰曟��
-        //JSONObject checkSessionKey = payHelper.checkSessionKey(appid, secret, openid, sessionKey);
-        //if(checkSessionKey != null) {
-        //    Integer errcode = checkSessionKey.getInteger("errcode");
-        //    String errmsg = checkSessionKey.getString("errmsg");
-        //}
-
-        // 閲嶇疆鐧诲綍鎬�
-        //JSONObject resetUserSessionKey = payHelper.resetUserSessionKey(appid, secret, openid, sessionKey);
-        //if(resetUserSessionKey != null) {
-        //    Integer errcode = checkSessionKey.getInteger("errcode");
-        //    String errmsg = checkSessionKey.getString("errmsg");
-        //    String openid_New = checkSessionKey.getString("openid");
-        //    String sessionKey_New = checkSessionKey.getString("session_key");
-        //}
-
         // 娣诲姞鐧诲綍鎬佽褰�
         SeWebchatLogonState po = new SeWebchatLogonState();
         po.setOpenId(openid);
@@ -223,12 +204,15 @@
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
         // 鎺ユ敹鍙傛暟锛氱櫥褰曟�両D銆佸啘鎴稩D銆佽櫄鎷熷崱ID銆佸厖鍊奸噾棰�
-        String sessionId = order.getSessionId();
+        Long sessionId = order.getSessionId();
         Long virtualId = order.getVirtualId();
         Integer rechargeAmount = order.getRechargeAmount();
 
         String prepayId = "";
-        SeWebchatLogonState po = paymentSv.selectOne(Long.parseLong(sessionId));
+        //SeWebchatLogonState po = paymentSv.selectOne(Long.parseLong(sessionId));
+        //String openid = po.getOpenId();
+
+        SeOpenId po = paymentSv.selectOne(sessionId);
         String openid = po.getOpenId();
 
         SeVirtualCard seVirtualCard = virtualCardSv.selectVirtuCardById(virtualId);
@@ -286,11 +270,11 @@
         headers.put("Content-Type", "application/json");
 
         // 鏆傛椂娉ㄩ噴鎺夛紝璁よ瘉閫氳繃鍚庡啀鏀惧紑
-        //JSONObject job_result = restTemplateUtil.post(PayInfo.orderUrl, body, headers);
-        //if(job_result != null) {
-        //    System.out.println(job_result.toString());
-        //    prepayId = job_result.getString("prepay_id");
-        //}
+        JSONObject job_result = restTemplateUtil.post(PayInfo.orderUrl, body, headers);
+        if(job_result != null) {
+            System.out.println(job_result.toString());
+            prepayId = job_result.getString("prepay_id");
+        }
 
         return BaseResponseUtils.buildSuccess(prepayId) ;
     }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentSv.java
index de4d16d..6a3075d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/PaymentSv.java
@@ -1,7 +1,9 @@
 package com.dy.pipIrrSell.wechatpay;
 
+import com.dy.pipIrrGlobal.daoSe.SeOpenIdMapper;
 import com.dy.pipIrrGlobal.daoSe.SeVcRechargeMapper;
 import com.dy.pipIrrGlobal.daoSe.SeWebchatLogonStateMapper;
+import com.dy.pipIrrGlobal.pojoSe.SeOpenId;
 import com.dy.pipIrrGlobal.pojoSe.SeVcRecharge;
 import com.dy.pipIrrGlobal.pojoSe.SeWebchatLogonState;
 import lombok.extern.slf4j.Slf4j;
@@ -24,6 +26,9 @@
     @Autowired
     private SeVcRechargeMapper seVcRechargeMapper;
 
+    @Autowired
+    private SeOpenIdMapper seOpenIdMapper;
+
     /**
      * 娣诲姞鐧诲綍鎬佺姸鎬佽褰�
      * @param po
@@ -39,10 +44,14 @@
      * @param id
      * @return
      */
-    SeWebchatLogonState selectOne(Long id) {
+    SeWebchatLogonState selectOne2(Long id) {
         return seWebchatLogonStateMapper.selectByPrimaryKey(id);
     }
 
+    SeOpenId selectOne(Long sessionId) {
+        return seOpenIdMapper.selectByPrimaryKey(sessionId);
+    }
+
     /**
      * 娣诲姞铏氭嫙鍗″厖鍊艰褰�
      * @param po
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/dto/DtoOrder.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/dto/DtoOrder.java
index 407f244..66f726d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/dto/DtoOrder.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wechatpay/dto/DtoOrder.java
@@ -1,7 +1,6 @@
 package com.dy.pipIrrSell.wechatpay.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
@@ -21,8 +20,8 @@
      * 鐧诲綍鎬両D锛岀敤鏉ヨ幏鍙杘penID
      */
     @Schema(description = "鐧诲綍鎬両D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "鐧诲綍鎬両D涓嶈兘涓虹┖")
-    private String sessionId;
+    @NotNull(message = "鐧诲綍鎬両D涓嶈兘涓虹┖")
+    private Long sessionId;
 
     /**
      * 铏氭嫙鍗$紪鍙凤紝澶栭敭锛岀敤鏉ヨ幏鍙栬櫄鎷熷崱浣欓
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
index 82e3354..beb671d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
@@ -15,10 +15,8 @@
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
-import com.dy.pipIrrWechat.command.qo.OnLineIntakesQO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -77,75 +75,6 @@
      */
     public Integer update(RmCommandHistory po) {
         return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
-    }
-
-    /**
-     * 鑾峰彇鍙栨按鍙e垪琛�
-     * @return
-     */
-    public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-
-        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());
-            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
-     */
-    public List<VoOnLineIntake> getUsedIntakes(Long operator) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        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);
-            }
-            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
-        } else {
-            return new ArrayList<>();
-        }
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
index 79b129c..3fa3861 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -17,10 +17,8 @@
 import com.dy.pipIrrGlobal.command.ComSupport;
 import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
-import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
-import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM;
 import com.dy.pipIrrWechat.command.dto.ValveClose;
 import com.dy.pipIrrWechat.command.dto.ValveOpen;
 import com.dy.pipIrrWechat.result.WechatResultCode;
@@ -34,7 +32,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -171,12 +168,12 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 1);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 1);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -234,12 +231,12 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 1);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 1);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -336,13 +333,13 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 0);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
@@ -398,13 +395,13 @@
                  * 鎵ц鎴愬姛
                  * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
                  */
-                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+                //SeVirtualCard virtualCard = new SeVirtualCard();
+                //virtualCard.setId(vcId);
+                //virtualCard.setInUse((byte) 0);
+                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+                //virtualCard.setLastOperateTime(new Date());
+                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
 
                 // 鍥炶皟杩斿洖鐨勫唴瀹�
                 Data myData = (Data)response_CallBack.getContent();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/enums/LastOperateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/enums/LastOperateENUM.java
new file mode 100644
index 0000000..92acaac
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/enums/LastOperateENUM.java
@@ -0,0 +1,27 @@
+package com.dy.pipIrrWechat.command.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-03-06 9:21
+ * @LastEditTime 2024-03-06 9:21
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum LastOperateENUM {
+    OPEN_ACCOUNT((byte)1, "寮�鎴�"),
+    RECHARGE((byte)2, "鍏呭��"),
+    CONSUME((byte)3, "娑堣垂"),
+    APPLY_REFUND((byte)4, "鐢宠閫�娆�"),
+    AUDIT_REFUND((byte)5, "閫�娆惧鏍�"),
+    REFUND((byte)6, "閫�娆�"),
+    OPEN_VALVE((byte)7, "寮�闃�"),
+    CLOSE_VALVE((byte)8, "鍏抽榾");
+
+    private final Byte code;
+    private final String message;
+}
diff --git a/pipIrr-platform/pipIrr-web/pom.xml b/pipIrr-platform/pipIrr-web/pom.xml
index b846451..2d260be 100644
--- a/pipIrr-platform/pipIrr-web/pom.xml
+++ b/pipIrr-platform/pipIrr-web/pom.xml
@@ -180,34 +180,34 @@
             <artifactId>dubbo</artifactId>
             <version>3.2.7</version>
             <exclusions>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty-all</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.yaml</groupId>
-                    <artifactId>snakeyaml</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-context</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.alibaba.spring</groupId>
-                    <artifactId>spring-context-support</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.alibaba.fastjson2</groupId>
-                    <artifactId>fastjson2</artifactId>
-                </exclusion>
-               <exclusion>
-                   <groupId>com.alibaba</groupId>
-                   <artifactId>hessian-lite</artifactId>
-                </exclusion>
-               <exclusion>
-                   <groupId>org.javassist</groupId>
-                   <artifactId>javassist</artifactId>
-                </exclusion>
+<!--                <exclusion>-->
+<!--                    <groupId>io.netty</groupId>-->
+<!--                    <artifactId>netty-all</artifactId>-->
+<!--                </exclusion>-->
+<!--                <exclusion>-->
+<!--                    <groupId>org.yaml</groupId>-->
+<!--                    <artifactId>snakeyaml</artifactId>-->
+<!--                </exclusion>-->
+<!--                <exclusion>-->
+<!--                    <groupId>org.springframework</groupId>-->
+<!--                    <artifactId>spring-context</artifactId>-->
+<!--                </exclusion>-->
+<!--                <exclusion>-->
+<!--                    <groupId>com.alibaba.spring</groupId>-->
+<!--                    <artifactId>spring-context-support</artifactId>-->
+<!--                </exclusion>-->
+<!--                <exclusion>-->
+<!--                    <groupId>com.alibaba.fastjson2</groupId>-->
+<!--                    <artifactId>fastjson2</artifactId>-->
+<!--                </exclusion>-->
+<!--               <exclusion>-->
+<!--                   <groupId>com.alibaba</groupId>-->
+<!--                   <artifactId>hessian-lite</artifactId>-->
+<!--                </exclusion>-->
+<!--               <exclusion>-->
+<!--                   <groupId>org.javassist</groupId>-->
+<!--                   <artifactId>javassist</artifactId>-->
+<!--                </exclusion>-->
             </exclusions>
         </dependency>
 

--
Gitblit v1.8.0