From ff5cac36c67183c2fd8565d513888f2debe8614c Mon Sep 17 00:00:00 2001 From: sige Date: Sat, 6 Apr 2024 19:28:53 +0800 Subject: [PATCH] 1 --- app.db | Bin 176128 -> 176128 bytes pom.xml | 2 +- .../com/iflytop/digester/DigestionTaskThread.java | 10 +++--- .../digester/model/MdbDigestionSolution.java | 39 +++++++++++++++++---- .../iflytop/digester/model/MdbDigestionTask.java | 5 +-- .../underframework/dao/model/TsMdbActuator.java | 5 +-- .../underframework/dao/model/TsMdbActuatorCmd.java | 5 +-- .../underframework/dao/model/TsMdbModule.java | 3 -- .../underframework/dao/model/TsMdbSnippet.java | 3 -- .../underframework/dao/record/UfActiveRecord.java | 19 +++++----- .../dao/record/UfActiveRecordMapper.java | 6 ++-- src/main/resources/application.yml | 27 +++++++------- 12 files changed, 71 insertions(+), 53 deletions(-) diff --git a/app.db b/app.db index 307aa6b22af643f9612fb19104bebc8369bd410a..81b736a3236ee03a0256133242b3f41581c7dc84 100644 GIT binary patch literal 176128 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 b4jlpzfB*y_009U<00Izz00bcLg%S9FI-(`D delta 3130 zcmbVOZERat8NTOUe_UVRbI*008|R~`ujAN`lP0#~q~Go8rrwm2rfHPI%C>l>c3HY4 z4z>d;Rq5jNW3URvy`>klHeEK#hDOV>v_nKw#KjhB{zY;j(W%C)S)9}$8lAkpQ6B|0r4!n z2h`sEJw0k)fA^k9{{i(g(F1B^|G?hv-md=Wo@noY7UwrrV8K5b37H+?FgoSW#=kI} z)b??9Ex_4P3;5M(gIooKJgDb7EU0QjV(5#>Om-+W+MQ@nSAt6`*?8vJZf&2jO1sYe z(+tTi2N`#M#z`iQwVNH$D9Rlx6;XX@jRqhr6dM_cssoXoJyErRa_bw^red0*|G7WN zc4v)F?QhmSG_Oe{5=h_wgXJAxg- z_4i+?y0gIh3-7Ml`+%oZD%(z*C2nP2&d*#R6T4ldW;sgD%1_s8XQ%5(&7HMq`RV_= zS#iDrL&n^Y)9eTY&`G2nHu;c4YcX*;IPfjnHnIenEF7iOiM! z%=d+yT5opvd}#8xhK)|7KrY{t51r?eE=B3?jieIe!^zbJOc^t@0C;x({ESDK*b_E8 zJRX#LO8dOE9&y@pR`0{SCt0Y5i)GV(WUPUUX7_{jgjX~>+-{V!7f*`buTmMARlkbb zA1$7TOBCY3T)Rs81q{_AX)_~jhM^FYER$VU6XQ9R!gF0;`w9BwWen@9mj@YX5TZ9o zEV_}8)CrSLWM*1Ucyea_842~VGZ*!F35~NeZ|EU{M(NKPf?^P2-f`Rs1sG`y0VaSM zzyoMuDxex50SLebumbFWNWpaI|pGy*&TFTe+o0TqBIh7pR1 zX%ZvUGe&ALG{b_gA+kWO;lD_3qDcZ?z}LueO`U4if>Wls-BX9LV)Jkw+v*1&YIiki z$|aX)Z6y~$_kYNu!_9>e9g}NJioyjDHMxDiV+ThPnE?4ciq6hNP)&uG^AoyW9*LQd zvxFhWw1YMb48W1zibjfR!qnex{Xe z!CP&V>f8pDV$&B|*$`eYmsL;5I^PDWPC}_x8u+BFceSz2*eg-W=>uvX(T}yUbpaJq z%HameN}wx`A1L?b@dKp-#Ip5vNq--#2fbEGxjYc`h_ojKGc9^Jc`#e*-O{=1U{MV9 z2~_8%x@{%hqtNB<(Z!ROp~3;#+us#@It2Z_Clxn4vpYJKQy>B?4O%~HF ze&glB+ixws^zD*IlbLG$R2$~?*#KMLjZKsy^u-wr9Ua(M{*yC=!-S=O+UQ%X;@aV> zG(xs8(iZY_X~(MXjc{5niJ#nQHPVq%92pxiaWd7ydx(5MzDLGMukfDq59z1UIjLW& z$G^nq@c?#;e-JN=Pm3+qf_2t9Y>iqQg@1w9IYDfzh2$P3U?aR$R|(tL;SErR_z2;J z#cy6(%Kdop07h+d!u%K8$%qza_9r*wa$@&+lt0_TLVl{ zv(sDB*cD#Zw~OpX91MHPB6-EAv1~+EjND}nDQR{ztY`=?QB5ZpxymA`B zyLqh7WA;%o>;xvDbi#JAPH5FT*4{RwxDIY^^Vv1)!s%{w87FVt7rFp&J&9 z_F+$5k)ge_eoF7)js)m&fmQLiT%Ey?r=}b#d`f7bx>SYD#tZbM-BN3))luTW&Qhw( zUsYu2>09(a6V~}ElI62wCPRdgB5-9kNWRIf$jG#udaCgD3(K#)TAFOZVCX3QPcxkw zA5CN$)XnM>x=2u`enmpoyFRb_<#kk=Os7+6syr&_6B4Rj`4oE^9fLH*Id+QF(gkKq&aC9{s12WNk7ITCM#pv@AzDu)4=okjooZamT&!g#CR|J@mEI-_p*Oo Y8sY9`mxf2!d)bBGjG((&PF{%p7vr%6o&W#< diff --git a/pom.xml b/pom.xml index 7b71c3b..ad29e25 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ org.xerial sqlite-jdbc - 3.43.2.0 + 3.45.2.0 org.mybatis.spring.boot diff --git a/src/main/java/com/iflytop/digester/DigestionTaskThread.java b/src/main/java/com/iflytop/digester/DigestionTaskThread.java index 196215a..c0d8a3d 100644 --- a/src/main/java/com/iflytop/digester/DigestionTaskThread.java +++ b/src/main/java/com/iflytop/digester/DigestionTaskThread.java @@ -46,7 +46,7 @@ public class DigestionTaskThread extends Thread { this.tubeCheck(); // 异常处理执行 - var errorRound = this.solution.getErrorRound(); + var errorRound = this.solution.getErrorRounds(); for ( int i=0; i getRounds() { ObjectMapper jsonMapper = new ObjectMapper(); @@ -52,8 +52,35 @@ public class MdbDigestionSolution extends UfActiveRecord { return list; } - public DigestionSolutionError getErrorRound() { - return new DigestionSolutionError(); + // get error round + public DigestionSolutionErrorRound getErrorRounds() { + ObjectMapper jsonMapper = new ObjectMapper(); + JsonNode errorRoundsJsonTree = null; + try { + errorRoundsJsonTree = jsonMapper.readTree(this.errorRounds); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + + var errorRound = new DigestionSolutionErrorRound(); + // 加液配置 + errorRound.liquids = new ArrayList<>(); + errorRoundsJsonTree.get("liquid").forEach(liquidNode -> { + var liquid = new DigestionSolutionErrorRound.DigestionSolutionErrorLiquid(); + liquid.type = liquidNode.get("type").asText(); + liquid.volume = liquidNode.get("volume").asInt(); + errorRound.liquids.add(liquid); + }); + // 加热配置 + errorRound.heatings = new ArrayList<>(); + errorRoundsJsonTree.get("heating").forEach(heatingNode -> { + var heating = new DigestionSolutionErrorRound.DigestionSolutionErrorHeating(); + heating.temperature = heatingNode.get("temperature").asInt(); + heating.duration = heatingNode.get("duration").asInt(); + errorRound.heatings.add(heating); + }); + errorRound.maxRounds = errorRoundsJsonTree.get("maxRounds").asInt(); + return errorRound; } // get table name @@ -78,7 +105,7 @@ public class MdbDigestionSolution extends UfActiveRecord { public List heatings; } - public static class DigestionSolutionError { + public static class DigestionSolutionErrorRound { public static class DigestionSolutionErrorLiquid { public String type; public Integer volume; diff --git a/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java b/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java index 7a02d50..bb8d4b2 100644 --- a/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java +++ b/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java @@ -3,10 +3,7 @@ import com.iflytop.digester.underframework.dao.record.UfActiveRecord; import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; public class MdbDigestionTask extends UfActiveRecord { @UfActiveRecordField - public Integer id; - - @UfActiveRecordField - public Integer digestionId; + public String digestionId; @UfActiveRecordField public String taskId; diff --git a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuator.java b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuator.java index b53dbb5..3dfe4e0 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuator.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuator.java @@ -6,13 +6,10 @@ import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; */ public class TsMdbActuator extends UfActiveRecord { @UfActiveRecordField - public Integer id; - - @UfActiveRecordField public Integer aid; @UfActiveRecordField - public Integer moduleId; + public String moduleId; @UfActiveRecordField public String key; diff --git a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuatorCmd.java b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuatorCmd.java index bd11cd2..1cbe760 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuatorCmd.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbActuatorCmd.java @@ -3,10 +3,7 @@ import com.iflytop.digester.underframework.dao.record.UfActiveRecord; import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; public class TsMdbActuatorCmd extends UfActiveRecord { @UfActiveRecordField - public Integer id; - - @UfActiveRecordField - public Integer actuatorId; + public String actuatorId; @UfActiveRecordField public String name; diff --git a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbModule.java b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbModule.java index e94c9d0..b431f00 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbModule.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbModule.java @@ -7,9 +7,6 @@ import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; */ public class TsMdbModule extends UfActiveRecord { @UfActiveRecordField - public Integer id; - - @UfActiveRecordField public String key; @UfActiveRecordField diff --git a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbSnippet.java b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbSnippet.java index 8d3e412..bc77d3b 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbSnippet.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/model/TsMdbSnippet.java @@ -7,9 +7,6 @@ import com.iflytop.digester.underframework.dao.record.UfActiveRecordField; */ public class TsMdbSnippet extends UfActiveRecord { @UfActiveRecordField - public Integer id; - - @UfActiveRecordField public String name; @UfActiveRecordField diff --git a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java index 0606d2d..94a3062 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecord.java @@ -6,11 +6,12 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + public class UfActiveRecord { + @UfActiveRecordField + public String id = UUID.randomUUID().toString(); + // is new record @JsonIgnore public Boolean isNewRecord = true; @@ -30,7 +31,7 @@ public class UfActiveRecord { mapper.insert(tableName, data); this.isNewRecord = false; } else { - mapper.update(tableName, (Integer)data.get("id"), data); + mapper.update(tableName, (String)data.get("id"), data); } } @@ -40,7 +41,7 @@ public class UfActiveRecord { UfActiveRecordMapper mapper = context.getBean(UfActiveRecordMapper.class); String tableName = UfActiveRecord.getTableNameFromModelClass(this.getClass()); Map data = UfActiveRecord.exportModelData(this); - mapper.delete(tableName, (Integer)data.get("id")); + mapper.delete(tableName, (String)data.get("id")); } // set attributes @@ -69,7 +70,7 @@ public class UfActiveRecord { } // find by id - public static T findOne(Class modelClass, Integer id) { + public static T findOne(Class modelClass, String id) { return UfActiveRecord.findOne(modelClass, Map.of("id", id)); } @@ -159,7 +160,7 @@ public class UfActiveRecord { String key = entry.getKey(); Field field = null; try { - field = model.getClass().getDeclaredField(key); + field = model.getClass().getField(key); } catch (NoSuchFieldException e) { continue ; } @@ -183,7 +184,7 @@ public class UfActiveRecord { // model to map private static Map exportModelData(Object model) { Map data = new HashMap<>(); - var fields = model.getClass().getDeclaredFields(); + var fields = model.getClass().getFields(); for ( var field : fields ) { var annotation = field.getAnnotation(UfActiveRecordField.class); if ( annotation == null ) { diff --git a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecordMapper.java b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecordMapper.java index d3b13f8..2f05ac7 100644 --- a/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecordMapper.java +++ b/src/main/java/com/iflytop/digester/underframework/dao/record/UfActiveRecordMapper.java @@ -31,7 +31,7 @@ public interface UfActiveRecordMapper { Integer count(UfActiveRecordCriteria criteria); @Select("SELECT * FROM ${tableName} WHERE id = #{id}") - Map findById(String tableName, Integer id); + Map findById(String tableName, String id); @Insert( "" ) - Integer update(String tableName, Integer id, Map data); + Integer update(String tableName, String id, Map data); @Delete("DELETE FROM ${tableName} WHERE id = #{id}") - Integer delete(String tableName, Integer id); + Integer delete(String tableName, String id); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ea8de02..8325452 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,12 +1,15 @@ -#spring: -# datasource: -# url: jdbc:sqlite:D:/Sige5193/digester/app.db -# username: 1 -# password: 1 -# driver-class-name: org.sqlite.JDBC -# -#device: -# connections: -# - name : zcancmder -# type : ZcancmderWebsocket -# uri: ws://192.168.8.10:19005 \ No newline at end of file +server : + port : 80 + +spring: + datasource: + url: jdbc:sqlite:D:/Sige5193/digester/app.db + username: 1 + password: 1 + driver-class-name: org.sqlite.JDBC + +device: + connections: + - name : zcancmder + type : ZcancmderWebsocket + uri: ws://192.168.8.10:19005 \ No newline at end of file