sige 1 year ago
parent
commit
c0a1d263df
  1. 2
      pom.xml
  2. 3
      src/main/java/com/iflytop/uf/UfActiveRecordCriteria.java
  3. 11
      src/main/java/com/iflytop/uf/UfActiveRecordMapper.java
  4. 5
      src/main/java/com/iflytop/uf/actuator/UfActPipette.java
  5. 14
      src/main/java/com/iflytop/uf/model/UfMdbDictItem.java
  6. 28
      src/main/java/com/iflytop/uf/model/UfMdbOption.java
  7. 11
      src/main/java/com/iflytop/uf/util/UfJsonHelper.java

2
pom.xml

@ -10,7 +10,7 @@
</parent>
<groupId>com.iflytop</groupId>
<artifactId>uf</artifactId>
<version>0.0.19</version>
<version>0.0.30</version>
<name>uf</name>
<description>uf</description>
<properties>

3
src/main/java/com/iflytop/uf/UfActiveRecordCriteria.java

@ -1,4 +1,5 @@
package com.iflytop.uf;
import java.util.HashMap;
import java.util.Map;
public class UfActiveRecordCriteria {
// table name
@ -9,4 +10,6 @@ public class UfActiveRecordCriteria {
public Integer limit;
// offset
public Integer offset;
// orders
public Map<String, String> orders;
}

11
src/main/java/com/iflytop/uf/UfActiveRecordMapper.java

@ -10,9 +10,12 @@ public interface UfActiveRecordMapper {
"SELECT * FROM ${tableName} " +
"<if test='conditions != null'>" +
"WHERE " +
"<foreach collection='conditions' item='value' index='key' separator=' AND '>${key} = #{value}</foreach>" +
"<foreach collection='conditions' item='value' index='key' separator=' AND '>`${key}` = #{value}</foreach>" +
"</if> " +
"<if test='orders != null'>" +
"ORDER BY " +
"<foreach collection='orders' item='value' index='key' separator=','>`${key}` ${value}</foreach>" +
"</if> " +
"ORDER BY id DESC " +
"<if test='limit != null'>LIMIT #{limit}</if> " +
"<if test='offset != null'>OFFSET #{offset}</if>" +
"</script>"
@ -24,7 +27,7 @@ public interface UfActiveRecordMapper {
"SELECT COUNT(*) FROM ${tableName} " +
"<if test='conditions != null'>" +
"WHERE " +
"<foreach collection='conditions' item='value' index='key' separator=' AND '>${key} = #{value}</foreach>" +
"<foreach collection='conditions' item='value' index='key' separator=' AND '>`${key}` = #{value}</foreach>" +
"</if>" +
"</script>"
)
@ -36,7 +39,7 @@ public interface UfActiveRecordMapper {
@Insert(
"<script>" +
"INSERT INTO ${tableName} " +
"<foreach collection='data' item='value' index='key' open='(' separator=',' close=')'>${key}</foreach>" +
"<foreach collection='data' item='value' index='key' open='(' separator=',' close=')'>`${key}`</foreach>" +
"VALUES " +
"<foreach collection='data' item='value' index='key' open='(' separator=',' close=')'>#{value}</foreach>" +
"</script>"

5
src/main/java/com/iflytop/uf/actuator/UfActPipette.java

@ -9,4 +9,9 @@ public class UfActPipette extends UfActuatorBase {
public String ctrlPutTip(UfMdbActuatorCmd cmd) {
return this.executeAndWaitForFinish(cmd);
}
@UfActuatorCommand(name = "pipette_ctrl_move_to_ul")
public String ctrlMoveToUl(UfMdbActuatorCmd cmd) {
return this.executeAndWaitForFinish(cmd);
}
}

14
src/main/java/com/iflytop/uf/model/UfMdbDictItem.java

@ -36,4 +36,18 @@ public class UfMdbDictItem extends UfActiveRecord {
assert item != null;
return item.itemName;
}
// get key value
public static String getValue( String groupKey, String itemKey ) {
var item = UfActiveRecord.findOne(UfMdbDictItem.class, Map.of("groupKey", groupKey, "itemKey", itemKey));
assert item != null;
return item.itemValue;
}
// match
public static Boolean match( String groupKey, String itemKey, String value ) {
var item = UfActiveRecord.findOne(UfMdbDictItem.class, Map.of("groupKey", groupKey, "itemKey", itemKey));
assert item != null;
return item.itemValue.equals(value);
}
}

28
src/main/java/com/iflytop/uf/model/UfMdbOption.java

@ -35,6 +35,15 @@ public class UfMdbOption extends UfActiveRecord {
return option.value;
}
// get option string
public static String getString( String key ) {
var option = UfActiveRecord.findOne(UfMdbOption.class, Map.of("key", key));
if ( null == option ) {
throw new RuntimeException("Option not found : " + key);
}
return option.value;
}
// get option
public static Integer getInteger(String key, Integer defaultValue ) {
var option = UfMdbOption.getString(key, defaultValue.toString());
@ -42,15 +51,34 @@ public class UfMdbOption extends UfActiveRecord {
}
// get option
public static Integer getInteger( String key ) {
var option = UfMdbOption.getString(key);
return Integer.parseInt(option);
}
// get option
public static Double getDouble(String key, Double defaultValue ) {
var option = UfMdbOption.getString(key, defaultValue.toString());
return Double.parseDouble(option);
}
// get option value as double
public static Double getDouble( String key ) {
var option = UfMdbOption.getString(key);
return Double.parseDouble(option);
}
// get as boolean
public static Boolean getBoolean( String key, Boolean defaultValue ) {
var option = UfMdbOption.getString(key, defaultValue ? "1" : "0");
option = option.toLowerCase();
return "1".equals(option) || "true".equals(option) || "yes".equals(option) || "on".equals(option);
}
// get option value as boolean
public static Boolean getBoolean( String key ) {
var option = UfMdbOption.getString(key);
option = option.toLowerCase();
return "1".equals(option) || "true".equals(option) || "yes".equals(option) || "on".equals(option);
}
}

11
src/main/java/com/iflytop/uf/util/UfJsonHelper.java

@ -1,4 +1,5 @@
package com.iflytop.uf.util;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class UfJsonHelper {
// object to json
@ -10,4 +11,14 @@ public class UfJsonHelper {
throw new RuntimeException(e);
}
}
// json to node
public static JsonNode jsonToNode(String json) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.readTree(json);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Loading…
Cancel
Save