From 4c391aa12cdb8e32d194cfc70096c6a5dea72893 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 13 九月 2024 09:26:54 +0800
Subject: [PATCH] 优化代码 指定时间段内用水量超过指定值的农户 指定时间段内消费金额超过指定值的农户 指定时间段内用水时长超过指定值的农户
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java | 70 ++++++++++++++++++++++++++++++++--
1 files changed, 65 insertions(+), 5 deletions(-)
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 0e6fd7f..47ecf84 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.QueryResultVo;
@@ -12,6 +13,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@@ -41,20 +43,33 @@
@Autowired
private RestTemplate restTemplate;
- protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
+ //protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
+ protected String comSendUrl;
+ /**
+ * pro_mw锛氬睘鎬�
+ * tag浠庢帶鍒跺櫒涓幏鍙�
+ * key_mw锛歶rl鐨刱ey
+ */
+ private Environment env = null;
+ private String pro_mw = "mw";
+ private String key_mw = "comSendUrl";
+ @Autowired
+ public IntakeSv(Environment env) {
+ this.env = env;
+ }
/**
- * 鑾峰彇鍙栨按鍙e垪琛�
+ * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
* @return
*/
- public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(OnLineIntakesQO qo) {
+ public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) {
Command com = new Command() ;
com.id = Command.defaultId;
com.code = "LCD0001";
com.type = "innerCommand";
+ comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
-
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
@@ -68,6 +83,50 @@
}
qo.setOnLineMap(jsonArray.toJSONString());
+ // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+ String intakeNum = qo.getIntakeNum();
+ if(intakeNum != null) {
+ qo.setIntakeNum(intakeNum.toLowerCase());
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+ return prIntakeMapper.getIntakeByName(params);
+ } else {
+ return new VoOnLineIntake();
+ }
+ }
+
+ /**
+ * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+ * @return
+ */
+ public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) {
+ Command com = new Command() ;
+ com.id = Command.defaultId;
+ com.code = "LCD0001";
+ com.type = "innerCommand";
+ comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+
+ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+ if(response != null && response.getString("code").equals("0001")) {
+ JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
+ HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
+
+ JSONArray jsonArray = new JSONArray();
+ for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("rtuAddr", entry.getKey());
+ jsonObject.put("isOnLine", entry.getValue());
+ jsonArray.add(jsonObject);
+ }
+
+ qo.setOnLineMap(jsonArray.toJSONString());
+ // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+ String intakeNum = qo.getIntakeNum();
+ if(intakeNum != null) {
+ qo.setIntakeNum(intakeNum.toLowerCase());
+ }
+
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
@@ -93,6 +152,7 @@
com.id = Command.defaultId;
com.code = "LCD0001";
com.type = "innerCommand";
+ comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
if(response != null && response.getString("code").equals("0001")) {
@@ -117,7 +177,7 @@
* @return
*/
protected BaseResponse sendCom2Mw(Command com){
- String url = UriComponentsBuilder.fromUriString(mwUrlSendCom)
+ String url = UriComponentsBuilder.fromUriString(comSendUrl)
.build()
.toUriString();
HttpHeaders headers = new HttpHeaders();
--
Gitblit v1.8.0