Переглянути джерело

不再拼接字符串 使用StringBuilder 提高效率

wangmiaomiao 8 місяців тому
батько
коміт
ffaa7c6fe4

+ 10 - 59
slibra-common/src/main/java/com/slibra/common/constant/MyConstants.java

@@ -88,66 +88,17 @@ public class MyConstants {
     public static final String ONLINE = "online";
     public static final String REPORT = "report";
     public static final String ROBOT = "robot";
-    public static final String TOOLS_WORK_ORDER_SQL_INDUSTRY = " SELECT" +
-            "TEST_DATE 化验日期, " +
-            "AVG(JS_SLQ)  进水量," +
-            "AVG(JS_COD)  进水COD," +
-            "AVG(JS_TN)  进水总氮," +
-            "AVG(JS_TP)  进水总磷," +
-            "AVG(JS_NH3)  进水氨氮," +
-            "AVG(JS_SS)  进水SS," +
-            "AVG(CS_SLQC)  出水量," +
-            "AVG(CS_COD)  出水COD," +
-            "AVG(CS_TN)  出水总氮," +
-            "AVG(CS_TP)  出水总磷," +
-            "AVG(CS_NH3)  出水氨氮," +
-            "AVG(CS_SS)  出水SS" +
-            "FROM" +
-            "t_xinyi_industry " +
-            "WHERE" +
-            "TEST_DATE BETWEEN #{0} " +
-            "AND #{1}" +
-            "GROUP BY TEST_DATE";
-
-    public static final String TOOLS_WORK_ORDER_SQL_DAILY = " SELECT" +
-            "TEST_DATE 化验日期, " +
-            "AVG(JSL)  进水量," +
-            "AVG(JS_COD)  进水COD," +
-            "AVG(JS_TN)  进水总氮," +
-            "AVG(JS_TP)  进水总磷," +
-            "AVG(JS_NH3)  进水氨氮," +
-            "AVG(JS_SS)  进水SS," +
-            "AVG(CSL)  出水量," +
-            "AVG(CS_COD)  出水COD," +
-            "AVG(CS_TN)  出水总氮," +
-            "AVG(CS_TP)  出水总磷," +
-            "AVG(CS_NH3)  出水氨氮," +
-            "AVG(CS_SS)  出水SS" +
-            "FROM" +
-            "t_xinyi_daily " +
-            "WHERE" +
-            "TEST_DATE BETWEEN #{0} " +
-            "AND #{1}" +
-            "GROUP BY TEST_DATE";
-
-
-    public static final String TOOLS_WORK_ORDER_SQL_ROBOT = "SELECT" +
-            "TEST_DATE 化验日期, " +
-            "AVG(NO3_HLJ1_JQR) '1#好氧池硝酸盐'," +
-            "AVG(NO3_HLJ2_JQR) '2#好氧池硝酸盐'," +
-            "AVG(NH3_1_JQR) '1#缺氧氨氮'," +
-            "AVG(NH3_2_JQR) '2#缺氧氨氮'," +
-            "AVG(NO3_QYC_1_JQR) '1#缺氧池硝酸盐'," +
-            "AVG(NO3_QYC_2_JQR) '2#缺氧池硝酸盐'," +
-            "AVG(TP_RCC_JQR) '二沉池正磷酸盐'" +
-            "FROM" +
-            "t_xinyi_robot " +
-            "WHERE" +
-            "TEST_DATE BETWEEN #{0} " +
-            "AND #{1} " +
-            "GROUP BY" +
-            "TEST_DATE";
+    public static final String TOOLS_WORK_ORDER_SQL_INDUSTRY = "SELECT TEST_DATE 化验日期, AVG(JS_SLQ)  进水量,AVG(JS_COD)  进水COD,AVG(JS_TN)  进水总氮,AVG(JS_TP)  进水总磷,AVG(JS_NH3)  进水氨氮,AVG(JS_SS)  进水SS,AVG(CS_SLQC)  出水量,AVG(CS_COD)  出水COD,AVG(CS_TN)  出水总氮,AVG(CS_TP)  出水总磷,AVG(CS_NH3)  出水氨氮,AVG(CS_SS)  出水SS FROM t_xinyi_industry WHERE TEST_DATE BETWEEN ";
 
+    public static final String TOOLS_WORK_ORDER_SQL_DAILY = "SELECT TEST_DATE 化验日期, AVG(JSL)  进水量,AVG(JS_COD)  进水COD,AVG(JS_TN)  进水总氮,AVG(JS_TP)  进水总磷,AVG(JS_NH3)  进水氨氮,AVG(JS_SS)  进水SS,AVG(CSL)  出水量,AVG(CS_COD)  出水COD,AVG(CS_TN)  出水总氮,AVG(CS_TP)  出水总磷,AVG(CS_NH3)  出水氨氮,AVG(CS_SS)  出水SS FROM t_xinyi_daily WHERE TEST_DATE BETWEEN ";
+
+
+    public static final String TOOLS_WORK_ORDER_SQL_ROBOT = "SELECT TEST_DATE 化验日期, AVG(NO3_HLJ1_JQR) '1#好氧池硝酸盐',AVG(NO3_HLJ2_JQR) '2#好氧池硝酸盐',AVG(NH3_1_JQR) '1#缺氧氨氮',AVG(NH3_2_JQR) '2#缺氧氨氮',AVG(NO3_QYC_1_JQR) '1#缺氧池硝酸盐',AVG(NO3_QYC_2_JQR) '2#缺氧池硝酸盐',AVG(TP_RCC_JQR) '二沉池正磷酸盐' FROM t_xinyi_robot WHERE TEST_DATE BETWEEN ";
+
+
+    public static final String TOOLS_WORK_ORDER_SQL_DIAN = "'";
+    public static final String TOOLS_WORK_ORDER_SQL_AND = " AND ";
+    public static final String TOOLS_WORK_ORDER_SQL_END = " GROUP BY TEST_DATE";
     //    public static final String ZLSY = "zlsy";//正磷酸盐
 //    public static final String XSY1 = "xsy1";//正磷酸盐
 //    public static final String XSY2 = "xsy2";//正磷酸盐

+ 6 - 2
slibra-system/src/main/java/com/slibra/business/req/ChatRequest.java

@@ -69,8 +69,12 @@ public class ChatRequest {
         map.put(TYPE, 2);
         //拼装的SQL
         HashMap<String, Object> sqlMap = new HashMap<>();
-        sqlMap.put(ONLINE, TOOLS_WORK_ORDER_SQL_INDUSTRY.replace("#{0}", timeBegin).replace("#{1}", timeEnd));
-        sqlMap.put(ROBOT, TOOLS_WORK_ORDER_SQL_ROBOT.replace("#{0}", timeBegin).replace("#{1}", timeEnd));
+        StringBuilder sb = new StringBuilder();
+        sqlMap.put(ONLINE, sb.append(TOOLS_WORK_ORDER_SQL_INDUSTRY).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeBegin).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeEnd).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_END).toString());
+        sb = new StringBuilder();
+        sqlMap.put(REPORT, sb.append(TOOLS_WORK_ORDER_SQL_DAILY).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeBegin).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeEnd).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_END).toString());
+        sb = new StringBuilder();
+        sqlMap.put(ROBOT, sb.append(TOOLS_WORK_ORDER_SQL_ROBOT).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeBegin).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_AND).append(TOOLS_WORK_ORDER_SQL_DIAN).append(timeEnd).append(TOOLS_WORK_ORDER_SQL_DIAN).append(TOOLS_WORK_ORDER_SQL_END).toString());
         map.put(DATA, sqlMap);
         chatRequest.setHistoryDia(Collections.singletonList(JSON.toJSONString(map)));
         System.out.println(JSON.toJSONString(chatRequest));