12 changed files with 248 additions and 215 deletions
-
34src/main/java/a8k/app/controler/api/v1/app/setting/DeviceSettingControler.java
-
35src/main/java/a8k/app/controler/api/v1/app/setting/LISSettingControler.java
-
65src/main/java/a8k/app/dao/db/AppSettingDao.java
-
33src/main/java/a8k/app/dao/db/DeviceSettingDao.java
-
33src/main/java/a8k/app/dao/db/LISSettingDao.java
-
36src/main/java/a8k/app/dao/db/type/DeviceSetting.java
-
4src/main/java/a8k/app/dao/db/type/LISSetting.java
-
2src/main/java/a8k/app/dao/db/type/appsetting/settingenum/AutoLogoutOption.java
-
5src/main/java/a8k/app/service/background/TemperatureCtrlService.java
-
75src/main/java/a8k/app/service/setting/AppSettingsMgrService.java
-
17src/main/java/a8k/extui/page/debug/P20AppSettingDebugPage.java
@ -1,65 +0,0 @@ |
|||||
package a8k.app.dao.db; |
|
||||
|
|
||||
import a8k.app.service.data.UtilsProjectColorAllocer; |
|
||||
import a8k.app.dao.db.type.AppSetting; |
|
||||
|
|
||||
import a8k.app.utils.ZSqliteJdbcHelper; |
|
||||
import jakarta.annotation.PostConstruct; |
|
||||
import jakarta.annotation.Resource; |
|
||||
import jakarta.validation.Valid; |
|
||||
import lombok.SneakyThrows; |
|
||||
import org.slf4j.Logger; |
|
||||
import org.slf4j.LoggerFactory; |
|
||||
import org.springframework.jdbc.core.JdbcTemplate; |
|
||||
import org.springframework.stereotype.Component; |
|
||||
import org.springframework.validation.annotation.Validated; |
|
||||
|
|
||||
import java.sql.ResultSet; |
|
||||
import java.util.List; |
|
||||
|
|
||||
/** |
|
||||
* ID卡数据库服务 |
|
||||
*/ |
|
||||
@Component |
|
||||
@Validated |
|
||||
public class AppSettingDao { |
|
||||
private static final Logger logger = LoggerFactory.getLogger(AppSettingDao.class); |
|
||||
private static final String tableName = "zapp_a8k_appsetting"; |
|
||||
private static Class<?> tClass = AppSetting.class; |
|
||||
|
|
||||
|
|
||||
@Resource |
|
||||
JdbcTemplate jdbcTemplate; |
|
||||
|
|
||||
@Resource |
|
||||
UtilsProjectColorAllocer colorAllocer; |
|
||||
|
|
||||
@PostConstruct |
|
||||
void init() { |
|
||||
if (!ZSqliteJdbcHelper.isTableExist(jdbcTemplate, tableName)) { |
|
||||
// ZSqliteJdbcHelper.deleteTable(jdbcTemplate, tableName); |
|
||||
ZSqliteJdbcHelper.createTable(jdbcTemplate, tableName, tClass); |
|
||||
ZSqliteJdbcHelper.addObj(jdbcTemplate, tableName, AppSetting.class, new AppSetting()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
@SneakyThrows private AppSetting rowMapper(ResultSet rs, int rowNum) { |
|
||||
return (AppSetting) ZSqliteJdbcHelper.rowMapper(rs, tClass); |
|
||||
} |
|
||||
|
|
||||
public AppSetting get() { |
|
||||
List<AppSetting> list = jdbcTemplate.query("select * from " + tableName, this::rowMapper); |
|
||||
if (list.isEmpty()) { |
|
||||
AppSetting appSetting = new AppSetting(); |
|
||||
jdbcTemplate.update("insert into " + tableName + " values(?)", appSetting); |
|
||||
return appSetting; |
|
||||
} |
|
||||
return list.get(0); |
|
||||
} |
|
||||
|
|
||||
public void update(@Valid AppSetting appSetting) { |
|
||||
ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, AppSetting.class, appSetting); |
|
||||
} |
|
||||
|
|
||||
|
|
||||
} |
|
@ -0,0 +1,33 @@ |
|||||
|
package a8k.app.dao.db; |
||||
|
|
||||
|
import a8k.app.dao.db.type.DeviceSetting; |
||||
|
import a8k.app.utils.ZSqlite; |
||||
|
import jakarta.annotation.PostConstruct; |
||||
|
import jakarta.annotation.Resource; |
||||
|
import org.springframework.jdbc.core.JdbcTemplate; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
|
||||
|
/** |
||||
|
* ID卡数据库服务 |
||||
|
*/ |
||||
|
@Component |
||||
|
@Validated |
||||
|
public class DeviceSettingDao extends ZSqlite<DeviceSetting> { |
||||
|
@Resource |
||||
|
JdbcTemplate jdbcTemplate; |
||||
|
|
||||
|
@PostConstruct |
||||
|
void init() { |
||||
|
init(jdbcTemplate, "zapp_a8k_device_setting", DeviceSetting.class, false); |
||||
|
if (getAll().isEmpty()) { |
||||
|
add(new DeviceSetting()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public DeviceSetting get() { |
||||
|
return getAll().get(0); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
package a8k.app.dao.db; |
||||
|
|
||||
|
import a8k.app.dao.db.type.LISSetting; |
||||
|
import a8k.app.utils.ZSqlite; |
||||
|
import jakarta.annotation.PostConstruct; |
||||
|
import jakarta.annotation.Resource; |
||||
|
import org.springframework.jdbc.core.JdbcTemplate; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
|
||||
|
/** |
||||
|
* ID卡数据库服务 |
||||
|
*/ |
||||
|
@Component |
||||
|
@Validated |
||||
|
public class LISSettingDao extends ZSqlite<LISSetting> { |
||||
|
@Resource |
||||
|
JdbcTemplate jdbcTemplate; |
||||
|
|
||||
|
@PostConstruct |
||||
|
void init() { |
||||
|
init(jdbcTemplate, "zapp_a8k_lis_setting", LISSetting.class, false); |
||||
|
if (getAll().isEmpty()) { |
||||
|
add(new LISSetting()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public LISSetting get() { |
||||
|
return getAll().get(0); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
package a8k.app.dao.db.type; |
||||
|
|
||||
|
import a8k.app.dao.db.type.appsetting.settingenum.*; |
||||
|
import io.swagger.v3.oas.annotations.media.Schema; |
||||
|
import jakarta.validation.constraints.Max; |
||||
|
import jakarta.validation.constraints.Min; |
||||
|
import jakarta.validation.constraints.NotNull; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class DeviceSetting { |
||||
|
public int id = 0; |
||||
|
|
||||
|
@Schema(description = "语言") |
||||
|
@NotNull |
||||
|
public LanguageType language = LanguageType.zh_CN; |
||||
|
|
||||
|
@Schema(description = "自动打印报告") |
||||
|
@NotNull |
||||
|
public Boolean autoPrint = false; |
||||
|
|
||||
|
@Schema(description = "自动登出") |
||||
|
@NotNull |
||||
|
public Integer autoLogoutTimeout = 0; |
||||
|
|
||||
|
@Schema(description = "设备温度") |
||||
|
@NotNull |
||||
|
@Min(15) |
||||
|
@Max(35) |
||||
|
public Integer temperature = 25; |
||||
|
|
||||
|
public Boolean DHCP = true; |
||||
|
|
||||
|
public String localIp = ""; |
||||
|
|
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue