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