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