From ff387800f9dae9c7d4f5f087d7f5a916d5fa5d49 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 30 Jul 2024 15:56:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/a8k/appbase/appret/AppRet.java | 2 +- src/main/java/a8k/db/AppSetting.java | 202 +++++++++++++++++++++ src/main/java/a8k/db/LanguageDictIterm.java | 18 ++ src/main/java/a8k/service/LanguageDictService.java | 30 +++ .../a8k/service/appsettings/AppSettingsMgr.java | 90 +++++++++ .../service/appsettings/base/AppSettingGroup.java | 9 + .../service/appsettings/base/AppSettingName.java | 35 ++++ .../service/appsettings/base/AppSettingType.java | 16 ++ .../appsettings/settingenum/AutoLogoutTime.java | 22 +++ .../appsettings/settingenum/LISProtocol.java | 14 ++ .../service/appsettings/settingenum/LISType.java | 17 ++ .../a8k/service/usermgr/AppUserMgrService.java | 18 +- .../V100_4__create_table_AppSettingTable.sql | 15 ++ 13 files changed, 478 insertions(+), 10 deletions(-) create mode 100644 src/main/java/a8k/db/AppSetting.java create mode 100644 src/main/java/a8k/db/LanguageDictIterm.java create mode 100644 src/main/java/a8k/service/LanguageDictService.java create mode 100644 src/main/java/a8k/service/appsettings/AppSettingsMgr.java create mode 100644 src/main/java/a8k/service/appsettings/base/AppSettingGroup.java create mode 100644 src/main/java/a8k/service/appsettings/base/AppSettingName.java create mode 100644 src/main/java/a8k/service/appsettings/base/AppSettingType.java create mode 100644 src/main/java/a8k/service/appsettings/settingenum/AutoLogoutTime.java create mode 100644 src/main/java/a8k/service/appsettings/settingenum/LISProtocol.java create mode 100644 src/main/java/a8k/service/appsettings/settingenum/LISType.java create mode 100644 src/main/resources/db/migration/V100_4__create_table_AppSettingTable.sql diff --git a/src/main/java/a8k/appbase/appret/AppRet.java b/src/main/java/a8k/appbase/appret/AppRet.java index 8dd4a8c..1c173e8 100644 --- a/src/main/java/a8k/appbase/appret/AppRet.java +++ b/src/main/java/a8k/appbase/appret/AppRet.java @@ -8,7 +8,7 @@ import a8k.appbase.HardwareException; public class AppRet { - AppRetType appRetType = AppRetType.NORMAL; + public AppRetType appRetType = AppRetType.NORMAL; //错误信息 AppRetEcodeInfo ecode = null; diff --git a/src/main/java/a8k/db/AppSetting.java b/src/main/java/a8k/db/AppSetting.java new file mode 100644 index 0000000..4610348 --- /dev/null +++ b/src/main/java/a8k/db/AppSetting.java @@ -0,0 +1,202 @@ +package a8k.db; + +import a8k.service.appsettings.base.AppSettingGroup; +import a8k.service.appsettings.base.AppSettingName; +import a8k.service.appsettings.base.AppSettingType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.iflytop.uf.UfActiveRecord; +import com.iflytop.uf.UfActiveRecordField; + +import java.util.Arrays; + + +public class AppSetting extends UfActiveRecord { + @UfActiveRecordField + public String type; //支持类型范围 AppSettingType + @UfActiveRecordField + public String group; //返回名字为英文,前端需要根据英文名字进行翻译 + @UfActiveRecordField + public String name; //返回名字为英文,前端需要根据英文名字进行翻译 + @UfActiveRecordField + public Integer display = 1;// 是否显示 + @UfActiveRecordField + public Integer priority;// 优先级 数值越大越靠后 + + // + //整形和浮点型的单位数值范围 + // + @UfActiveRecordField + public Integer checkValRange;//是否检查输入参数范围 + @UfActiveRecordField + public Double minVal; //最小值 + @UfActiveRecordField + public Double maxVal; //最大值 + + //枚举单位数值范围 + @UfActiveRecordField + public String valueEnumRange; //枚举范围,用逗号分隔 + + //值 + @UfActiveRecordField + public String value; //Value + + @JsonIgnore + public static String getTableName() { + return "AppSetting" + "Table"; + } + + public void setPriority(Integer priority) { + this.priority = priority; + } + + @JsonIgnore + public Integer getIntegerValue() { + return Integer.parseInt(value); + } + + // + // BUILDER + // + + @JsonIgnore + static AppSettingGroup currentBuildGroup; + @JsonIgnore + static Integer buildPriority = 0; + static Boolean buildHidden = false; + + static public void setBuildGroup(AppSettingGroup group) { + currentBuildGroup = group; + buildPriority = 0; + buildHidden = false; + } + + static public void setBuildHidden(Boolean hidden) { + buildHidden = hidden; + } + + + public static void addIntegerOption(AppSettingName name, Boolean checkValRange, Double minVal, Double maxVal, Integer value) { + var option = new AppSetting(); + option.type = AppSettingType.INTEGER.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.checkValRange = checkValRange ? 1 : 0; + option.minVal = minVal; + option.maxVal = maxVal; + option.value = String.valueOf(value); + option.priority = buildPriority++; + option.save(); + } + + public static void addIntegerOption(AppSettingName name, Integer value) { + addIntegerOption(name, false, 0.0, 0.0, value); + } + + public static void addDoubleOption(AppSettingName name, Boolean checkValRange, Double minVal, Double maxVal, Double value) { + var option = new AppSetting(); + option.type = AppSettingType.DOUBLE.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.checkValRange = checkValRange ? 1 : 0; + option.minVal = minVal; + option.maxVal = maxVal; + option.value = String.valueOf(value); + option.priority = buildPriority++; + option.save(); + } + + public static void addDoubleOption(AppSettingName name, Double value) { + addDoubleOption(name, false, 0.0, 0.0, value); + } + + public static void addStringOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.STRING.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addBooleanOption(AppSettingName name, Boolean value) { + var option = new AppSetting(); + option.type = AppSettingType.BOOLEAN.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value ? "1" : "0"; + option.priority = buildPriority++; + option.save(); + } + + public static void addDateOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.DATE.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addTimeOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.TIME.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addTimezoneOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.TIMEZONE.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addIpOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.IP.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addEnumOption(AppSettingName name, String[] valueEnumRange, String value) { + var option = new AppSetting(); + option.type = AppSettingType.ENUM.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.valueEnumRange = Arrays.toString(valueEnumRange); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + + public static void addFixStringOption(AppSettingName name, String value) { + var option = new AppSetting(); + option.type = AppSettingType.FIX_STRING.name(); + option.group = currentBuildGroup.name(); + option.name = name.name(); + option.value = value; + option.priority = buildPriority++; + option.save(); + } + // public static void addSpecialPageOption(AppSettingName name, String value) { + // var option = new AppSetting(); + // option.type = AppSettingType.SPECIAL_PAGE.name(); + // option.group = currentBuildGroup.name(); + // option.name = name.name(); + // option.value = value; + // option.priority = buildPriority++; + // option.save(); + // } + +} diff --git a/src/main/java/a8k/db/LanguageDictIterm.java b/src/main/java/a8k/db/LanguageDictIterm.java new file mode 100644 index 0000000..b46da6b --- /dev/null +++ b/src/main/java/a8k/db/LanguageDictIterm.java @@ -0,0 +1,18 @@ +package a8k.db; + +import com.iflytop.uf.UfActiveRecord; +import com.iflytop.uf.UfActiveRecordField; + +public class LanguageDictIterm extends UfActiveRecord { + + @UfActiveRecordField + public String key; + @UfActiveRecordField + public String country; + @UfActiveRecordField + public String value; + // get table name + public static String getTableName() { + return String.format("%sTable", LanguageDictIterm.class.getSimpleName()); + } +} diff --git a/src/main/java/a8k/service/LanguageDictService.java b/src/main/java/a8k/service/LanguageDictService.java new file mode 100644 index 0000000..c3114e2 --- /dev/null +++ b/src/main/java/a8k/service/LanguageDictService.java @@ -0,0 +1,30 @@ +package a8k.service; + +import a8k.appbase.appret.AppRet; +import a8k.db.LanguageDictIterm; +import com.iflytop.uf.UfActiveRecord; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public class LanguageDictService { + + List dbGetLanguageDict() { + return UfActiveRecord.find(LanguageDictIterm.class); + } + + List dbGetLanguageDict(String country) { + return UfActiveRecord.find(LanguageDictIterm.class, Map.of("country", country)); + } + + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // PUBLIC + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + public AppRet> getLanguageDict(String country) { + return AppRet.success(dbGetLanguageDict(country)); + } + +} diff --git a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java new file mode 100644 index 0000000..e179c3d --- /dev/null +++ b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java @@ -0,0 +1,90 @@ +package a8k.service.appsettings; + +import a8k.appbase.appret.AppRet; +import a8k.controler.engineer.utils.EngineerPageTab; +import a8k.controler.engineer.utils.EnginnerPageAction; +import a8k.db.AppSetting; +import a8k.service.appsettings.base.AppSettingGroup; +import a8k.service.appsettings.base.AppSettingName; +import a8k.service.appsettings.settingenum.AutoLogoutTime; +import a8k.service.appsettings.settingenum.LISProtocol; +import a8k.service.appsettings.settingenum.LISType; +import com.iflytop.uf.UfActiveRecord; +import jakarta.annotation.PostConstruct; +import org.slf4j.Logger; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@Component +@EngineerPageTab(name = "AppSettings") +public class AppSettingsMgr { + Logger logger = org.slf4j.LoggerFactory.getLogger(AppSettingsMgr.class); + static Integer settingPageVersion = 1; + + List dbGetAppSettings() { + return UfActiveRecord.find(AppSetting.class); + } + + AppSetting dbGetAppSetting(AppSettingName name) { + return UfActiveRecord.findOne(AppSetting.class, Map.of("name", name.name())); + } + + void dbClearAppSettings() { + var items = dbGetAppSettings(); + for (var item : items) { + item.delete(); + } + } + + @PostConstruct + public void init() { + logger.info("AppSettingsMgr init"); + + AppSetting spversion = dbGetAppSetting(AppSettingName.SETTING_PAGE_VERSION); + if (spversion == null || !Objects.equals(spversion.getIntegerValue(), settingPageVersion)) { + dbClearAppSettings(); + initsettingdb(); + } + } + + public void initsettingdb() { + AppSetting.setBuildGroup(AppSettingGroup.DEVICE); + AppSetting.addIntegerOption(AppSettingName.SETTING_PAGE_VERSION, settingPageVersion); + AppSetting.addDateOption(AppSettingName.DATE, ""); + AppSetting.addTimeOption(AppSettingName.TIME, ""); + AppSetting.addTimezoneOption(AppSettingName.TIMEZONE, ""); + AppSetting.addEnumOption(AppSettingName.LANGUAGE, new String[]{"zh_CN", "en_US"}, "zh_CN"); + AppSetting.addBooleanOption(AppSettingName.AUTO_PRINT, false); + AppSetting.addEnumOption(AppSettingName.AUTO_LOGOUT, AutoLogoutTime.cgetValues(), AutoLogoutTime.T03_00.name()); + + AppSetting.setBuildGroup(AppSettingGroup.LIS); + AppSetting.addEnumOption(AppSettingName.LIS_TYPE, LISType.getValues(), LISType.SINGLE_TRACK.name()); + AppSetting.addEnumOption(AppSettingName.LIS_PROTOCOL, LISProtocol.getValues(), LISProtocol.Boditech.name()); + + AppSetting.setBuildGroup(AppSettingGroup.RELEASE); + AppSetting.addFixStringOption(AppSettingName.DEVICE_SERIAL, "TEST-001"); + AppSetting.addFixStringOption(AppSettingName.OS_VERSION, "v1.0.0"); + AppSetting.addFixStringOption(AppSettingName.APP_VERSION, "v1.0.0"); + AppSetting.addFixStringOption(AppSettingName.MCU_VERSION, "v1.0.0"); + } + + + @EnginnerPageAction(name = "getAppSettings") + public AppRet> getAppSettings() { + return AppRet.success(dbGetAppSettings()); + } + + @EnginnerPageAction(name = "getAppSetting") + public AppRet> getGroups() { + // AppSettingGroup + List groups = new ArrayList<>(); + for (AppSettingGroup group : AppSettingGroup.values()) { + groups.add(group.name()); + } + return AppRet.success(groups); + } +} diff --git a/src/main/java/a8k/service/appsettings/base/AppSettingGroup.java b/src/main/java/a8k/service/appsettings/base/AppSettingGroup.java new file mode 100644 index 0000000..3ce8818 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/base/AppSettingGroup.java @@ -0,0 +1,9 @@ +package a8k.service.appsettings.base; + +public enum AppSettingGroup { + DEVICE, + USRMGR, + LIS, + NETWORK, + RELEASE, +} diff --git a/src/main/java/a8k/service/appsettings/base/AppSettingName.java b/src/main/java/a8k/service/appsettings/base/AppSettingName.java new file mode 100644 index 0000000..f14f526 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/base/AppSettingName.java @@ -0,0 +1,35 @@ +package a8k.service.appsettings.base; + +public enum AppSettingName { + //DEVICE + SETTING_PAGE_VERSION, + DATE, + TIME, + TIMEZONE, + LANGUAGE, + AUTO_PRINT, + AUTO_LOGOUT, + + //USR_MGR + + //RELEASE + DEVICE_SERIAL, + OS_VERSION, + APP_VERSION, + MCU_VERSION, + + //LIS + LIS_TYPE, + LIS_PROTOCOL, + LIS_IF, + LIS_AUTO_EXPORT, + LIS_SERIAL_BAUDRATE, + LIS_NET_IP, + LIS_NET_PORT, + + //NET + NET_IP, + NET_PORT, + +} + diff --git a/src/main/java/a8k/service/appsettings/base/AppSettingType.java b/src/main/java/a8k/service/appsettings/base/AppSettingType.java new file mode 100644 index 0000000..6c416d8 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/base/AppSettingType.java @@ -0,0 +1,16 @@ +package a8k.service.appsettings.base; + +public enum AppSettingType { + INTEGER,//整数 + DOUBLE,//浮点,前端一律显示两位小数 + STRING,//字符串 + BOOLEAN,//布尔 + DATE,//日期, + TIME,//时间, + TIMEZONE,//时区 + IP,//点分十进制字符串存入数据库,前端显示为字符串 + ENUM,//枚举 + SPECIAL_PAGE,//只是起到占位符的作用,相当于添加一个空白页面,页面中的内容,前端根据GROUP_NAME进行填充 + FIX_STRING,//固定字符串,不可编辑 + ; +} diff --git a/src/main/java/a8k/service/appsettings/settingenum/AutoLogoutTime.java b/src/main/java/a8k/service/appsettings/settingenum/AutoLogoutTime.java new file mode 100644 index 0000000..80f1295 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/settingenum/AutoLogoutTime.java @@ -0,0 +1,22 @@ +package a8k.service.appsettings.settingenum; + +public enum AutoLogoutTime { + T00_00, + T01_00, + T02_00, + T03_00, + T04_00, + ; + + + + public static String[] cgetValues() { + String[] values = new String[AutoLogoutTime.values().length]; + int i = 0; + for (AutoLogoutTime value : AutoLogoutTime.values()) { + values[i] = value.name(); + i++; + } + return values; + } +} diff --git a/src/main/java/a8k/service/appsettings/settingenum/LISProtocol.java b/src/main/java/a8k/service/appsettings/settingenum/LISProtocol.java new file mode 100644 index 0000000..0b4ff62 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/settingenum/LISProtocol.java @@ -0,0 +1,14 @@ +package a8k.service.appsettings.settingenum; + +public enum LISProtocol { + Boditech, Simens; + + public static String[] getValues() { + String[] values = new String[LISProtocol.values().length]; + int i = 0; + for (LISProtocol value : LISProtocol.values()) { + values[i++] = value.name(); + } + return values; + } +} diff --git a/src/main/java/a8k/service/appsettings/settingenum/LISType.java b/src/main/java/a8k/service/appsettings/settingenum/LISType.java new file mode 100644 index 0000000..afb4067 --- /dev/null +++ b/src/main/java/a8k/service/appsettings/settingenum/LISType.java @@ -0,0 +1,17 @@ +package a8k.service.appsettings.settingenum; + +public enum LISType { + //单向,双向 + SINGLE_TRACK, + DOUBLE_TRACK, + ; + + public static String[] getValues() { + String[] values = new String[LISType.values().length]; + int i = 0; + for (LISType value : LISType.values()) { + values[i++] = value.name(); + } + return values; + } +} diff --git a/src/main/java/a8k/service/usermgr/AppUserMgrService.java b/src/main/java/a8k/service/usermgr/AppUserMgrService.java index a0da737..b77fb31 100644 --- a/src/main/java/a8k/service/usermgr/AppUserMgrService.java +++ b/src/main/java/a8k/service/usermgr/AppUserMgrService.java @@ -20,10 +20,10 @@ public class AppUserMgrService { @PostConstruct public void init() { logger.info("UserMgrService init"); - AppUser admin = getUser("管理员"); + AppUser admin = dbGetUser("Admin"); if (admin == null) { admin = new AppUser(); - admin.account = "管理员"; + admin.account = "Admin"; admin.password = "0000"; admin.isAdmin = 1; admin.isBuiltInUser = 1; @@ -32,11 +32,11 @@ public class AppUserMgrService { } - List getUserList() { + List dbGetUserList() { return UfActiveRecord.find(AppUser.class); } - AppUser getUser(String account) { + AppUser dbGetUser(String account) { return UfActiveRecord.findOne(AppUser.class, Map.of("account", account)); } @@ -45,7 +45,7 @@ public class AppUserMgrService { // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public AppRet login(String account, String password) { - var user = getUser(account); + var user = dbGetUser(account); if (user == null) { return AppRet.fail(A8kEcode.UsrNotExitError); } @@ -61,11 +61,11 @@ public class AppUserMgrService { } public AppRet> loginList() { - return AppRet.success(getUserList()); + return AppRet.success(dbGetUserList()); } public AppRet addUser(String account, String password, int isAdmin) { - if (getUser(account) != null) { + if (dbGetUser(account) != null) { return AppRet.fail(A8kEcode.UsrExistError); } var user = new AppUser(); @@ -77,7 +77,7 @@ public class AppUserMgrService { } public AppRet delUser(String account) { - var user = getUser(account); + var user = dbGetUser(account); if (user == null) { return AppRet.fail(A8kEcode.UsrNotExitError); } @@ -89,7 +89,7 @@ public class AppUserMgrService { } public AppRet modifyUser(String account, String password, int isAdmin) { - var user = getUser(account); + var user = dbGetUser(account); if (user == null) { return AppRet.fail(A8kEcode.UsrNotExitError); } diff --git a/src/main/resources/db/migration/V100_4__create_table_AppSettingTable.sql b/src/main/resources/db/migration/V100_4__create_table_AppSettingTable.sql new file mode 100644 index 0000000..a24443b --- /dev/null +++ b/src/main/resources/db/migration/V100_4__create_table_AppSettingTable.sql @@ -0,0 +1,15 @@ +CREATE TABLE "AppSettingTable" +( + "id" text NOT NULL, + "type" text, + "group" text, + "name" text, + "display" integer, + "priority" integer, + "checkValRange" integer, + "minVal" real, + "maxVal" real, + "valueEnumRange" text, + "value" text, + PRIMARY KEY ("id") +); \ No newline at end of file From 7a45ee76c0851152e2ead719dfeef9eadd134e6e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 30 Jul 2024 15:59:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/a8k/service/appsettings/AppSettingsMgr.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java index e179c3d..96aa9c3 100644 --- a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java +++ b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java @@ -80,7 +80,6 @@ public class AppSettingsMgr { @EnginnerPageAction(name = "getAppSetting") public AppRet> getGroups() { - // AppSettingGroup List groups = new ArrayList<>(); for (AppSettingGroup group : AppSettingGroup.values()) { groups.add(group.name()); From d0455caac41732bc3256d4dbaad24bfc6421d79f Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 30 Jul 2024 16:10:44 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/a8k/db/AppSetting.java | 26 +++++----- .../a8k/service/appsettings/AppSettingsMgr.java | 59 ++++++++++++++++------ .../service/appsettings/base/AppOptionName.java | 35 +++++++++++++ .../service/appsettings/base/AppSettingName.java | 35 ------------- .../a8k/service/usermgr/AppUserMgrService.java | 1 + 5 files changed, 92 insertions(+), 64 deletions(-) create mode 100644 src/main/java/a8k/service/appsettings/base/AppOptionName.java delete mode 100644 src/main/java/a8k/service/appsettings/base/AppSettingName.java diff --git a/src/main/java/a8k/db/AppSetting.java b/src/main/java/a8k/db/AppSetting.java index 4610348..3bea319 100644 --- a/src/main/java/a8k/db/AppSetting.java +++ b/src/main/java/a8k/db/AppSetting.java @@ -1,7 +1,7 @@ package a8k.db; import a8k.service.appsettings.base.AppSettingGroup; -import a8k.service.appsettings.base.AppSettingName; +import a8k.service.appsettings.base.AppOptionName; import a8k.service.appsettings.base.AppSettingType; import com.fasterxml.jackson.annotation.JsonIgnore; import com.iflytop.uf.UfActiveRecord; @@ -75,7 +75,7 @@ public class AppSetting extends UfActiveRecord { } - public static void addIntegerOption(AppSettingName name, Boolean checkValRange, Double minVal, Double maxVal, Integer value) { + public static void addIntegerOption(AppOptionName name, Boolean checkValRange, Double minVal, Double maxVal, Integer value) { var option = new AppSetting(); option.type = AppSettingType.INTEGER.name(); option.group = currentBuildGroup.name(); @@ -88,11 +88,11 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addIntegerOption(AppSettingName name, Integer value) { + public static void addIntegerOption(AppOptionName name, Integer value) { addIntegerOption(name, false, 0.0, 0.0, value); } - public static void addDoubleOption(AppSettingName name, Boolean checkValRange, Double minVal, Double maxVal, Double value) { + public static void addDoubleOption(AppOptionName name, Boolean checkValRange, Double minVal, Double maxVal, Double value) { var option = new AppSetting(); option.type = AppSettingType.DOUBLE.name(); option.group = currentBuildGroup.name(); @@ -105,11 +105,11 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addDoubleOption(AppSettingName name, Double value) { + public static void addDoubleOption(AppOptionName name, Double value) { addDoubleOption(name, false, 0.0, 0.0, value); } - public static void addStringOption(AppSettingName name, String value) { + public static void addStringOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.STRING.name(); option.group = currentBuildGroup.name(); @@ -119,7 +119,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addBooleanOption(AppSettingName name, Boolean value) { + public static void addBooleanOption(AppOptionName name, Boolean value) { var option = new AppSetting(); option.type = AppSettingType.BOOLEAN.name(); option.group = currentBuildGroup.name(); @@ -129,7 +129,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addDateOption(AppSettingName name, String value) { + public static void addDateOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.DATE.name(); option.group = currentBuildGroup.name(); @@ -139,7 +139,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addTimeOption(AppSettingName name, String value) { + public static void addTimeOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.TIME.name(); option.group = currentBuildGroup.name(); @@ -149,7 +149,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addTimezoneOption(AppSettingName name, String value) { + public static void addTimezoneOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.TIMEZONE.name(); option.group = currentBuildGroup.name(); @@ -159,7 +159,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addIpOption(AppSettingName name, String value) { + public static void addIpOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.IP.name(); option.group = currentBuildGroup.name(); @@ -169,7 +169,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addEnumOption(AppSettingName name, String[] valueEnumRange, String value) { + public static void addEnumOption(AppOptionName name, String[] valueEnumRange, String value) { var option = new AppSetting(); option.type = AppSettingType.ENUM.name(); option.group = currentBuildGroup.name(); @@ -180,7 +180,7 @@ public class AppSetting extends UfActiveRecord { option.save(); } - public static void addFixStringOption(AppSettingName name, String value) { + public static void addFixStringOption(AppOptionName name, String value) { var option = new AppSetting(); option.type = AppSettingType.FIX_STRING.name(); option.group = currentBuildGroup.name(); diff --git a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java index 96aa9c3..02bdb31 100644 --- a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java +++ b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java @@ -5,7 +5,7 @@ import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; import a8k.db.AppSetting; import a8k.service.appsettings.base.AppSettingGroup; -import a8k.service.appsettings.base.AppSettingName; +import a8k.service.appsettings.base.AppOptionName; import a8k.service.appsettings.settingenum.AutoLogoutTime; import a8k.service.appsettings.settingenum.LISProtocol; import a8k.service.appsettings.settingenum.LISType; @@ -29,7 +29,7 @@ public class AppSettingsMgr { return UfActiveRecord.find(AppSetting.class); } - AppSetting dbGetAppSetting(AppSettingName name) { + AppSetting dbGetAppSetting(AppOptionName name) { return UfActiveRecord.findOne(AppSetting.class, Map.of("name", name.name())); } @@ -44,7 +44,7 @@ public class AppSettingsMgr { public void init() { logger.info("AppSettingsMgr init"); - AppSetting spversion = dbGetAppSetting(AppSettingName.SETTING_PAGE_VERSION); + AppSetting spversion = dbGetAppSetting(AppOptionName.SETTING_PAGE_VERSION); if (spversion == null || !Objects.equals(spversion.getIntegerValue(), settingPageVersion)) { dbClearAppSettings(); initsettingdb(); @@ -53,23 +53,23 @@ public class AppSettingsMgr { public void initsettingdb() { AppSetting.setBuildGroup(AppSettingGroup.DEVICE); - AppSetting.addIntegerOption(AppSettingName.SETTING_PAGE_VERSION, settingPageVersion); - AppSetting.addDateOption(AppSettingName.DATE, ""); - AppSetting.addTimeOption(AppSettingName.TIME, ""); - AppSetting.addTimezoneOption(AppSettingName.TIMEZONE, ""); - AppSetting.addEnumOption(AppSettingName.LANGUAGE, new String[]{"zh_CN", "en_US"}, "zh_CN"); - AppSetting.addBooleanOption(AppSettingName.AUTO_PRINT, false); - AppSetting.addEnumOption(AppSettingName.AUTO_LOGOUT, AutoLogoutTime.cgetValues(), AutoLogoutTime.T03_00.name()); + AppSetting.addIntegerOption(AppOptionName.SETTING_PAGE_VERSION, settingPageVersion); + AppSetting.addDateOption(AppOptionName.DATE, ""); + AppSetting.addTimeOption(AppOptionName.TIME, ""); + AppSetting.addTimezoneOption(AppOptionName.TIMEZONE, ""); + AppSetting.addEnumOption(AppOptionName.LANGUAGE, new String[]{"zh_CN", "en_US"}, "zh_CN"); + AppSetting.addBooleanOption(AppOptionName.AUTO_PRINT, false); + AppSetting.addEnumOption(AppOptionName.AUTO_LOGOUT, AutoLogoutTime.cgetValues(), AutoLogoutTime.T03_00.name()); AppSetting.setBuildGroup(AppSettingGroup.LIS); - AppSetting.addEnumOption(AppSettingName.LIS_TYPE, LISType.getValues(), LISType.SINGLE_TRACK.name()); - AppSetting.addEnumOption(AppSettingName.LIS_PROTOCOL, LISProtocol.getValues(), LISProtocol.Boditech.name()); + AppSetting.addEnumOption(AppOptionName.LIS_TYPE, LISType.getValues(), LISType.SINGLE_TRACK.name()); + AppSetting.addEnumOption(AppOptionName.LIS_PROTOCOL, LISProtocol.getValues(), LISProtocol.Boditech.name()); AppSetting.setBuildGroup(AppSettingGroup.RELEASE); - AppSetting.addFixStringOption(AppSettingName.DEVICE_SERIAL, "TEST-001"); - AppSetting.addFixStringOption(AppSettingName.OS_VERSION, "v1.0.0"); - AppSetting.addFixStringOption(AppSettingName.APP_VERSION, "v1.0.0"); - AppSetting.addFixStringOption(AppSettingName.MCU_VERSION, "v1.0.0"); + AppSetting.addFixStringOption(AppOptionName.DEVICE_SERIAL, "TEST-001"); + AppSetting.addFixStringOption(AppOptionName.OS_VERSION, "v1.0.0"); + AppSetting.addFixStringOption(AppOptionName.APP_VERSION, "v1.0.0"); + AppSetting.addFixStringOption(AppOptionName.MCU_VERSION, "v1.0.0"); } @@ -86,4 +86,31 @@ public class AppSettingsMgr { } return AppRet.success(groups); } + + @EnginnerPageAction(name = "setSysDate") + public void setSysDate(Integer Year, Integer Month, Integer Day) { + logger.info("setSysDate {}-{}-{}", Year, Month, Day); + } + + @EnginnerPageAction(name = "setSysTime") + public void setSysTime(Integer Hour, Integer Minute, Integer Second) { + logger.info("setSysTime {}:{}:{}", Hour, Minute, Second); + } + + @EnginnerPageAction(name = "setSysTimezone") + public void setSysTimezone(String timezone) { + logger.info("setSysTimezone {}", timezone); + } + + @EnginnerPageAction(name = "setOptionVal") + public void setOptionVal(AppOptionName optionName,String val){ + logger.info("setOptionVal {}={}", optionName, val); + AppSetting appSetting = dbGetAppSetting(optionName); + if(appSetting != null){ + appSetting.value = val; + appSetting.save(); + } + } + + } diff --git a/src/main/java/a8k/service/appsettings/base/AppOptionName.java b/src/main/java/a8k/service/appsettings/base/AppOptionName.java new file mode 100644 index 0000000..b28978f --- /dev/null +++ b/src/main/java/a8k/service/appsettings/base/AppOptionName.java @@ -0,0 +1,35 @@ +package a8k.service.appsettings.base; + +public enum AppOptionName { + //DEVICE + SETTING_PAGE_VERSION, + DATE, + TIME, + TIMEZONE, + LANGUAGE, + AUTO_PRINT, + AUTO_LOGOUT, + + //USR_MGR + + //RELEASE + DEVICE_SERIAL, + OS_VERSION, + APP_VERSION, + MCU_VERSION, + + //LIS + LIS_TYPE, + LIS_PROTOCOL, + LIS_IF, + LIS_AUTO_EXPORT, + LIS_SERIAL_BAUDRATE, + LIS_NET_IP, + LIS_NET_PORT, + + //NET + NET_IP, + NET_PORT, + +} + diff --git a/src/main/java/a8k/service/appsettings/base/AppSettingName.java b/src/main/java/a8k/service/appsettings/base/AppSettingName.java deleted file mode 100644 index f14f526..0000000 --- a/src/main/java/a8k/service/appsettings/base/AppSettingName.java +++ /dev/null @@ -1,35 +0,0 @@ -package a8k.service.appsettings.base; - -public enum AppSettingName { - //DEVICE - SETTING_PAGE_VERSION, - DATE, - TIME, - TIMEZONE, - LANGUAGE, - AUTO_PRINT, - AUTO_LOGOUT, - - //USR_MGR - - //RELEASE - DEVICE_SERIAL, - OS_VERSION, - APP_VERSION, - MCU_VERSION, - - //LIS - LIS_TYPE, - LIS_PROTOCOL, - LIS_IF, - LIS_AUTO_EXPORT, - LIS_SERIAL_BAUDRATE, - LIS_NET_IP, - LIS_NET_PORT, - - //NET - NET_IP, - NET_PORT, - -} - diff --git a/src/main/java/a8k/service/usermgr/AppUserMgrService.java b/src/main/java/a8k/service/usermgr/AppUserMgrService.java index b77fb31..06d9a1a 100644 --- a/src/main/java/a8k/service/usermgr/AppUserMgrService.java +++ b/src/main/java/a8k/service/usermgr/AppUserMgrService.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; + @Component public class AppUserMgrService { static Logger logger = org.slf4j.LoggerFactory.getLogger(AppUserMgrService.class);