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