From 7e74d7c42d807a2adaedb8cdb638383083207a72 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Wed, 8 May 2024 01:55:00 +0800 Subject: [PATCH] update --- .../weka/initializer/WekaInitializer.java | 37 ++++++ .../src/views/TestCase/TestResult.vue | 125 ++++++++++++++++++ .../controller/TestScenarioWebController.java | 20 --- .../java/io/sc/engine/st/enums/ValueType.java | 47 ++++++- .../st/jpa/entity/TestScenarioEntity.java | 107 --------------- .../repository/TestScenarioRepository.java | 10 -- .../st/service/TestScenarioService.java | 8 -- .../service/impl/TestScenarioServiceImpl.java | 12 -- .../io/sc/engine/st/vo/TestScenarioVo.java | 70 ---------- .../platform/components/echarts/WEcharts.vue | 2 +- .../util-components-generator.cjs | 29 +++- .../util-components-generator.cjs | 29 +++- .../core/response/ValidateException.java | 1 - .../io/sc/platform/core/i18n/words.properties | 5 +- .../platform/core/i18n/words_tw_CN.properties | 5 +- .../platform/core/i18n/words_zh_CN.properties | 5 +- .../orm/api/validator/ValidatorMessage.java | 5 + .../orm/api/validator/ValidatorRegExp.java | 8 ++ .../orm/api/i18n/validator.properties | 1 + .../orm/api/i18n/validator_tw_CN.properties | 1 + .../orm/api/i18n/validator_zh_CN.properties | 1 + 21 files changed, 285 insertions(+), 243 deletions(-) create mode 100644 io.sc.algorithm.weka/src/main/java/io/sc/algorithm/weka/initializer/WekaInitializer.java create mode 100644 io.sc.engine.st.frontend/src/views/TestCase/TestResult.vue delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/controller/TestScenarioWebController.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/TestScenarioEntity.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/TestScenarioRepository.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/service/TestScenarioService.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/TestScenarioServiceImpl.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/vo/TestScenarioVo.java create mode 100644 io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorMessage.java create mode 100644 io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorRegExp.java create mode 100644 io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator.properties create mode 100644 io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_tw_CN.properties create mode 100644 io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_zh_CN.properties diff --git a/io.sc.algorithm.weka/src/main/java/io/sc/algorithm/weka/initializer/WekaInitializer.java b/io.sc.algorithm.weka/src/main/java/io/sc/algorithm/weka/initializer/WekaInitializer.java new file mode 100644 index 00000000..24ed1a8d --- /dev/null +++ b/io.sc.algorithm.weka/src/main/java/io/sc/algorithm/weka/initializer/WekaInitializer.java @@ -0,0 +1,37 @@ +package io.sc.algorithm.weka.initializer; + +import io.sc.platform.core.initializer.ApplicationInitializer; +import io.sc.platform.core.initializer.ApplicationInitializerExecuteException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import weka.core.WekaPackageManager; + +public class WekaInitializer implements ApplicationInitializer { + private static final Logger log = LoggerFactory.getLogger(WekaInitializer.class); + private Boolean isInitialized =null; + + @Override + public void init(ApplicationContext applicationContext) { + } + + @Override + public int getOrder() { + return 1400; + } + + @Override + public synchronized boolean isInitialized() { + if(isInitialized!=null) { + return isInitialized; + } + isInitialized =false; + return isInitialized; + } + + @Override + public void execute() throws ApplicationInitializerExecuteException { + //WekaPackageManager.loadPackages(true); + isInitialized =true; + } +} diff --git a/io.sc.engine.st.frontend/src/views/TestCase/TestResult.vue b/io.sc.engine.st.frontend/src/views/TestCase/TestResult.vue new file mode 100644 index 00000000..1943141c --- /dev/null +++ b/io.sc.engine.st.frontend/src/views/TestCase/TestResult.vue @@ -0,0 +1,125 @@ + + diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/TestScenarioWebController.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/TestScenarioWebController.java deleted file mode 100644 index bec0813d..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/TestScenarioWebController.java +++ /dev/null @@ -1,20 +0,0 @@ -package io.sc.engine.st.controller; - -import io.sc.engine.st.jpa.entity.TestScenarioEntity; -import io.sc.engine.st.jpa.repository.TestScenarioRepository; -import io.sc.engine.st.service.TestScenarioService; -import io.sc.engine.st.vo.TestScenarioVo; -import io.sc.platform.mvc.controller.support.RestCrudController; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.Locale; - -@RestController("io.sc.engine.st.controller.TestScenarioWebController") -@RequestMapping("/api/st/testScenario") -public class TestScenarioWebController extends RestCrudController { - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/enums/ValueType.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/enums/ValueType.java index 8bbfee8f..39210a9c 100644 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/enums/ValueType.java +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/enums/ValueType.java @@ -1,10 +1,55 @@ package io.sc.engine.st.enums; +import io.sc.platform.core.util.DateUtil; +import org.springframework.util.StringUtils; + +import java.text.ParseException; +import java.util.Date; + /** * 值类型枚举 */ public enum ValueType { - NUMBER, //数字 + NUMERIC, //数字 STRING, //字符串 DATE; //日期 + + /** + * 获取值类型对应的 Java 类 + * @return 值类型对应的 Java 类 + */ + public Class getJavaType(){ + switch (this){ + case NUMERIC: + return Double.class; + case STRING: + return String.class; + case DATE: + return Date.class; + default: + return null; + } + } + + /** + * 获取值 + * @param value 值的字符串 + * @return 值对象 + * @throws ParseException 解析错误 + */ + public Object getValue(String value) throws ParseException { + if(!StringUtils.hasText(value)){ + return null; + } + switch (this){ + case NUMERIC: + return Double.parseDouble(value); + case STRING: + return value; + case DATE: + return DateUtil.tryParseDate(value); + default: + return null; + } + } } diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/TestScenarioEntity.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/TestScenarioEntity.java deleted file mode 100644 index 2a38c3eb..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/TestScenarioEntity.java +++ /dev/null @@ -1,107 +0,0 @@ -package io.sc.engine.st.jpa.entity; - -import io.sc.engine.st.enums.StatisticalPeriodType; -import io.sc.engine.st.vo.TestScenarioVo; -import io.sc.platform.orm.entity.CorporationAuditorEntity; -import org.hibernate.annotations.GenericGenerator; - -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import java.util.Date; - -@Entity(name="io.sc.engine.st.jpa.entity.TestScenarioEntity") -@Table(name="ST_TEST_SCENARIO") -public class TestScenarioEntity extends CorporationAuditorEntity { - @Id - @GeneratedValue(generator = "system-uuid") - @GenericGenerator(name = "system-uuid", strategy = "uuid2") - @Column(name="ID_", length=36) - @Size(max=36) - protected String id; - - @Column(name="INDICATOR_", length=255) - @NotBlank - @Size(max=255) - protected String indicator; - - @Column(name="LOW_GRADE_") - protected Double lowGrade; - - @Column(name="MID_GRADE_") - protected Double midGrade; - - @Column(name="HIGH_GRADE_") - protected Double highGrade; - - @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="TEST_CASE_ID_") - protected TestCaseEntity testCase; - - @Override - public TestScenarioVo toVo() { - TestScenarioVo vo =new TestScenarioVo(); - super.toVo(vo); - vo.setId(this.getId()); - vo.setIndicator(this.getIndicator()); - vo.setLowGrade(this.getLowGrade()); - vo.setMidGrade(this.getMidGrade()); - vo.setHighGrade(this.getHighGrade()); - vo.setTestCase(this.getTestCase()==null?null:this.getTestCase().getId()); - return vo; - } - - public TestScenarioEntity(){} - - public TestScenarioEntity(String id) { - this.id = id; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getIndicator() { - return indicator; - } - - public void setIndicator(String indicator) { - this.indicator = indicator; - } - - public Double getLowGrade() { - return lowGrade; - } - - public void setLowGrade(Double lowGrade) { - this.lowGrade = lowGrade; - } - - public Double getMidGrade() { - return midGrade; - } - - public void setMidGrade(Double midGrade) { - this.midGrade = midGrade; - } - - public Double getHighGrade() { - return highGrade; - } - - public void setHighGrade(Double highGrade) { - this.highGrade = highGrade; - } - - public TestCaseEntity getTestCase() { - return testCase; - } - - public void setTestCase(TestCaseEntity testCase) { - this.testCase = testCase; - } -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/TestScenarioRepository.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/TestScenarioRepository.java deleted file mode 100644 index d80b59a9..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/TestScenarioRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.sc.engine.st.jpa.repository; - -import io.sc.engine.st.jpa.entity.TestScenarioEntity; -import io.sc.platform.orm.repository.DaoRepository; -import org.springframework.stereotype.Service; - -@Service("io.sc.engine.st.jpa.repository.TestScenarioRepository") -public interface TestScenarioRepository extends DaoRepository{ - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/TestScenarioService.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/service/TestScenarioService.java deleted file mode 100644 index 63adc6c5..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/TestScenarioService.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.sc.engine.st.service; - -import io.sc.engine.st.jpa.entity.TestScenarioEntity; -import io.sc.engine.st.jpa.repository.TestScenarioRepository; -import io.sc.platform.orm.service.DaoService; - -public interface TestScenarioService extends DaoService{ -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/TestScenarioServiceImpl.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/TestScenarioServiceImpl.java deleted file mode 100644 index cec955e4..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/TestScenarioServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.engine.st.service.impl; - -import io.sc.engine.st.jpa.entity.TestScenarioEntity; -import io.sc.engine.st.jpa.repository.TestScenarioRepository; -import io.sc.engine.st.service.TestScenarioService; -import io.sc.platform.orm.service.impl.DaoServiceImpl; -import org.springframework.stereotype.Service; - -@Service("io.sc.engine.st.service.impl.TestScenarioServiceImpl") -public class TestScenarioServiceImpl extends DaoServiceImpl implements TestScenarioService { - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/TestScenarioVo.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/TestScenarioVo.java deleted file mode 100644 index d3432fb5..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/TestScenarioVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package io.sc.engine.st.vo; - -import io.sc.engine.st.enums.StatisticalPeriodType; -import io.sc.engine.st.jpa.entity.TestScenarioEntity; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; - -import javax.persistence.Column; -import javax.persistence.FetchType; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import java.util.Date; - -public class TestScenarioVo extends CorporationAuditorVo { - protected String id; - protected String indicator; - protected Double lowGrade; - protected Double midGrade; - protected Double highGrade; - protected String testCase; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getIndicator() { - return indicator; - } - - public void setIndicator(String indicator) { - this.indicator = indicator; - } - - public Double getLowGrade() { - return lowGrade; - } - - public void setLowGrade(Double lowGrade) { - this.lowGrade = lowGrade; - } - - public Double getMidGrade() { - return midGrade; - } - - public void setMidGrade(Double midGrade) { - this.midGrade = midGrade; - } - - public Double getHighGrade() { - return highGrade; - } - - public void setHighGrade(Double highGrade) { - this.highGrade = highGrade; - } - - public String getTestCase() { - return testCase; - } - - public void setTestCase(String testCase) { - this.testCase = testCase; - } -} diff --git a/io.sc.platform.core.frontend/src/platform/components/echarts/WEcharts.vue b/io.sc.platform.core.frontend/src/platform/components/echarts/WEcharts.vue index 7126ba0f..5c14537b 100644 --- a/io.sc.platform.core.frontend/src/platform/components/echarts/WEcharts.vue +++ b/io.sc.platform.core.frontend/src/platform/components/echarts/WEcharts.vue @@ -77,7 +77,7 @@ onUpdated(() => { if (props.optionUrl) { setOptionFromUrl(); } else { - setOption(echartsOption); + setOption(props.option); } }); diff --git a/io.sc.platform.core.frontend/template-project/util-components-generator.cjs b/io.sc.platform.core.frontend/template-project/util-components-generator.cjs index 884a774d..e61b3663 100644 --- a/io.sc.platform.core.frontend/template-project/util-components-generator.cjs +++ b/io.sc.platform.core.frontend/template-project/util-components-generator.cjs @@ -13,16 +13,13 @@ content +='/**\n'; content +=' * 此文件为自动生成文件,请勿修改\n'; content +=' */\n\n'; for(const route of routesJson){ - const componentName =route.component.replaceAll('.','_'); - const componentPath =route.componentPath; - content +=`import ${componentName} from '${componentPath}';\n`; + generateImportComonents(route); } content +='\n'; content +='const localComponents = { \n'; for(const route of routesJson){ - const componentName =route.component.replaceAll('.','_'); - content +=`'${route.component}': ${componentName},\n`; + generateComonents(route); } content +='}\n\n'; content +='export default localComponents;\n'; @@ -30,3 +27,25 @@ content +='export default localComponents;\n'; fs.writeFileSync('./src/components/index.ts', content); console.info('components generated!'); + + +function generateImportComonents(route){ + const componentName =route.component.replaceAll('.','_'); + const componentPath =route.componentPath; + content +=`import ${componentName} from '${componentPath}';\n`; + if(route.children && route.children.length){ + for(const child of route.children){ + generateImportComonents(child); + } + } +} + +function generateComonents(route){ + const componentName =route.component.replaceAll('.','_'); + content +=`'${route.component}': ${componentName},\n`; + if(route.children && route.children.length){ + for(const child of route.children){ + generateComonents(child); + } + } +} diff --git a/io.sc.platform.core.frontend/util-components-generator.cjs b/io.sc.platform.core.frontend/util-components-generator.cjs index 884a774d..e61b3663 100644 --- a/io.sc.platform.core.frontend/util-components-generator.cjs +++ b/io.sc.platform.core.frontend/util-components-generator.cjs @@ -13,16 +13,13 @@ content +='/**\n'; content +=' * 此文件为自动生成文件,请勿修改\n'; content +=' */\n\n'; for(const route of routesJson){ - const componentName =route.component.replaceAll('.','_'); - const componentPath =route.componentPath; - content +=`import ${componentName} from '${componentPath}';\n`; + generateImportComonents(route); } content +='\n'; content +='const localComponents = { \n'; for(const route of routesJson){ - const componentName =route.component.replaceAll('.','_'); - content +=`'${route.component}': ${componentName},\n`; + generateComonents(route); } content +='}\n\n'; content +='export default localComponents;\n'; @@ -30,3 +27,25 @@ content +='export default localComponents;\n'; fs.writeFileSync('./src/components/index.ts', content); console.info('components generated!'); + + +function generateImportComonents(route){ + const componentName =route.component.replaceAll('.','_'); + const componentPath =route.componentPath; + content +=`import ${componentName} from '${componentPath}';\n`; + if(route.children && route.children.length){ + for(const child of route.children){ + generateImportComonents(child); + } + } +} + +function generateComonents(route){ + const componentName =route.component.replaceAll('.','_'); + content +=`'${route.component}': ${componentName},\n`; + if(route.children && route.children.length){ + for(const child of route.children){ + generateComonents(child); + } + } +} diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/response/ValidateException.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/response/ValidateException.java index 732b9afd..2b213498 100644 --- a/io.sc.platform.core/src/main/java/io/sc/platform/core/response/ValidateException.java +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/response/ValidateException.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; public class ValidateException extends RuntimeException{ - private static final long serialVersionUID = -3426523003097063425L; private List errors =new ArrayList(); public ValidateException(List errors){ diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties index 7b301659..1b8351bd 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties @@ -215,4 +215,7 @@ target=Target application=Application quarter=Quarter endDate=End Date -period=Period \ No newline at end of file +period=Period +algorithm=Algorithm +data=Data +synchronize=Synchronize \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties index a8713562..a5567267 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties @@ -215,4 +215,7 @@ target=\u76EE\u6A19 application=\u61C9\u7528 quarter=\u5B63 endDate=\u7D50\u675F\u65E5\u671F -period=\u9031\u671F \ No newline at end of file +period=\u9031\u671F +algorithm=\u7B97\u6CD5 +data=\u6578\u64DA +synchronize=\u540C\u6B65 \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties index f7c55243..f37c97b8 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties @@ -215,4 +215,7 @@ target=\u76EE\u6807 application=\u5E94\u7528 quarter=\u5B63 endDate=\u7ED3\u675F\u65E5\u671F -period=\u5468\u671F \ No newline at end of file +period=\u5468\u671F +algorithm=\u7B97\u6CD5 +data=\u6570\u636E +synchronize=\u540C\u6B65 \ No newline at end of file diff --git a/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorMessage.java b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorMessage.java new file mode 100644 index 00000000..ff34d8fe --- /dev/null +++ b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorMessage.java @@ -0,0 +1,5 @@ +package io.sc.platform.orm.api.validator; + +public class ValidatorMessage { + public static final String ID ="{io.sc.platform.orm.api.validator.ValidatorMessage.ID}"; +} diff --git a/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorRegExp.java b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorRegExp.java new file mode 100644 index 00000000..48055248 --- /dev/null +++ b/io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/validator/ValidatorRegExp.java @@ -0,0 +1,8 @@ +package io.sc.platform.orm.api.validator; + +public class ValidatorRegExp { + /** + * 合法 ID 正则表达式 + */ + public static final String ID ="^[a-zA-Z][a-zA-Z0-9_]*"; +} diff --git a/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator.properties b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator.properties new file mode 100644 index 00000000..7602ff54 --- /dev/null +++ b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator.properties @@ -0,0 +1 @@ +io.sc.platform.orm.api.validator.ValidatorMessage.ID=It can only consist of letters, numbers, or underscores, and must begin with a letter! \ No newline at end of file diff --git a/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_tw_CN.properties b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_tw_CN.properties new file mode 100644 index 00000000..95fe5d11 --- /dev/null +++ b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_tw_CN.properties @@ -0,0 +1 @@ +io.sc.platform.orm.api.validator.ValidatorMessage.ID=\u53EA\u80FD\u7531\u5B57\u6BCD\u3001\u6578\u5B57\u6216\u4E0B\u5283\u7DDA\u7D44\u6210,\u4E14\u5FC5\u9808\u4EE5\u5B57\u6BCD\u958B\u982D! \ No newline at end of file diff --git a/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_zh_CN.properties b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_zh_CN.properties new file mode 100644 index 00000000..c0a7395f --- /dev/null +++ b/io.sc.platform.orm.api/src/main/resources/io/sc/platform/orm/api/i18n/validator_zh_CN.properties @@ -0,0 +1 @@ +io.sc.platform.orm.api.validator.ValidatorMessage.ID=\u53EA\u80FD\u7531\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210,\u4E14\u5FC5\u987B\u4EE5\u5B57\u6BCD\u5F00\u5934! \ No newline at end of file