From 1e409f99905c894363248239b856bce6735fd3d5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 28 十月 2024 20:15:05 +0800
Subject: [PATCH] 2024-10-28 优化获取常用取水口接口
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 2 +-
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java | 2 ++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java | 8 ++++----
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java | 23 ++++++++++++++---------
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java | 2 +-
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 8 ++++----
6 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index 9789d67..7f1a229 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
@@ -156,7 +156,7 @@
* 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
* @return
*/
- List<VoOnLineIntake> getUsedIntakes(@Param("onLineMap") String onLineMap, @Param("operator") Long operator);
+ List<VoOnLineIntake> getUsedIntakes(@Param("onLineMap") String onLineMap, @Param("operatorId") Long operatorId);
/**
* 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
index 015acd2..daf3aa0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java
@@ -1,6 +1,7 @@
package com.dy.pipIrrGlobal.voPr;
import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
@@ -11,6 +12,7 @@
*/
@Data
+@JsonPropertyOrder({ "intakeId", "rtuAddr", "intakeNum", "isOnLine"})
public class VoOnLineIntake implements BaseEntity {
private static final long serialVersionUID = 202405271703001L;
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 329b4be..509381e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -645,8 +645,8 @@
FROM pr_common_intakes com
INNER JOIN pr_intake inta ON inta.id = com.intake_id
INNER JOIN pr_controller con ON con.intakeId = com.intake_id
- INNER JOIN JSON_TABLE(
- <!--'[{"rtuAddr":"620201000030","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
+ LEFT JOIN JSON_TABLE(
+ <!--'[{"rtuAddr":"530115059980","isOnLine":true},{"rtuAddr":"620201000030","isOnLine":true}]',-->
#{onLineMap},
'$[*]' COLUMNS (
rtuAddr VARCHAR(20) PATH '$.rtuAddr',
@@ -654,8 +654,8 @@
)
) rtus ON con.rtuAddr = rtus.rtuAddr
<where>
- <if test="operator != null">
- com.operator_id = #{operator}
+ <if test="operatorId != null">
+ AND com.operator_id = #{operatorId}
</if>
</where>
ORDER BY com.last_used_time DESC,com.usage_count DESC
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index 5c4ed90..d3a106c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -370,7 +370,7 @@
END) AS state
FROM se_virtual_card vc
INNER JOIN se_client cli ON cli.id = vc.client_id
- WHERE vc.client_id = #{clientId,jdbcType=BIGINT}
+ WHERE vc.state = 1 AND vc.client_id = #{clientId,jdbcType=BIGINT}
) card
ORDER BY card.Money DESC, card.State DESC
</select>
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 8aaf0a0..b8a722e 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
@@ -64,17 +64,17 @@
/**
* 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛锛堝湪绾垮拰涓嶅湪绾匡級
- * @param operator
+ * @param operatorId
* @return
*/
@GetMapping(path = "used_intakes")
- public BaseResponse<List<VoOnLineIntake>> getUsedIntakes(Long operator) {
- if(operator == null || operator <= 0) {
+ public BaseResponse<List<VoOnLineIntake>> getUsedIntakes(Long operatorId) {
+ if(operatorId == null || operatorId <= 0) {
return BaseResponseUtils.buildErrorMsg("鎿嶄綔鍛樹笉鑳戒负绌�");
}
try {
- List<VoOnLineIntake> res = intakeSv.getUsedIntakes(operator);
+ List<VoOnLineIntake> res = intakeSv.getUsedIntakes(operatorId);
return BaseResponseUtils.buildSuccess(res);
} catch (Exception e) {
log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
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 2f4884a..b22b435 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
@@ -154,32 +154,37 @@
/**
* 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
- * @param operator
+ * @param operatorId
* @return
*/
- public List<VoOnLineIntake> getUsedIntakes(Long operator) {
+ public List<VoOnLineIntake> getUsedIntakes(Long operatorId) {
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));
+ //String response_Str = "{\"code\": \"0001\",\"content\": {\"attachment\": {\"530115059980\": true,\"620201000030\": true},\"code\": \"LCD0001\",\"id\": \"999999999\",\"param\": {\"message\": \"鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌缁撴灉\",\"success\": true},\"protocol\": \"\",\"rtuAddr\": \"\",\"rtuResultSendWebUrl\": \"\",\"type\": \"resultCommand\"},\"msg\": \"璇锋眰鎴愬姛\",\"success\": true}";
+ //JSONObject response = JSON.parseObject(response_Str);
+ //String test = response.toJSONString();
if(response != null && response.getString("code").equals("0001")) {
- JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
+ JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
JSONArray jsonArray = new JSONArray();
if(attachment != null) {
- HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
- for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+ attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
- jsonObject.put("rtuAddr", entry.getKey());
- jsonObject.put("isOnLine", entry.getValue());
+ jsonObject.put("rtuAddr", key);
+ jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
- }
+
+ });
}
- return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
+ System.out.println(jsonArray.toJSONString());
+ return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
} else {
return new ArrayList<>();
}
--
Gitblit v1.8.0