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());