diff --git a/epmet-commons/epmet-commons-mybatis/pom.xml b/epmet-commons/epmet-commons-mybatis/pom.xml
index 171b56af2f..502ef21e81 100644
--- a/epmet-commons/epmet-commons-mybatis/pom.xml
+++ b/epmet-commons/epmet-commons-mybatis/pom.xml
@@ -70,6 +70,12 @@
pagehelper-spring-boot-starter
1.2.12
+
+
+
+ org.flywaydb
+ flyway-core
+
diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml
index 53aec4fb80..d59b1f9ac2 100644
--- a/epmet-module/gov-access/gov-access-server/pom.xml
+++ b/epmet-module/gov-access/gov-access-server/pom.xml
@@ -112,7 +112,7 @@
- epmet_gov_access_user
+ epmet_gov_org_user
EpmEt-db-UsEr
0
@@ -127,6 +127,9 @@
false
+
+
+ false
@@ -157,6 +160,9 @@
false
+
+
+ true
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/GovAccessApplication.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/GovAccessApplication.java
index f4781aa923..469de9dc52 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/GovAccessApplication.java
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/GovAccessApplication.java
@@ -6,15 +6,15 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
- *
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
+//@EnableConfigurationProperties(value = {DatabaseProperties.class})
public class GovAccessApplication {
- public static void main(String[] args) {
- SpringApplication.run(GovAccessApplication.class, args);
- }
+ public static void main(String[] args) {
+ SpringApplication.run(GovAccessApplication.class, args);
+ }
}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DatabaseProperties.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DatabaseProperties.java
new file mode 100644
index 0000000000..e9282216d8
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DatabaseProperties.java
@@ -0,0 +1,15 @@
+//package com.epmet.config;
+//
+//import lombok.Data;
+//import org.springframework.boot.context.properties.ConfigurationProperties;
+//
+//@ConfigurationProperties(prefix = "spring.datasource.druid")
+//@Data
+//public class DatabaseProperties {
+//
+// private String driverClassName;
+// private String url;
+// private String username;
+// private String password;
+//
+//}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DbMigrationConfig.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DbMigrationConfig.java
new file mode 100644
index 0000000000..b9fcdfb160
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/config/DbMigrationConfig.java
@@ -0,0 +1,29 @@
+//package com.epmet.config;
+//
+//import org.flywaydb.core.Flyway;
+//import org.springframework.beans.factory.annotation.Autowired;
+//
+//import javax.annotation.PostConstruct;
+//
+///**
+// * 数据库迁移配置
+// */
+//@Configuration
+//public class DbMigrationConfig {
+//
+// @Autowired
+// private DatabaseProperties databaseProperties;
+//
+// @PostConstruct
+// public void migrate() {
+// Flyway flyway = Flyway.configure().dataSource(
+// databaseProperties.getUrl(),
+// databaseProperties.getUsername(),
+// databaseProperties.getPassword())
+// .baselineOnMigrate(true)
+// .load();
+//
+// flyway.migrate();
+// }
+//
+//}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/DemoController.java
new file mode 100644
index 0000000000..357ea2c9af
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/DemoController.java
@@ -0,0 +1,64 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
+import lombok.Data;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.constraints.NotBlank;
+
+@RestController
+@RequestMapping("demo")
+public class DemoController {
+
+ @PostMapping("adduser")
+ public Result addUser(@RequestBody UserFormDTO form) {
+ ValidatorUtils.validateEntity(form, UserFormDTO.AddUserShowGroup.class, UserFormDTO.AddUserInternalGroup.class);
+ System.out.println(form);
+ return new Result();
+ }
+
+}
+
+@Data
+class UserFormDTO {
+ //>>>>>>>>>>>>>>>>>校验分组开始>>>>>>>>>>>>>>>>>>>>>
+ /**
+ * 添加用户操作的内部异常分组
+ * 出现错误会提示给前端7000错误码,返回信息为:服务器开小差...
+ */
+ public interface AddUserInternalGroup {}
+
+ /**
+ * 添加用户操作的用户可见异常分组
+ * 该分组用于校验需要返回给前端错误信息提示的列,需要继承CustomerClientShowGroup
+ * 返回错误码为8999,提示信息为DTO中具体的列的校验注解message的内容
+ */
+ public interface AddUserShowGroup extends CustomerClientShowGroup {}
+
+ // <<<<<<<<<<<<<<<<<<<校验分组结束<<<<<<<<<<<<<<<<<<<<<<<<
+
+ /**
+ * 该字段在查询用户和添加用户的时候都要校验,所以在groups中会添加2个分组,校验器会优先校验继承了CustomerClientShowGroup
+ * 的分组
+ * 1.该分组校验出错,直接将信息返回客户端,(多个字段有错误,多个字段的错误信息
+ * 拼接起来,逗号分隔,详见ValidatorUtils#validadtorEntity()方法)
+ * 2.该分组校验成功,则继续往下,校验内部错误,若出现内部错误,则返回7000,服务器开小差...
+ */
+ @NotBlank(message = "请输入姓名信息", groups = { AddUserInternalGroup.class, AddUserShowGroup.class })
+ private String name;
+
+ /**
+ * 用户别名,只在内部传输,因此它所属的分组不能继承CustomerClientShowGroup
+ */
+ @NotBlank(message = "用户别名不能为空", groups = { AddUserInternalGroup.class })
+ private String alias;
+
+ @NotBlank(message = "请输入地址信息", groups = { AddUserShowGroup.class })
+ private String address;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml
index cf118b769a..f1159f2892 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml
@@ -50,6 +50,17 @@ spring:
# - data-id: common.yaml
# group: ${spring.cloud.nacos.config.group}
# refresh: true
+
+ # 数据迁移工具flyway
+ flyway:
+ enabled: @spring.flyway.enabled@
+ locations: classpath:db/migration
+ url: @spring.datasource.druid.url@
+ user: @spring.datasource.druid.username@
+ password: @spring.datasource.druid.password@
+ baseline-on-migrate: true
+
+
management:
endpoints:
web:
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V2__DemoSql.sql b/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V2__DemoSql.sql
new file mode 100644
index 0000000000..ecd68455d3
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V2__DemoSql.sql
@@ -0,0 +1,4 @@
+-- CREATE TABLE epmet_gov_access.device_t (
+-- device_id bigint(11) primary KEY auto_increment,
+-- device_name varchar(20) NOT NULL
+-- )
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql b/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/epmet_gov_access.sql
similarity index 100%
rename from epmet-module/gov-access/gov-access-server/src/main/resources/db.migration/epmet_gov_access.sql
rename to epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/epmet_gov_access.sql
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
index e49fb888c8..37439b5275 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
@@ -281,7 +281,7 @@ public class AgencyServiceImpl implements AgencyService {
CustomerAgencyEntity entity = ConvertUtils.sourceToTarget(form, CustomerAgencyEntity.class);
entity.setAllParentName("");
entity.setOrganizationName(form.getAgencyName());
- entity.setPids("0");
+ entity.setPids("");
entity.setPid("0");
entity.setTotalUser(0);
entity.setCustomerId(form.getCustomerId());