Browse Source

update

tags/v0
zhaohe 9 months ago
parent
commit
fcc1fa9d87
  1. 5
      pom.xml
  2. 136
      src/main/java/a8k/controler/AppSettingControler.java
  3. 18
      src/main/java/a8k/controler/UsrControler.java
  4. 70
      src/main/java/a8k/service/app/appsetting/AppSettingsMgrService.java
  5. 8
      src/main/java/a8k/service/app/background/TemperatureCtrlService.java
  6. 5
      src/main/java/a8k/service/db/AppSettingDBService.java
  7. 63
      src/main/java/a8k/service/db/type/AppSetting.java
  8. 7
      src/main/java/a8k/type/appret/AppRetV1.java
  9. 2
      src/main/java/a8k/type/appret/AppRetV2.java
  10. 4
      src/main/java/a8k/type/ecode/AppCodeError.java

5
pom.xml

@ -81,6 +81,11 @@
<version>2.3.0</version> <version>2.3.0</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

136
src/main/java/a8k/controler/AppSettingControler.java

@ -0,0 +1,136 @@
package a8k.controler;
import a8k.service.app.appsetting.AppSettingsMgrService;
import a8k.service.db.type.AppSetting;
import a8k.service.db.type.appsetting.settingenum.*;
import a8k.type.appret.AppRetV2;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Tag(name = "系统设置", description = "")
@Slf4j
@Controller
@RequestMapping(value = "/api/v1/app/AppSetting/")
@ResponseBody
public class AppSettingControler {
@Resource
AppSettingsMgrService appSettingsMgrService;
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// EXT FUNC
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@Operation(summary = "获取系统设置")
@PostMapping("/getAppSettings")
public AppRetV2<AppSetting> getAppSettings() {
return AppRetV2.success(appSettingsMgrService.getAppSettings());
}
@Operation(summary = "设置语言")
@PostMapping("/setLanguage")
public AppRetV2<Void> setLanguage(@NotNull LanguageType val) {
appSettingsMgrService.setLanguage(val);
return AppRetV2.success();
}
@Operation(summary = "设置自动打印报告")
@PostMapping("/setAutoPrint")
public AppRetV2<Void> setAutoPrint(@NotNull Boolean val) {
appSettingsMgrService.setAutoPrint(val);
return AppRetV2.success();
}
@Operation(summary = "设置自动登出")
@PostMapping("/setAutoLogout")
public AppRetV2<Void> setAutoLogout(@NotNull Boolean val) {
appSettingsMgrService.setAutoLogout(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS类型")
@PostMapping("/setLISType")
public AppRetV2<Void> setLISType(@NotNull LISTypeEnum val) {
appSettingsMgrService.setLISType(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS协议")
@PostMapping("/setLISProtocol")
public AppRetV2<Void> setLISProtocol(@NotNull LISProtocolEnum val) {
appSettingsMgrService.setLISProtocol(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS接口")
@PostMapping("/setLIFIf")
public AppRetV2<Void> setLIFIf(@NotNull LISIFType val) {
appSettingsMgrService.setLIFIf(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS是否自动上报报告")
@PostMapping("/setLISAutoExport")
public AppRetV2<Void> setLISAutoExport( @NotNull Boolean val) {
appSettingsMgrService.setLISAutoExport(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS串口波特率")
@PostMapping("/setLISSerialBaudrate")
public AppRetV2<Void> setLISSerialBaudrate(@NotNull LISSerialBaudrateType val) {
appSettingsMgrService.setLISSerialBaudrate(val);
return AppRetV2.success();
}
@Operation(summary = "设置LISIP")
@PostMapping("/setLISNetIp")
public AppRetV2<Void> setLISNetIp(@NotNull String val) {
appSettingsMgrService.setLISNetIp(val);
return AppRetV2.success();
}
@Operation(summary = "设置LIS端口")
@PostMapping("/setLISNetPort")
public AppRetV2<Void> setLISNetPort(@NotNull Integer val) {
appSettingsMgrService.setLISNetPort(val);
return AppRetV2.success();
}
@Operation(summary = "设置设备温度")
@PostMapping("/setTemperature")
public AppRetV2<Void> setTemperature(Integer val) {
log.info("setTemperature:{}", val);
appSettingsMgrService.setTemperature(val);
return AppRetV2.success();
}
}

18
src/main/java/a8k/controler/UsrControler.java

@ -27,58 +27,58 @@ public class UsrControler {
// EXT FUNC // EXT FUNC
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@Operation(description = "用户登录")
@Operation(summary = "用户登录")
@PostMapping("login") @PostMapping("login")
public AppRetV2<AppUser> login(String account, String password) throws AppException { public AppRetV2<AppUser> login(String account, String password) throws AppException {
return AppRetV2.success(appUserMgrService.login(account, password)); return AppRetV2.success(appUserMgrService.login(account, password));
} }
@Operation(description = "用户登出")
@Operation(summary = "用户登出")
@PostMapping("unlogin") @PostMapping("unlogin")
public AppRetV2<?> unlogin() { public AppRetV2<?> unlogin() {
return AppRetV2.success(); return AppRetV2.success();
} }
@Operation(description = "获取当前用户")
@Operation(summary = "获取当前用户")
@PostMapping("getLoginUsr") @PostMapping("getLoginUsr")
public AppRetV2<AppUser> getLoginUsr() { public AppRetV2<AppUser> getLoginUsr() {
return AppRetV2.success(new AppUser()); return AppRetV2.success(new AppUser());
} }
@Operation(description = "获取用户列表")
@Operation(summary = "获取用户列表")
@PostMapping("getUsrlist") @PostMapping("getUsrlist")
public AppRetV2<List<AppUser>> getUsrlist() { public AppRetV2<List<AppUser>> getUsrlist() {
return AppRetV2.success(appUserMgrService.getUsrlist()); return AppRetV2.success(appUserMgrService.getUsrlist());
} }
@Operation(description = "用户添加")
@Operation(summary = "用户添加")
@PostMapping("addUser") @PostMapping("addUser")
public AppRetV2<List<AppUser>> addUser(String account, String password, UsrRole role) throws AppException { public AppRetV2<List<AppUser>> addUser(String account, String password, UsrRole role) throws AppException {
return AppRetV2.success(appUserMgrService.addUser(account, password, role)); return AppRetV2.success(appUserMgrService.addUser(account, password, role));
} }
@Operation(description = "删除用户")
@Operation(summary = "删除用户")
@PostMapping("delUser") @PostMapping("delUser")
public AppRetV2<List<AppUser>> delUser(String account) { public AppRetV2<List<AppUser>> delUser(String account) {
return AppRetV2.success(appUserMgrService.delUser(account)); return AppRetV2.success(appUserMgrService.delUser(account));
} }
@Operation(description = "修改用户密码")
@Operation(summary = "修改用户密码")
@PostMapping("modifyUsrPwd") @PostMapping("modifyUsrPwd")
public AppRetV2<List<AppUser>> modifyUsrPwd(String account, String password) throws AppException { public AppRetV2<List<AppUser>> modifyUsrPwd(String account, String password) throws AppException {
return AppRetV2.success(appUserMgrService.modifyUsrPwd(account, password)); return AppRetV2.success(appUserMgrService.modifyUsrPwd(account, password));
} }
@Operation(description = "修改用户权限")
@Operation(summary = "修改用户权限")
@PostMapping("modifyUsrRole") @PostMapping("modifyUsrRole")
public AppRetV2<List<AppUser>> modifyUsrRole(String account, UsrRole usrRole) throws AppException { public AppRetV2<List<AppUser>> modifyUsrRole(String account, UsrRole usrRole) throws AppException {
return AppRetV2.success(appUserMgrService.modifyUsrRole(account, usrRole)); return AppRetV2.success(appUserMgrService.modifyUsrRole(account, usrRole));
} }
@Operation(description = "修改用户名称")
@Operation(summary = "修改用户名称")
@PostMapping("modifyUsrAccount") @PostMapping("modifyUsrAccount")
public AppRetV2<List<AppUser>> modifyUsrAccount(String account, String newaccount) throws AppException { public AppRetV2<List<AppUser>> modifyUsrAccount(String account, String newaccount) throws AppException {
return AppRetV2.success(appUserMgrService.modifyUsrAccount(account, newaccount)); return AppRetV2.success(appUserMgrService.modifyUsrAccount(account, newaccount));

70
src/main/java/a8k/service/app/appsetting/AppSettingsMgr.java → src/main/java/a8k/service/app/appsetting/AppSettingsMgrService.java

@ -15,24 +15,8 @@ import org.springframework.stereotype.Component;
@Component @Component
@ExtApiTab(cfg = ExtApiTabConfig.AppSettingsMgr) @ExtApiTab(cfg = ExtApiTabConfig.AppSettingsMgr)
public class AppSettingsMgr {
Logger logger = org.slf4j.LoggerFactory.getLogger(AppSettingsMgr.class);
static class ORDER {
final static int getAppSetting = 1;
final static int setLanguage = 2;
final static int setAutoPrint = 3;
final static int setAutoLogout = 4;
final static int setLISType = 5;
final static int setLISProtocol = 6;
final static int setLIFIf = 7;
final static int setLISAutoExport = 8;
final static int setLISSerialBaudrate = 9;
final static int setLISNetIp = 10;
final static int setLISNetPort = 11;
final static int setTemperature = 12;
}
public class AppSettingsMgrService {
Logger logger = org.slf4j.LoggerFactory.getLogger(AppSettingsMgrService.class);
@Resource @Resource
AppSettingDBService appSettingDBService; AppSettingDBService appSettingDBService;
@ -51,110 +35,84 @@ public class AppSettingsMgr {
// EXT FUNC // EXT FUNC
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ExtApiFn(name = "getAppSetting", group = "读取", order = ORDER.getAppSetting)
public AppSetting getAppSettings() { public AppSetting getAppSettings() {
return appSettingDBService.get(); return appSettingDBService.get();
} }
@ExtApiFn(name = "getEnumRangeLanguageType", group = "枚举类型")
public LanguageType[] getEnumRangeLanguageType() {
return LanguageType.values();
}
@ExtApiFn(name = "getEnumRangeAppSettingType", group = "枚举类型")
public LISTypeEnum[] getEnumRangeLISTypeEnum() {
return LISTypeEnum.values();
}
@ExtApiFn(name = "getEnumRangeLISProtocolEnum", group = "枚举类型")
public LISProtocolEnum[] getEnumRangeLISProtocolEnum() {
return LISProtocolEnum.values();
}
@ExtApiFn(name = "getEnumRangeLISIFTypeEnum", group = "枚举类型")
public LISIFType[] getEnumRangeLISIFType() {
return LISIFType.values();
}
@ExtApiFn(name = "getEnumRangeLISSerialBaudrateType", group = "枚举类型")
public LISSerialBaudrateType[] getEnumRangeLISSerialBaudrateType() {
return LISSerialBaudrateType.values();
}
@ExtApiFn(name = "setLanguage", group = "设置", order = ORDER.setLanguage)
public void setLanguage(LanguageType val) { public void setLanguage(LanguageType val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.language = val; setting.language = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setAutoPrint", group = "设置", order = ORDER.setAutoPrint)
public void setAutoPrint(Boolean val) { public void setAutoPrint(Boolean val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.autoPrint = val; setting.autoPrint = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setAutoLogout", group = "设置", order = ORDER.setAutoLogout)
public void setAutoLogout(Boolean val) { public void setAutoLogout(Boolean val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.autoLogout = val; setting.autoLogout = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISType", group = "设置", order = ORDER.setLISType)
public void setLISType(LISTypeEnum val) { public void setLISType(LISTypeEnum val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISType = val; setting.LISType = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISProtocol", group = "设置", order = ORDER.setLISProtocol)
public void setLISProtocol(LISProtocolEnum val) { public void setLISProtocol(LISProtocolEnum val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISProtocol = val; setting.LISProtocol = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLIFIf", group = "设置", order = ORDER.setLIFIf)
public void setLIFIf(LISIFType val) { public void setLIFIf(LISIFType val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LIFIf = val; setting.LIFIf = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISAutoExport", group = "设置", order = ORDER.setLISAutoExport)
public void setLISAutoExport(Boolean val) { public void setLISAutoExport(Boolean val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISAutoExport = val; setting.LISAutoExport = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISSerialBaudrate", group = "设置", order = ORDER.setLISSerialBaudrate)
public void setLISSerialBaudrate(LISSerialBaudrateType val) { public void setLISSerialBaudrate(LISSerialBaudrateType val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISSerialBaudrate = val; setting.LISSerialBaudrate = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISNetIp", group = "设置", order = ORDER.setLISNetIp)
public void setLISNetIp(String val) { public void setLISNetIp(String val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISNetIp = val; setting.LISNetIp = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setLISNetPort", group = "设置", order = ORDER.setLISNetPort)
public void setLISNetPort(Integer val) { public void setLISNetPort(Integer val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.LISNetPort = val; setting.LISNetPort = val;
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }
@ExtApiFn(name = "setTemperature", group = "设置", order = ORDER.setTemperature)
public void setTemperature(Integer val) { public void setTemperature(Integer val) {
AppSetting setting = appSettingDBService.get(); AppSetting setting = appSettingDBService.get();
setting.temperature = val;
setting.setTemperature(val);
appSettingDBService.update(setting); appSettingDBService.update(setting);
} }

8
src/main/java/a8k/service/app/background/TemperatureCtrlService.java

@ -1,7 +1,7 @@
package a8k.service.app.background; package a8k.service.app.background;
import a8k.service.app.appsetting.AppSettingsMgr;
import a8k.service.app.appsetting.AppSettingsMgrService;
import a8k.service.app.devicectrl.driver.TemperatureControlDriver; import a8k.service.app.devicectrl.driver.TemperatureControlDriver;
import a8k.service.db.type.AppSetting; import a8k.service.db.type.AppSetting;
import a8k.service.test.state.VirtualDevice; import a8k.service.test.state.VirtualDevice;
@ -22,7 +22,7 @@ public class TemperatureCtrlService {
VirtualDevice virtualDevice; VirtualDevice virtualDevice;
@Resource @Resource
AppSettingsMgr appSettingsMgr;
AppSettingsMgrService appSettingsMgrService;
Integer temperature = 0; Integer temperature = 0;
Thread temperatureCtrlThread = null; Thread temperatureCtrlThread = null;
@ -41,7 +41,7 @@ public class TemperatureCtrlService {
return; return;
} }
AppSetting setting = appSettingsMgr.getAppSettings();
AppSetting setting = appSettingsMgrService.getAppSettings();
temperature = setting.getTemperature(); temperature = setting.getTemperature();
temperatureControlDriver.startCtrlTemperature(temperature.doubleValue()); temperatureControlDriver.startCtrlTemperature(temperature.doubleValue());
@ -53,7 +53,7 @@ public class TemperatureCtrlService {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
Integer targetTemperature = appSettingsMgr.getAppSettings().getTemperature();
Integer targetTemperature = appSettingsMgrService.getAppSettings().getTemperature();
if (!targetTemperature.equals(temperature)) { if (!targetTemperature.equals(temperature)) {
temperature = targetTemperature; temperature = targetTemperature;
temperatureControlDriver.startCtrlTemperature(temperature.doubleValue()); temperatureControlDriver.startCtrlTemperature(temperature.doubleValue());

5
src/main/java/a8k/service/db/AppSettingDBService.java

@ -6,11 +6,13 @@ import a8k.service.db.type.AppSetting;
import a8k.utils.ZSqliteJdbcHelper; import a8k.utils.ZSqliteJdbcHelper;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.util.List; import java.util.List;
@ -19,6 +21,7 @@ import java.util.List;
* ID卡数据库服务 * ID卡数据库服务
*/ */
@Component @Component
@Validated
public class AppSettingDBService { public class AppSettingDBService {
private static final Logger logger = LoggerFactory.getLogger(AppSettingDBService.class); private static final Logger logger = LoggerFactory.getLogger(AppSettingDBService.class);
private static final String tableName = "zapp_a8k_appsetting"; private static final String tableName = "zapp_a8k_appsetting";
@ -53,7 +56,7 @@ public class AppSettingDBService {
return list.get(0); return list.get(0);
} }
public void update(AppSetting appSetting) {
public void update(@Valid AppSetting appSetting) {
ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, AppSetting.class, appSetting); ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, AppSetting.class, appSetting);
} }

63
src/main/java/a8k/service/db/type/AppSetting.java

@ -1,20 +1,61 @@
package a8k.service.db.type; package a8k.service.db.type;
import a8k.service.db.type.appsetting.settingenum.*; import a8k.service.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; import lombok.Data;
@Data @Data
@Schema(description = "AppSetting")
public class AppSetting { public class AppSetting {
public int id = 0;
public LanguageType language = LanguageType.zh_CN;
public Boolean autoPrint = false;
public Boolean autoLogout = false;
public LISTypeEnum LISType = LISTypeEnum.SINGLE_TRACK;
public LISProtocolEnum LISProtocol = LISProtocolEnum.Boditech;
public LISIFType LIFIf = LISIFType.NETWORK;
public Boolean LISAutoExport = true;
public int id = 0;
@Schema(description = "语言")
@NotNull
public LanguageType language = LanguageType.zh_CN;
@Schema(description = "自动打印报告")
@NotNull
public Boolean autoPrint = false;
@Schema(description = "自动登出")
@NotNull
public Boolean autoLogout = false;
@Schema(description = "LIS类型")
@NotNull
public LISTypeEnum LISType = LISTypeEnum.SINGLE_TRACK;
@Schema(description = "LIS协议")
@NotNull
public LISProtocolEnum LISProtocol = LISProtocolEnum.Boditech;
@Schema(description = "LIS接口")
@NotNull
public LISIFType LIFIf = LISIFType.NETWORK;
@Schema(description = "LIS是否自动上报报告")
@NotNull
public Boolean LISAutoExport = true;
@Schema(description = "LIS串口波特率")
@NotNull
public LISSerialBaudrateType LISSerialBaudrate = LISSerialBaudrateType.B9600; public LISSerialBaudrateType LISSerialBaudrate = LISSerialBaudrateType.B9600;
public String LISNetIp = "127.0.0.1";
public Integer LISNetPort = 9973;
public Integer temperature = 25;
@Schema(description = "LISIP")
@NotNull
public String LISNetIp = "127.0.0.1";
@Schema(description = "LIS端口")
@NotNull
public Integer LISNetPort = 9973;
@Schema(description = "设备温度")
@NotNull
@Min(15)
@Max(35)
public Integer temperature = 25;
} }

7
src/main/java/a8k/type/appret/AppRetV1.java

@ -4,7 +4,10 @@ import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import jakarta.validation.ConstraintViolationException;
import jakarta.validation.ValidationException;
import lombok.Getter; import lombok.Getter;
import org.springframework.web.method.annotation.HandlerMethodValidationException;
public class AppRetV1 { public class AppRetV1 {
// 错误信息 // 错误信息
@ -36,6 +39,10 @@ public class AppRetV1 {
AppRetV1 r = new AppRetV1(); AppRetV1 r = new AppRetV1();
if (e instanceof AppException hexcep) { if (e instanceof AppException hexcep) {
r.ecode = hexcep.error; r.ecode = hexcep.error;
} else if (e instanceof ValidationException ex) {
r.ecode = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, ex.getLocalizedMessage());
} else if (e instanceof HandlerMethodValidationException validationE) {
r.ecode = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, validationE.getMessage());
} else { } else {
r.ecode = new AppCodeError(e.getMessage()); r.ecode = new AppCodeError(e.getMessage());
} }

2
src/main/java/a8k/type/appret/AppRetV2.java

@ -36,7 +36,7 @@ public class AppRetV2<T> {
return r; return r;
} }
public static AppRetV2<?> success() {
public static AppRetV2<Void> success() {
return new AppRetV2<>(); return new AppRetV2<>();
} }

4
src/main/java/a8k/type/ecode/AppCodeError.java

@ -11,5 +11,9 @@ public class AppCodeError extends AppError {
this.exmsg = exmsg; this.exmsg = exmsg;
} }
public AppCodeError(A8kEcode ecode, String exmsg) {
super(ecode);
this.exmsg = exmsg;
}
} }
Loading…
Cancel
Save