diff --git a/app.db b/app.db index 307aa6b..81b736a 100644 Binary files a/app.db and b/app.db differ 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