Browse Source

update dubhe server

tags/v0.4.0
之江天枢 3 years ago
parent
commit
c1fe6eceaf
100 changed files with 5580 additions and 0 deletions
  1. +9
    -0
      dubhe-server/HELP.md
  2. +154
    -0
      dubhe-server/admin/pom.xml
  3. +34
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/AdminApplication.java
  4. +54
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/client/AuthServiceClient.java
  5. +55
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/client/fallback/AuthServiceFallback.java
  6. +105
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/AuthCodeMapper.java
  7. +59
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DataSequenceMapper.java
  8. +59
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DictDetailMapper.java
  9. +81
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DictMapper.java
  10. +45
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/LogMapper.java
  11. +83
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/MenuMapper.java
  12. +111
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/PermissionMapper.java
  13. +27
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/ResourceSpecsMapper.java
  14. +163
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/RoleMapper.java
  15. +58
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/TeamMapper.java
  16. +26
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserAvatarMapper.java
  17. +86
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserGroupMapper.java
  18. +147
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserMapper.java
  19. +46
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserRoleMapper.java
  20. +45
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/MenuProvider.java
  21. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/RoleProvider.java
  22. +32
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/TeamProvider.java
  23. +45
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/UserProvider.java
  24. +47
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeCreateDTO.java
  25. +36
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeDeleteDTO.java
  26. +37
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeQueryDTO.java
  27. +46
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeUpdateDTO.java
  28. +39
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthPermissionUpdDTO.java
  29. +71
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthUpdateDTO.java
  30. +48
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthUserDTO.java
  31. +51
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictCreateDTO.java
  32. +42
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDTO.java
  33. +36
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDeleteDTO.java
  34. +53
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailCreateDTO.java
  35. +53
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailDTO.java
  36. +38
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailDeleteDTO.java
  37. +38
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailQueryDTO.java
  38. +60
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailUpdateDTO.java
  39. +35
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictQueryDTO.java
  40. +32
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictSmallDTO.java
  41. +33
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictSmallQueryDTO.java
  42. +58
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictUpdateDTO.java
  43. +48
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/EmailDTO.java
  44. +37
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ExtConfigDTO.java
  45. +50
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogDTO.java
  46. +41
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogQueryDTO.java
  47. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogSmallDTO.java
  48. +94
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuCreateDTO.java
  49. +82
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuDTO.java
  50. +38
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuDeleteDTO.java
  51. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuQueryDTO.java
  52. +117
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuUpdateDTO.java
  53. +72
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/NodeDTO.java
  54. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionCreateDTO.java
  55. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionDTO.java
  56. +34
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionDeleteDTO.java
  57. +33
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionQueryDTO.java
  58. +47
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionUpdateDTO.java
  59. +52
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PodDTO.java
  60. +74
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsCreateDTO.java
  61. +40
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsDeleteDTO.java
  62. +51
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsQueryDTO.java
  63. +77
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsUpdateDTO.java
  64. +39
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleAuthUpdateDTO.java
  65. +55
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleCreateDTO.java
  66. +48
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleDTO.java
  67. +38
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleDeleteDTO.java
  68. +44
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleQueryDTO.java
  69. +35
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleSmallDTO.java
  70. +75
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleUpdateDTO.java
  71. +52
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamCreateDTO.java
  72. +50
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamQueryDTO.java
  73. +55
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamUpdateDTO.java
  74. +33
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamUserRoleSmallDTO.java
  75. +34
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserAvatarUpdateDTO.java
  76. +55
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserCenterUpdateDTO.java
  77. +84
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserCreateDTO.java
  78. +40
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserDeleteDTO.java
  79. +62
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserEmailUpdateDTO.java
  80. +50
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupDTO.java
  81. +36
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupDeleteDTO.java
  82. +41
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupQueryDTO.java
  83. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupUpdDTO.java
  84. +36
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserPassUpdateDTO.java
  85. +53
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserQueryDTO.java
  86. +72
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRegisterDTO.java
  87. +51
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRegisterMailDTO.java
  88. +57
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserResetPasswordDTO.java
  89. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRoleUpdateDTO.java
  90. +40
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserStateUpdateDTO.java
  91. +86
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserUpdateDTO.java
  92. +43
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Auth.java
  93. +45
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/AuthPermission.java
  94. +45
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/DataSequence.java
  95. +75
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Dict.java
  96. +77
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/DictDetail.java
  97. +46
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Group.java
  98. +106
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Log.java
  99. +109
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Menu.java
  100. +48
    -0
      dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Permission.java

+ 9
- 0
dubhe-server/HELP.md View File

@@ -0,0 +1,9 @@
# Getting Started

### Reference Documentation
For further reference, please consider the following sections:

* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.4.0/maven-plugin/reference/html/)
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.4.0/maven-plugin/reference/html/#build-image)


+ 154
- 0
dubhe-server/admin/pom.xml View File

@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>server</artifactId>
<groupId>org.dubhe</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>admin</artifactId>
<name>Admin 系统服务</name>
<dependencies>
<!-- Biz 通用配置 -->
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>base</artifactId>
<version>${org.dubhe.biz.base.version}</version>
</dependency>
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>file</artifactId>
<version>${org.dubhe.biz.file.version}</version>
</dependency>
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>data-permission</artifactId>
<version>${org.dubhe.biz.data-permission.version}</version>
</dependency>
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>redis</artifactId>
<version>${org.dubhe.biz.redis.version}</version>
</dependency>
<!-- 注册中心 -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>registration</artifactId>
<version>${org.dubhe.cloud.registration.version}</version>
</dependency>
<!-- 配置中心 -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>configuration</artifactId>
<version>${org.dubhe.cloud.configuration.version}</version>
</dependency>
<!-- Cloud swagger -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>swagger</artifactId>
<version>${org.dubhe.cloud.swagger.version}</version>
</dependency>
<!-- 统一Rest返回工具结构 -->
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>data-response</artifactId>
<version>${org.dubhe.biz.data-response.version}</version>
</dependency>
<!-- 统一权限配置 -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>auth-config</artifactId>
<version>${org.dubhe.cloud.auth-config.version}</version>
</dependency>
<!-- 远程调用 -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>remote-call</artifactId>
<version>${org.dubhe.cloud.remote-call.version}</version>
</dependency>
<!-- log依赖-->
<dependency>
<groupId>org.dubhe.biz</groupId>
<artifactId>log</artifactId>
<version>${org.dubhe.biz.log.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--springboot mail-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>


<!--mapStruct依赖-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
<scope>provided</scope>
</dependency>
<!--验证码-->
<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
<version>${easy-captcha.version}</version>
</dependency>
<!-- recycle 垃圾回收-->
<dependency>
<groupId>org.dubhe</groupId>
<artifactId>common-recycle</artifactId>
<version>${org.dubhe.common-recycle.version}</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.dubhe.cloud</groupId>
<artifactId>unit-test</artifactId>
<version>${org.dubhe.cloud.unit-test.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<fork>true</fork>
<classifier>exec</classifier>
</configuration>
</plugin>
<!-- 跳过单元测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>

+ 34
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/AdminApplication.java View File

@@ -0,0 +1,34 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


/**
* @description Admin启动类
* @date 2020-12-02
*/
@SpringBootApplication(scanBasePackages = "org.dubhe")
@MapperScan(basePackages = {"org.dubhe.**.dao"})
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}

+ 54
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/client/AuthServiceClient.java View File

@@ -0,0 +1,54 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.client;

import org.dubhe.admin.client.fallback.AuthServiceFallback;
import org.dubhe.biz.base.constant.ApplicationNameConst;
import org.dubhe.biz.base.dto.Oauth2TokenDTO;
import org.dubhe.biz.base.vo.DataResponseBody;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

/**
* @description feign调用demo
* @date 2020-11-04
*/
@FeignClient(value = ApplicationNameConst.SERVER_AUTHORIZATION,fallback = AuthServiceFallback.class)
public interface AuthServiceClient {

/**
* 获取token
*
* @param parameters 获取token请求map
* @return token 信息
*/
@PostMapping(value = "/oauth/token")
DataResponseBody<Oauth2TokenDTO> postAccessToken(@RequestParam Map<String, String> parameters);

/**
* 登出
* @param accessToken token
* @return
*/
@DeleteMapping(value="/oauth/logout")
DataResponseBody<String> logout(@RequestParam("token")String accessToken);

}

+ 55
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/client/fallback/AuthServiceFallback.java View File

@@ -0,0 +1,55 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.client.fallback;

import org.dubhe.admin.client.AuthServiceClient;
import org.dubhe.biz.base.vo.DataResponseBody;
import org.dubhe.biz.dataresponse.factory.DataResponseFactory;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
* @description Feign 熔断处理类
* @date 2020-11-04
*/
@Component
public class AuthServiceFallback implements AuthServiceClient {


/**
* 获取token
*
* @param parameters 获取token请求map
* @return token 信息
*/
@Override
public DataResponseBody postAccessToken(Map<String, String> parameters) {
return DataResponseFactory.failed("call auth server postAccessToken error ");
}

/**
* 退出登录
*
* @param accessToken token
* @return
*/
@Override
public DataResponseBody logout(String accessToken) {
return DataResponseFactory.failed("call auth server logout error ");
}
}

+ 105
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/AuthCodeMapper.java View File

@@ -0,0 +1,105 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.domain.entity.*;

import java.util.List;
import java.util.Set;

/**
* @description 权限组mapper接口
* @date 2021-05-14
*/
public interface AuthCodeMapper extends BaseMapper<Auth> {


/**
* 根据角色id查询对应的权限组
*
* @param queryWrapper role的wrapper对象
* @return 角色集合
*/
@Select("select * from role ${ew.customSqlSegment}")
@Results(id = "roleMapperResults",
value = {
@Result(property = "id", column = "id"),
@Result(property = "auths",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.AuthCodeMapper.selectByRoleId", fetchType = FetchType.LAZY))})
List<Role> selectCollList(@Param("ew") Wrapper<Role> queryWrapper);


/**
* 给权限组绑定具体的权限
*
* @param list 权限列表
*/
void tiedWithPermission(List<AuthPermission> list);

/**
* 清空指定权限组的权限
*
* @param authId 权限组id
*/
@Delete("delete from auth_permission where auth_id=#{authId} ")
void untiedWithPermission(Long authId);

@Delete("<script>" +
"delete from auth_permission where permission_id in" +
"<foreach collection='ids' item='id' open='(' separator=',' close=')'>#{id}</foreach>" +
"</script>")
void untiedByPermissionId(@Param("ids") Set<Long> ids);

/**
* 绑定角色权限
*
* @param roleAuths 角色权限关联DTO
*/
void tiedRoleAuth(List<RoleAuth> roleAuths);

/**
* 根据角色ID解绑角色权限
*
* @param roleId 角色ID
*/
@Update("delete from roles_auth where role_id = #{roleId}")
void untiedRoleAuthByRoleId(Long roleId);

/**
* 通过权限组id获取权限
*
* @param authId 权限组id
* @return List<Permission> 权限列表
*/
@Select("select * from permission where id in (select permission_id from auth_permission where auth_id=#{authId}) and deleted=0 order by id")
List<Permission> getPermissionByAuthId(Long authId);

/**
* 根据角色id获取绑定的权限组列表
*
* @param roleId 角色id
* @return 权限组列表
*/
@Select("select * from auth where id in (select auth_id from roles_auth where role_id=#{roleId}) and deleted=0")
List<Auth> selectByRoleId(long roleId);

}

+ 59
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DataSequenceMapper.java View File

@@ -0,0 +1,59 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.dubhe.admin.domain.entity.DataSequence;

/**
* @description 数据序列 Mapper
* @date 2020-09-23
*/
public interface DataSequenceMapper extends BaseMapper<DataSequence> {
/**
* 根据业务编码查询序列
* @param businessCode 业务编码
* @return DataSequence 序号
*/
@Select("select id, business_code ,start, step from data_sequence where business_code = #{businessCode} for update")
DataSequence selectByBusiness(String businessCode);

/**
* 根据业务编码更新序列起始值
* @param businessCode 业务编码
* @return DataSequence 序号
*/
@Update("update data_sequence set start = start + step where business_code = #{businessCode} ")
int updateStartByBusinessCode(String businessCode);

/**
* 查询存在表的记录数
* @param tableName 表名
* @return int 查询表记录数
*/
@Select("select count(1) from ${tableName}")
int checkTableExist(@Param("tableName") String tableName);

/**
* 执行创建表
* @param tableName 新表表名
* @param oldTableName 模板表表名
*/
@Update({"CREATE TABLE ${tableName} like ${oldTableName}"})
void createNewTable(@Param("tableName") String tableName, @Param("oldTableName") String oldTableName);

}

+ 59
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DictDetailMapper.java View File

@@ -0,0 +1,59 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.dubhe.admin.domain.entity.DictDetail;

import java.io.Serializable;
import java.util.List;

/**
* @description 字典详情 mapper
* @date 2020-03-26
*/
public interface DictDetailMapper extends BaseMapper<DictDetail> {
/**
* 根据字典ID查找
*
* @param dictId
* @return
*/
@Select("select * from dict_detail where dict_id =#{dictId} order by sort")
List<DictDetail> selectByDictId(Serializable dictId);

/**
* 根据字典ID和标签查找
*
* @param dictId
* @param label
* @return
*/
@Select("select * from dict_detail where dict_id=#{dictId} and label=#{label}")
DictDetail selectByDictIdAndLabel(Serializable dictId, String label);

/**
* 根据字典ID删除
*
* @param dictId
* @return
*/
@Update("delete from dict_detail where dict_id =#{dictId}")
int deleteByDictId(Serializable dictId);
}

+ 81
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/DictMapper.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.domain.entity.Dict;

import java.io.Serializable;
import java.util.List;

/**
* @description 字典 mapper
* @date 2020-03-26
*/
public interface DictMapper extends BaseMapper<Dict> {
/**
* 查询实体及关联对象
*
* @param queryWrapper 字典wrapper对象
* @return 字典列表
*/
@Select("select * from dict ${ew.customSqlSegment}")
@Results(id = "dictMapperResults",
value = {
@Result(property = "id", column = "id"),
@Result(property = "dictDetails",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.DictDetailMapper.selectByDictId",
fetchType = FetchType.LAZY))})
List<Dict> selectCollList(@Param("ew") Wrapper<Dict> queryWrapper);

/**
* 分页查询实体及关联对象
*
* @param page 分页对象
* @param queryWrapper 字典wrapper对象
* @return 分页字典集合
*/
@Select("select * from dict ${ew.customSqlSegment}")
@ResultMap(value = "dictMapperResults")
IPage<Dict> selectCollPage(Page<Dict> page, @Param("ew") Wrapper<Dict> queryWrapper);

/**
* 根据ID查询实体及关联对象
*
* @param id 序列id
* @return 字典对象
*/
@Select("select * from dict where id=#{id}")
@ResultMap("dictMapperResults")
Dict selectCollById(Serializable id);

/**
* 根据Name查询实体及关联对象
*
* @param name 字典名称
* @return 字典对象
*/
@Select("select * from dict where name=#{name}")
@ResultMap("dictMapperResults")
Dict selectCollByName(String name);
}

+ 45
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/LogMapper.java View File

@@ -0,0 +1,45 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Select;
import org.dubhe.admin.domain.entity.Log;

/**
* @description 获取一个时间段的IP记录
* @date 2020-03-25
*/
public interface LogMapper extends BaseMapper<Log> {
/**
* 获取一个时间段的IP记录
*
* @param date1 startTime
* @param date2 entTime
* @return IP数目
*/
@Select("select count(*) FROM (select request_ip FROM log where create_time between #{date1} and #{date2} GROUP BY request_ip) as s")
Long findIp(String date1, String date2);

/**
* 根据日志类型删除信息
*
* @param logType 日志类型
*/
@Delete("delete from log where log_type = #{logType}")
void deleteByLogType(String logType);
}

+ 83
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/MenuMapper.java View File

@@ -0,0 +1,83 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.dubhe.admin.dao.provider.MenuProvider;
import org.dubhe.admin.domain.entity.Menu;
import org.dubhe.biz.base.dto.SysPermissionDTO;

import java.util.List;
import java.util.Set;

/**
* @description 菜单 mapper
* @date 2020-04-02
*/
public interface MenuMapper extends BaseMapper<Menu> {


/**
* 根据角色id查询用户权限
*
* @param roleIds 用户id
* @return 权限信息
*/
List<SysPermissionDTO> selectPermissionByRoleIds(@Param("list") List<Long> roleIds);


/**
* 根据组件名称查询
*
* @param name 组件名称
* @return 菜单对象
*/
@Select("select * from menu where component=#{name} and deleted = 0 ")
Menu findByComponentName(String name);

/**
* 根据菜单的 PID 查询
*
* @param pid 菜单pid
* @return 菜单列表
*/
@Select("select * from menu where pid=#{pid} and deleted = 0 ")
List<Menu> findByPid(long pid);

/**
* 根据角色ID与菜单类型查询菜单
*
* @param roleIds roleIDs
* @param type 类型
* @return 菜单列表
*/
@SelectProvider(type = MenuProvider.class, method = "findByRolesIdInAndTypeNotOrderBySortAsc")
List<Menu> findByRolesIdInAndTypeNotOrderBySortAsc(Set<Long> roleIds, int type);


/**
* 根据角色ID与查询菜单
*
* @param roleId 角色id
* @return 菜单列表
*/
@Select("select m.* from menu m,roles_menus rm where m.id= rm.menu_id and rm.role_id=#{roleId} and deleted = 0 ")
List<Menu> selectByRoleId(long roleId);

}

+ 111
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/PermissionMapper.java View File

@@ -0,0 +1,111 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.domain.entity.Permission;
import org.dubhe.admin.domain.entity.Role;
import org.dubhe.biz.base.dto.SysPermissionDTO;

import java.util.List;

/**
* @description 角色权限关联mapper
* @date 2021-04-26
*/
public interface PermissionMapper extends BaseMapper<Permission> {


/**
* 查询实体及关联对象
*
* @param queryWrapper 角色wrapper对象
* @return 角色列表
*/
@Select("select * from role ${ew.customSqlSegment}")
@Results(id = "roleMapperResults",
value = {
@Result(property = "id", column = "id"),
@Result(property = "Permissions",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.PermissionMapper.selectByRoleId", fetchType = FetchType.LAZY))})
List<Role> selectCollList(@Param("ew") Wrapper<Role> queryWrapper);


/**
* 绑定角色权限
*
* @param roleId 角色ID
* @param menuId 权限ID
*/
@Update("insert into roles_auth values (#{roleId}, #{menuId})")
void tiedRoleAuth(Long roleId, Long menuId);


/**
* 根据roleId查询权限列表
*
* @param roleId roleId
* @return List<Permission> 权限列表
*/
@Select("select p.permission, p.name from permission p left join auth_permission ap on p.id = ap.permission_id left join roles_auth ra on ap.auth_id = ra.auth_id where ra.role_id=#{roleId} and deleted=0 ")
List<Permission> selectByRoleId(long roleId);

/**
* 根据权限的 PID 查询
*
* @param pid 父权限id
* @return List<Permission> 权限列表
*/
@Select("select * from permission where pid=#{pid} and deleted = 0 ")
List<Permission> findByPid(long pid);


/**
* 根据角色id查询用户权限
*
* @param roleIds 用户id
* @return 权限信息
*/
List<SysPermissionDTO> selectPermissinByRoleIds(@Param("list") List<Long> roleIds);

/**
* 根据权限名获取权限信息
*
* @param name 权限名称
* @return 权限
*/
@Select("select * from permission where name=#{name} and deleted=0")
Permission findByName(String name);


}








+ 27
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/ResourceSpecsMapper.java View File

@@ -0,0 +1,27 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dubhe.admin.domain.entity.ResourceSpecs;

/**
* @description 资源规格管理mapper接口
* @date 2021-05-27
*/
public interface ResourceSpecsMapper extends BaseMapper<ResourceSpecs> {
}

+ 163
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/RoleMapper.java View File

@@ -0,0 +1,163 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.dao.provider.RoleProvider;
import org.dubhe.admin.domain.entity.Role;

import java.io.Serializable;
import java.util.List;

/**
* @description 角色 mapper
* @date 2020-11-26
*/
public interface RoleMapper extends BaseMapper<Role> {

/**
* 根据用户id查询用户角色
*
* @param userId 用户id
* @return 用户信息
*/
@Select("select sr.id, sr.name, sur.user_id from users_roles sur left join role sr on sr.id = sur.role_id where sur.user_id = #{userId} and sr.deleted = 0 ")
List<Role> selectRoleByUserId(@Param("userId") Long userId);


/**
* 查询实体及关联对象
*
* @param queryWrapper 角色wrapper对象
* @return List<Role> 角色列表
*/
@Select("select * from role ${ew.customSqlSegment}")
@Results(id = "roleMapperResults",
value = {
@Result(property = "id", column = "id"),
@Result(property = "menus",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.MenuMapper.selectByRoleId", fetchType = FetchType.LAZY)),
@Result(property = "auths",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.AuthCodeMapper.selectByRoleId", fetchType = FetchType.LAZY))})
List<Role> selectCollList(@Param("ew") Wrapper<Role> queryWrapper);

/**
* 分页查询实体及关联对象
*
* @param page 分页对象
* @param queryWrapper 角色wrapper对象
* @return IPage<Role> 分页角色集合
*/
@Select("select * from role ${ew.customSqlSegment}")
@ResultMap(value = "roleMapperResults")
IPage<Role> selectCollPage(Page<Role> page, @Param("ew") Wrapper<Role> queryWrapper);

/**
* 根据ID查询实体及关联对象
*
* @param id 序列id
* @return 角色
*/
@Select("select * from role where id=#{id} and deleted = 0 ")
@ResultMap("roleMapperResults")
Role selectCollById(Serializable id);

/**
* 根据名称查询
*
* @param name 角色名称
* @return 角色
*/
@Select("select * from role where name = #{name} and deleted = 0 ")
Role findByName(String name);

/**
* 绑定用户角色
*
* @param userId 用户ID
* @param roleId 角色ID
*/
@Update("insert into users_roles values (#{userId}, #{roleId})")
void tiedUserRole(Long userId, Long roleId);

/**
* 根据用户ID解绑用户角色
*
* @param userId 用户ID
*/
@Update("delete from users_roles where user_id = #{userId}")
void untiedUserRoleByUserId(Long userId);

/**
* 根据角色ID解绑用户角色
*
* @param roleId 角色ID
*/
@Update("delete from users_roles where role_id = #{roleId}")
void untiedUserRoleByRoleId(Long roleId);

/**
* 绑定角色菜单
*
* @param roleId 角色ID
* @param menuId 菜单ID
*/
@Update("insert into roles_menus values (#{roleId}, #{menuId})")
void tiedRoleMenu(Long roleId, Long menuId);

/**
* 根据角色ID解绑角色菜单
*
* @param roleId 角色ID
*/
@Update("delete from roles_menus where role_id = #{roleId}")
void untiedRoleMenuByRoleId(Long roleId);

/**
* 根据菜单ID解绑角色菜单
*
* @param menuId 菜单ID
*/
@Update("delete from roles_menus where menu_id = #{menuId}")
void untiedRoleMenuByMenuId(Long menuId);

/**
* 根据用户ID查询角色
*
* @param userId 用户ID
* @return List<Role> 角色列表
*/
@SelectProvider(type = RoleProvider.class, method = "findRolesByUserId")
List<Role> findRolesByUserId(Long userId);

/**
* 根据团队ID和用户ID查询角色
*
* @param userId 用户ID
* @param teamId 团队ID
* @return List<Role> 角色列表
*/
@SelectProvider(type = RoleProvider.class, method = "findByUserIdAndTeamId")
List<Role> findByUserIdAndTeamId(Long userId, Long teamId);
}

+ 58
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/TeamMapper.java View File

@@ -0,0 +1,58 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.dao.provider.TeamProvider;
import org.dubhe.admin.domain.entity.Team;

import java.io.Serializable;
import java.util.List;

/**
* @description 团队 mapper
* @date 2020-03-25
*/
public interface TeamMapper extends BaseMapper<Team> {

/**
* 根据ID查询名称
*
* @param userId 用户id
* @return List<Team> 团队列表
*/
@SelectProvider(type = TeamProvider.class, method = "findByUserId")
List<Team> findByUserId(Long userId);


/**
* 根据ID查询团队实体及关联对象
*
* @param id 序列id
* @return 团队
*/
@Select("select * from team where id=#{id}")
@Results(id = "teamMapperResults",
value = {
@Result(column = "id", property = "teamUserList",
many = @Many(select = "org.dubhe.admin.dao.UserMapper.findByTeamId",
fetchType = FetchType.LAZY))})
Team selectCollById(Serializable id);
}

+ 26
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserAvatarMapper.java View File

@@ -0,0 +1,26 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dubhe.admin.domain.entity.UserAvatar;

/**
* @description 用户头像 mapper
* @date 2020-03-25
*/
public interface UserAvatarMapper extends BaseMapper<UserAvatar> {
}

+ 86
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserGroupMapper.java View File

@@ -0,0 +1,86 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.dubhe.admin.domain.entity.Group;
import org.dubhe.admin.domain.entity.User;

import java.util.List;

/**
* @description 用户组mapper接口
* @date 2021-05-08
*/
public interface UserGroupMapper extends BaseMapper<Group> {

/**
* 获取用户组成员信息
*
* @param groupId 用户组id
* @return List<User> 用户列表
*/
@Select("select u.* from user u left join user_group gu on u.id = gu.user_id where gu.group_id=#{groupId} and deleted=0 ")
List<User> queryUserByGroupId(Long groupId);

/**
* 删除用户组
*
* @param groupId 用户组id
*/
@Update("update pt_group set deleted=1 where id=#{groupId} ")
void delUserGroupByGroupId(Long groupId);

/**
* 清空用户组成员
*
* @param groupId 用户组id
*/
@Delete("delete from user_group where group_id=#{groupId} ")
void delUserByGroupId(Long groupId);

/**
* 新增用户组成员
*
* @param groupId 用户组id
* @param userId 用户id
*/
@Insert("insert into user_group values (#{groupId},#{userId})")
void addUserWithGroup(Long groupId, Long userId);

/**
* 删除用户组成员
*
* @param groupId 用户组id
* @param userId 用户id
*/
@Delete("delete from user_group where group_id=#{groupId} and user_id=#{userId}")
void delUserWithGroup(Long groupId, Long userId);

/**
* 获取还未分组的用户
*
* @return List<User> 用户组成员列表
*/
@Select("select * from user where id not in (select user_id from user_group) and deleted=0")
List<User> findUserWithOutGroup();

}

+ 147
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserMapper.java View File

@@ -0,0 +1,147 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.One;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.mapping.FetchType;
import org.dubhe.admin.domain.entity.User;

import java.util.Date;
import java.util.List;
import java.util.Set;

/**
* @description Demo服务mapper
* @date 2020-11-26
*/
public interface UserMapper extends BaseMapper<User> {


/**
* 根据ID查询实体及关联对象
*
* @param id 用户id
* @return 用户
*/
@Select("select * from user where id=#{id} and deleted = 0")
@Results(id = "userMapperResults",
value = {
@Result(property = "id", column = "id"),
@Result(property = "roles",
column = "id",
many = @Many(select = "org.dubhe.admin.dao.RoleMapper.findRolesByUserId",
fetchType = FetchType.LAZY)),
@Result(property = "userAvatar",
column = "avatar_id",
one = @One(select = "org.dubhe.admin.dao.UserAvatarMapper.selectById",
fetchType = FetchType.LAZY))})
User selectCollById(Long id);

/**
* 根据用户名查询
*
* @param username 用户名
* @return 用户
*/
@Select("select * from user where username=#{username} and deleted = 0")
@ResultMap(value = "userMapperResults")
User findByUsername(String username);

/**
* 根据邮箱查询
*
* @param email 邮箱
* @return 用户
*/
@Select("select * from user where email=#{email} and deleted = 0")
@ResultMap(value = "userMapperResults")
User findByEmail(String email);

/**
* 修改密码
*
* @param username 用户名
* @param pass 密码
* @param lastPasswordResetTime 密码最后一次重置时间
*/

@Update("update user set password = #{pass} , last_password_reset_time = #{lastPasswordResetTime} where username = #{username}")
void updatePass(String username, String pass, Date lastPasswordResetTime);

/**
* 修改邮箱
*
* @param username 用户名
* @param email 邮箱
*/
@Update("update user set email = #{email} where username = #{username}")
void updateEmail(String username, String email);

/**
* 查找用户权限
*
* @param userId 用户id
* @return 权限集合
*/
Set<String> queryPermissionByUserId(Long userId);


/**
* 查询实体及关联对象
*
* @param queryWrapper 用户wrapper对象
* @return 用户集合
*/
@Select("select * from user ${ew.customSqlSegment}")
@ResultMap(value = "userMapperResults")
List<User> selectCollList(@Param("ew") Wrapper<User> queryWrapper);

/**
* 分页查询实体及关联对象
*
* @param page 分页对象
* @param queryWrapper 用户wrapper对象
* @return 分页user集合
*/
@Select("select * from user ${ew.customSqlSegment} order by id desc")
@ResultMap(value = "userMapperResults")
IPage<User> selectCollPage(Page<User> page, @Param("ew") Wrapper<User> queryWrapper);

/**
* 根据角色分页查询实体及关联对象
*
* @param page 分页对象
* @param queryWrapper 用户wrapper对象
* @param roleId 角色id
* @return 分页用户集合
*/
@Select("select u.* from user u join users_roles ur on u.id=ur.user_id and ur.role_id=#{roleId} ${ew.customSqlSegment} order by u.id desc")
@ResultMap(value = "userMapperResults")
IPage<User> selectCollPageByRoleId(Page<User> page, @Param("ew") Wrapper<User> queryWrapper, Long roleId);

}

+ 46
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/UserRoleMapper.java View File

@@ -0,0 +1,46 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.dubhe.admin.domain.entity.UserRole;

import java.util.List;
import java.util.Set;

/**
* @description 用户角色 mapper
* @date 2020-6-9
*/
public interface UserRoleMapper extends BaseMapper<UserRole> {

/**
* 批量删除用户
*
* @param userIds 用户id集合
*/
void deleteByUserId(@Param("list") Set<Long> userIds);

/**
* 批量添加用户角色
*
* @param userRoles 用户角色实体集合
*/
void insertBatchs(List<UserRole> userRoles);

}


+ 45
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/MenuProvider.java View File

@@ -0,0 +1,45 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.dao.provider;

import org.apache.ibatis.jdbc.SQL;

import java.util.Map;
import java.util.Set;

/**
* @description 菜单sql构建类
* @date 2020-04-02
*/
public class MenuProvider {
public String findByRolesIdInAndTypeNotOrderBySortAsc(Map<String, Object> para) {
Set<Long> roleIds = (Set) para.get("roleIds");
int type = (int) para.get("type");
StringBuffer roleIdsql = new StringBuffer("rm.role_id in (-1 ");
roleIds.forEach(id -> {
roleIdsql.append("," + id.toString());
});
roleIdsql.append(" )");
return new SQL() {{
SELECT_DISTINCT("m.*");
FROM("menu m, roles_menus rm ");
WHERE(roleIdsql + " and m.id=rm.menu_id and m.deleted = 0 and m.type<>" + type);
ORDER_BY("pid, sort, id");
}}.toString();
}
}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/RoleProvider.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.dao.provider;

import java.util.Map;

/**
* @description 角色构建类
* @date 2020-04-15
*/
public class RoleProvider {
public String findRolesByUserId(Long userId) {
StringBuffer sql = new StringBuffer("select r.* from role r, users_roles ur ");
sql.append(" where ur.user_id=#{userId} ");
sql.append(" and ur.role_id=r.id");
sql.append(" and r.deleted = 0");
return sql.toString();
}

public String findByUserIdAndTeamId(Map<String, Object> para) {
StringBuffer sql = new StringBuffer("select r.* from role r, teams_users_roles tur ");
sql.append(" where tur.user_id=#{userId} ");
sql.append(" and tur.team_id=#{teamId} ");
sql.append(" and tur.role_id=r.id");
sql.append(" and r.deleted = 0");
return sql.toString();
}
}

+ 32
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/TeamProvider.java View File

@@ -0,0 +1,32 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.dao.provider;

/**
* @description 团队构建类
* @date 2020-04-15
*/
public class TeamProvider {

public String findByUserId(Long userId) {
StringBuffer sql = new StringBuffer("select t.* from team t, teams_users_roles tur ");
sql.append(" where tur.user_id=#{userId} ");
sql.append(" and tur.team_id=t.id ");
return sql.toString();
}
}

+ 45
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/dao/provider/UserProvider.java View File

@@ -0,0 +1,45 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.dao.provider;

/**
* @description 用户sql构建类
* @date 2020-04-02
*/
public class UserProvider {
public String queryPermissionByUserId(Long userId) {
StringBuffer sql = new StringBuffer("select m.permission from menu m, users_roles ur, roles_menus rm ");
sql.append(" where ur.user_id = #{userId} and ur.role_id = rm.role_id and rm.menu_id = m.id and m.permission <> '' and m.deleted = 0 ");
return sql.toString();
}

public String findPermissionByUserIdAndTeamId(Long userId, Long teamId) {
StringBuffer sql = new StringBuffer("select m.permission from menu m, teams_users_roles tur ,roles_menus rm ");
sql.append(" where tur.user_id=#{userId} ");
sql.append(" and tur.role_id=rm.role_id ");
sql.append(" and tur.team_id=#{team_id} ");
sql.append(" and rm.menu_id=m.id");
sql.append(" and and m.deleted = 0 ");
return sql.toString();
}

public String findByTeamId(Long teamId) {
StringBuffer sql = new StringBuffer("select u.* from user u,teams_users_roles tur where tur.team_id=#{teamId} and tur.user_id=u.id and u.deleted = 0");
return sql.toString();
}
}

+ 47
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeCreateDTO.java View File

@@ -0,0 +1,47 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 创建权限组DTO
* @date 2021-05-14
*/
@Data
public class AuthCodeCreateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "autoCode", required = true)
@NotEmpty(message = "权限组code不能为空")
private String authCode;

@ApiModelProperty(value = "权限id集合", required = true)
@NotNull(message = "权限不能为空")
private Set<Long> permissions;

@ApiModelProperty("描述")
private String description;

}

+ 36
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeDeleteDTO.java View File

@@ -0,0 +1,36 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 删除权限组DTO
* @date 2021-05-17
*/
@Data
public class AuthCodeDeleteDTO implements Serializable {

private static final long serialVersionUID = 1L;

@NotNull(message = "id不能为空")
private Set<Long> ids;
}

+ 37
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeQueryDTO.java View File

@@ -0,0 +1,37 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.biz.db.base.PageQueryBase;

import java.io.Serializable;

/**
* @description 分页查看权限组列表
* @date 2021-05-14
*/

@Data
public class AuthCodeQueryDTO extends PageQueryBase implements Serializable {
private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "权限组名称")
private String authCode;

}

+ 46
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthCodeUpdateDTO.java View File

@@ -0,0 +1,46 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 修改权限组DTO
* @date 2021-05-14
*/
@Data
public class AuthCodeUpdateDTO implements Serializable {
private static final long serialVersionUID = 1L;

private Long id;

@ApiModelProperty(value = "autoCode", required = true)
@NotEmpty(message = "权限组code不能为空")
private String authCode;

@ApiModelProperty(value = "权限id集合")
private Set<Long> permissions;

@ApiModelProperty("描述")
private String description;

}

+ 39
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthPermissionUpdDTO.java View File

@@ -0,0 +1,39 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 修改权限组权限DTO
* @date 2021-05-14
*/
@Data
public class AuthPermissionUpdDTO implements Serializable {

@ApiModelProperty(value = "权限组id")
@NotNull(message = "权限组id不能为空")
private Long authId;

@ApiModelProperty(value = "权限id集合")
private Set<Long> permissionIds;
}

+ 71
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthUpdateDTO.java View File

@@ -0,0 +1,71 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.admin.domain.entity.Permission;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Objects;
import java.util.Set;

/**
* @description 修改操作权限DTO
* @date 2021-04-28
*/
@Data
public class AuthUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

private Long id;

@ApiModelProperty(value = "操作权限名称")
@Size(max = 255, message = "名称长度不能超过255")
private String name;

@ApiModelProperty(value = "操作权限标识")
@Size(max = 255, message = "默认权限长度不能超过255")
private String permission;


private Set<Permission> permissions;

private Boolean deleted;

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
AuthUpdateDTO role = (AuthUpdateDTO) o;
return Objects.equals(id, role.id);
}

@Override
public int hashCode() {
return Objects.hash(id);
}

public @interface Update {
}
}

+ 48
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/AuthUserDTO.java View File

@@ -0,0 +1,48 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
* @description 用户登录dto
* @date 2020-06-01
*/
@Getter
@Setter
public class AuthUserDTO implements Serializable {

private static final long serialVersionUID = 6243696246160576285L;
@NotBlank
private String username;

@NotBlank
private String password;

private String code;

private String uuid = "";

@Override
public String toString() {
return "{username=" + username + ", password= ******}";
}
}

+ 51
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictCreateDTO.java View File

@@ -0,0 +1,51 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.dubhe.admin.domain.entity.DictDetail;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 字典新增DTO
* @date 2020-06-01
*/
@Data
public class DictCreateDTO implements Serializable {

private static final long serialVersionUID = -901581636964448858L;

@NotBlank(message = "字典名称不能为空")
@Length(max = 255, message = "名称长度不能超过255")
private String name;

@Length(max = 255, message = "备注长度不能超过255")
private String remark;

private Timestamp createTime;

@TableField(exist = false)
private List<DictDetail> dictDetails;

}

+ 42
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDTO.java View File

@@ -0,0 +1,42 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
/**
* @description 字典DTO
* @date 2020-06-01
*/
@Data
public class DictDTO implements Serializable {

private static final long serialVersionUID = 1L;
private Long id;

private String name;

private String remark;

private List<DictDetailDTO> dictDetails;

private Timestamp createTime;
}

+ 36
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDeleteDTO.java View File

@@ -0,0 +1,36 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 字典删除DTO
* @date 2020-06-01
*/
@Data
public class DictDeleteDTO implements Serializable {

private static final long serialVersionUID = 6346677566514471535L;

@NotEmpty(message = "id不能为空")
Set<Long> ids;
}

+ 53
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailCreateDTO.java View File

@@ -0,0 +1,53 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 字典详情修改DTO
* @date 2020-06-29
*/
@Data
public class DictDetailCreateDTO implements Serializable {

private static final long serialVersionUID = -1936563127368448645L;

@ApiModelProperty(value = "字典标签")
@Length(max = 255, message = "字典标签长度不能超过255")
private String label;

@ApiModelProperty(value = "字典值")
@Length(max = 255, message = "字典值长度不能超过255")
private String value;

@ApiModelProperty(value = "排序")
private String sort = "999";

private Long dictId;

private Timestamp createTime;

public @interface Update {
}
}

+ 53
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailDTO.java View File

@@ -0,0 +1,53 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 字典详情DTO
* @date 2020-06-01
*/
@Data
public class DictDetailDTO implements Serializable {

private static final long serialVersionUID = 1521993584428225098L;

@ApiModelProperty(value = "字典详情id")
private Long id;

@ApiModelProperty(value = "字典label")
private String label;

@ApiModelProperty(value = "字典详情value")
private String value;

@ApiModelProperty(value = "排序")
private String sort;

@ApiModelProperty(value = "字典id")
private Long dictId;

private Timestamp createTime;

private Timestamp updateTime;
}

+ 38
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailDeleteDTO.java View File

@@ -0,0 +1,38 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 字典详情删除DTO
* @date 2020-06-29
*/
@Data
public class DictDetailDeleteDTO implements Serializable {

private static final long serialVersionUID = -151060582445500836L;

@NotEmpty(message = "id不能为空")
private Set<Long> ids;

}

+ 38
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailQueryDTO.java View File

@@ -0,0 +1,38 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.io.Serializable;

/**
* @description 字典详情查询实体
* @date 2020-06-01
*/
@Data
public class DictDetailQueryDTO implements Serializable {

private static final long serialVersionUID = 1L;
@Query(type = Query.Type.LIKE)
private String label;

@Query(propName = "dict_id", type = Query.Type.EQ)
private Long dictId;
}

+ 60
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictDetailUpdateDTO.java View File

@@ -0,0 +1,60 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.admin.domain.entity.DictDetail;
import org.hibernate.validator.constraints.Length;


import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 字典详情修改DTO
* @date 2020-06-29
*/
@Data
public class DictDetailUpdateDTO implements Serializable {

private static final long serialVersionUID = -1936563127368448645L;

@NotNull(groups = DictDetail.Update.class)
private Long id;

@ApiModelProperty(value = "字典标签")
@Length(max = 255, message = "字典标签长度不能超过255")
private String label;

@ApiModelProperty(value = "字典值")
@Length(max = 255, message = "字典值长度不能超过255")
private String value;

@ApiModelProperty(value = "排序")
private String sort = "999";

@ApiModelProperty(value = "字典id")
private Long dictId;

private Timestamp createTime;

public @interface Update {
}
}

+ 35
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictQueryDTO.java View File

@@ -0,0 +1,35 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.io.Serializable;

/**
* @description 公共查询类
* @date 2020-05-10
*/
@Data
public class DictQueryDTO implements Serializable {

private static final long serialVersionUID = -8221913871799888949L;
@Query(blurry = "name,remark")
private String blurry;
}

+ 32
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictSmallDTO.java View File

@@ -0,0 +1,32 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
* @description 实体类
* @date 2020-03-16
*/
@Data
public class DictSmallDTO implements Serializable {
private Long id;
private String name;
}

+ 33
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictSmallQueryDTO.java View File

@@ -0,0 +1,33 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
* @description 字典查询转换DTO
* @date 2020-06-01
*/
@Data
public class DictSmallQueryDTO implements Serializable {
private static final long serialVersionUID = 5825111154262768118L;
private Long id;
private String name;
}

+ 58
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/DictUpdateDTO.java View File

@@ -0,0 +1,58 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.dubhe.admin.domain.entity.Dict;
import org.dubhe.admin.domain.entity.DictDetail;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 字典新增DTO
* @date 2020-06-01
*/
@Data
public class DictUpdateDTO implements Serializable {

private static final long serialVersionUID = -901581636964448858L;

@NotNull(groups = Dict.Update.class)
private Long id;

@NotBlank
@Length(max = 255, message = "名称长度不能超过255")
private String name;

@Length(max = 255, message = "备注长度不能超过255")
private String remark;

private Timestamp createTime;

@TableField(exist = false)
private List<DictDetail> dictDetails;

public @interface Update {
}
}

+ 48
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/EmailDTO.java View File

@@ -0,0 +1,48 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* @description 邮件DTO
* @date 2020-06-01
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class EmailDTO {

@ApiModelProperty(value = "邮箱地址")
String receiverMailAddress;

@ApiModelProperty(value = "标题")
String subject;

@ApiModelProperty(value = "验证码")
String code;

@ApiModelProperty(value = "类型 1 用户注册 2 修改邮箱 3 其他")
Integer type;

}

+ 37
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ExtConfigDTO.java View File

@@ -0,0 +1,37 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;

/**
* @description 扩展配置DTO
* @date 2021-01-25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExtConfigDTO implements Serializable {

@ApiModelProperty(value = "返回上一级菜单")
private String backTo;
}

+ 50
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogDTO.java View File

@@ -0,0 +1,50 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 日志转换DTO
* @date 2020-06-01
*/
@Data
public class LogDTO implements Serializable {

private static final long serialVersionUID = 1L;
private Long id;

private String username;

private String description;

private String method;

private String params;

private String browser;

private String requestIp;

private String address;

private Timestamp createTime;
}

+ 41
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogQueryDTO.java View File

@@ -0,0 +1,41 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.sql.Timestamp;
import java.util.List;

/**
* @description 日志查询类
* @date 2020-06-01
*/
@Data
public class LogQueryDTO {

@Query(blurry = "username,requestIp,method,params")
private String blurry;

@Query
private String logType;

@Query(type = Query.Type.BETWEEN)
private List<Timestamp> createTime;
}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/LogSmallDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 实体类
* @date 2020-03-16
*/
@Data
public class LogSmallDTO implements Serializable {

private String description;

private String requestIp;

private Long time;

private String address;

private String browser;

private Timestamp createTime;
}

+ 94
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuCreateDTO.java View File

@@ -0,0 +1,94 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
* @description 菜单新增 dto
* @date 2020-06-29
*/
@Data
public class MenuCreateDTO implements Serializable {

private static final long serialVersionUID = 3587665050240667198L;

@NotBlank
private String name;

private Long sort = 999L;

@Size(max = 255, message = "路由地址长度不能超过255")
private String path;

@Size(max = 255, message = "路径长度不能超过255")
private String component;

/**
* 类型,目录、菜单、按钮
*/
private Integer type;

/**
* 权限
*/
@Size(max = 255, message = "权限长度不能超过255")
private String permission;

private String componentName;

@Size(max = 255, message = "图标长度不能超过255")
private String icon;

/**
* 布局类型
*/
@Size(max = 255, message = "布局类型不能超过255")
private String layout;

private Boolean cache;

private Boolean hidden;

/**
* 上级菜单ID
*/
private Long pid;


private Boolean deleted;

/**
* 回到上一级
*/
private String backTo;

/**
* 扩展配置
*/
@Size(max = 255, message = "扩展配置长度不能超过255")
private String extConfig;

public @interface Update {
}

}

+ 82
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuDTO.java View File

@@ -0,0 +1,82 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 字典查询转换DTO
* @date 2020-06-01
*/
@Data
public class MenuDTO implements Serializable {

private Long id;

@ApiModelProperty(value = "菜单类型: 0目录,1页面,2权限,3外链")
private Integer type;

@ApiModelProperty(value = "权限标识")
private String permission;

@ApiModelProperty(value = "名称")
private String name;

@ApiModelProperty(value = "菜单排序")
private Long sort;

@ApiModelProperty(value = "路径或外链URL")
private String path;

@ApiModelProperty(value = "组件路径")
private String component;

@ApiModelProperty(value = "上级菜单ID")
private Long pid;

@ApiModelProperty(value = "路由缓存 keep-alive")
private Boolean cache;

@ApiModelProperty(value = "菜单栏不显示")
private Boolean hidden;

@ApiModelProperty(value = "路由名称")
private String componentName;

@ApiModelProperty(value = "菜单图标")
private String icon;

@ApiModelProperty(value = "页面布局类型")
private String layout;


private List<MenuDTO> children;

private Timestamp createTime;

@ApiModelProperty(value = "回到上一级")
private String backTo;

@ApiModelProperty(value = "扩展配置")
private String extConfig;
}

+ 38
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuDeleteDTO.java View File

@@ -0,0 +1,38 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 菜单删除 dto
* @date 2020-06-29
*/
@Data
public class MenuDeleteDTO implements Serializable {

private static final long serialVersionUID = -6599428238298923816L;

@NotEmpty(message = "id不能为空")
private Set<Long> ids;

}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuQueryDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.sql.Timestamp;
import java.util.List;

/**
* @description 菜单查询实体类
* @date 2020-06-01
*/
@Data
public class MenuQueryDTO {

@Query(blurry = "name,path,component_name")
private String blurry;

@Query(propName = "create_time", type = Query.Type.BETWEEN)
private List<Timestamp> createTime;


@Query(propName = "deleted", type = Query.Type.EQ)
private Boolean deleted = false;

}

+ 117
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/MenuUpdateDTO.java View File

@@ -0,0 +1,117 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.Menu;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Objects;

/**
* @description 菜单修改 dto
* @date 2020-06-29
*/
@Data
public class MenuUpdateDTO implements Serializable {

private static final long serialVersionUID = 3587665050240667198L;

@NotNull(groups = {Menu.Update.class})
private Long id;

@NotBlank
private String name;

private Long sort = 999L;

@Size(max = 255, message = "路由地址长度不能超过255")
private String path;

@Size(max = 255, message = "路径长度不能超过255")
private String component;

/**
* 类型,目录、菜单、按钮
*/
private Integer type;

/**
* 权限
*/
@Size(max = 255, message = "权限长度不能超过255")
private String permission;

private String componentName;

@Size(max = 255, message = "图标长度不能超过255")
private String icon;

/**
* 布局类型
*/
@Size(max = 255, message = "布局类型不能超过255")
private String layout;

private Boolean cache;

private Boolean hidden;

/**
* 上级菜单ID
*/
private Long pid;


private Boolean deleted;

/**
* 回到上一级
*/
private String backTo;

/**
* 扩展配置
*/
@Size(max = 255, message = "扩展配置长度不能超过255")
private String extConfig;

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
MenuUpdateDTO menu = (MenuUpdateDTO) o;
return Objects.equals(id, menu.id);
}

@Override
public int hashCode() {
return Objects.hash(id);
}

public @interface Update {
}

}

+ 72
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/NodeDTO.java View File

@@ -0,0 +1,72 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;


/**
* @description 节点实体类
* @date 2020-06-03
*/
@Data
public class NodeDTO {


@ApiModelProperty(value = "node节点id值")
private String uid;

@ApiModelProperty(value = "node节点名称")
private String name;

@ApiModelProperty(value = "node节点ip地址")
private String ip;

@ApiModelProperty(value = "node节点状态")
private String status;

@ApiModelProperty(value = "gpu总数")
private String gpuCapacity;

@ApiModelProperty(value = "gpu可用数")
private String gpuAvailable;

@ApiModelProperty(value = "创建字段保存gpu使用数")
private String gpuUsed;

@ApiModelProperty(value = "保存节点信息")
private List<PodDTO> pods;

@ApiModelProperty(value = "node节点的使用内存")
private String nodeMemory;

@ApiModelProperty(value = "node节点的使用cpu")
private String nodeCpu;

@ApiModelProperty(value = "node节点的总的cpu")
private String totalNodeCpu;

@ApiModelProperty(value = "node节点的总的内存")
private String totalNodeMemory;

@ApiModelProperty(value = "node节点的警告")
private String warning;
}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionCreateDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.admin.domain.entity.Permission;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
* @description 新增权限DTO
* @date 2021-05-31
*/
@Data
public class PermissionCreateDTO implements Serializable {
private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "权限父id")
@NotNull(message = "父级权限id不能为空")
private Long pid;

@NotEmpty(message = "权限不能为空")
private List<Permission> permissions;

}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
* @description 操作权限DTO
* @date 2021-04-29
*/
@Data
public class PermissionDTO implements Serializable {

private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "权限id")
private Long id;

@ApiModelProperty(value = "父权限id")
private Long pid;

@ApiModelProperty("权限标识")
private String permission;

@ApiModelProperty(value = "权限名称")
private String name;
}

+ 34
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionDeleteDTO.java View File

@@ -0,0 +1,34 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.Set;

/**
* @description 删除权限DTO
* @date 2021-05-31
*/
@Data
public class PermissionDeleteDTO implements Serializable {

private static final long serialVersionUID = 1L;

private Set<Long> ids;
}

+ 33
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionQueryDTO.java View File

@@ -0,0 +1,33 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
* @description 权限查询DTO
* @date 2021-05-31
*/
@Data
public class PermissionQueryDTO implements Serializable {

private static final long serialVersionUID = 1L;

private String keyword;
}

+ 47
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PermissionUpdateDTO.java View File

@@ -0,0 +1,47 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.admin.domain.entity.Permission;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
* @description 修改权限DTO
* @date 2021-06-01
*/
@Data
public class PermissionUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "权限id")
@NotNull(message = "权限id不能为空")
private Long id;

@ApiModelProperty(value = "权限父id")
@NotNull(message = "父级权限id不能为空")
private Long pid;

@NotEmpty(message = "权限不能为空")
private List<Permission> permissions;
}

+ 52
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/PodDTO.java View File

@@ -0,0 +1,52 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
* @description pod的实体类
* @date 2020-06-03
*/
@Data
public class PodDTO {

@ApiModelProperty(value = "pod的name")
private String podName;

@ApiModelProperty(value = "pod的内存")
private String podMemory;

@ApiModelProperty(value = "pod的cpu")
private String podCpu;

@ApiModelProperty(value = "pod的显卡")
private String podCard;

@ApiModelProperty(value = "pod的状态")
private String status;

@ApiModelProperty(value = "node的name")
private String nodeName;

@ApiModelProperty(value = "pod的创建时间")
private String podCreateTime;


}

+ 74
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsCreateDTO.java View File

@@ -0,0 +1,74 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dubhe.biz.base.constant.MagicNumConstant;
import org.dubhe.biz.base.constant.StringConstant;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
* @description 资源规格创建
* @date 2021-05-27
*/
@Data
@Accessors(chain = true)
public class ResourceSpecsCreateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "规格名称", required = true)
@NotBlank(message = "规格名称不能为空")
@Length(max = MagicNumConstant.THIRTY_TWO, message = "规格名称错误-输入长度不能超过32个字符")
@Pattern(regexp = StringConstant.REGEXP_SPECS, message = "规格名称支持字母、数字、汉字、英文横杠、下划线和空白字符")
private String specsName;

@ApiModelProperty(value = "所属业务场景(0:通用,1:dubhe-notebook,2:dubhe-train,3:dubhe-serving)", required = true)
@NotNull(message = "所属业务场景不能为空")
@Min(value = MagicNumConstant.ZERO, message = "所属业务场景错误")
@Max(value = MagicNumConstant.THREE, message = "所属业务场景错误")
private Integer module;

@ApiModelProperty(value = "CPU数量,单位:核", required = true)
@NotNull(message = "CPU数量不能为空")
@Min(value = MagicNumConstant.ZERO, message = "CPU数量不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "CPU数量超限")
private Integer cpuNum;

@ApiModelProperty(value = "GPU数量,单位:核", required = true)
@NotNull(message = "GPU数量不能为空")
@Min(value = MagicNumConstant.ZERO, message = "GPU数量不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "GPU数量超限")
private Integer gpuNum;

@ApiModelProperty(value = "内存大小,单位:M", required = true)
@NotNull(message = "内存数值不能为空")
@Min(value = MagicNumConstant.ZERO, message = "内存不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "内存数值超限")
private Integer memNum;

@ApiModelProperty(value = "工作空间的存储配额,单位:M", required = true)
@NotNull(message = "工作空间的存储配额不能为空")
@Min(value = MagicNumConstant.ZERO, message = "工作空间的存储配额不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "工作空间的存储配额超限")
private Integer workspaceRequest;
}

+ 40
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsDeleteDTO.java View File

@@ -0,0 +1,40 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 资源规格删除
* @date 2021-05-27
*/
@Data
@Accessors(chain = true)
public class ResourceSpecsDeleteDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "id", required = true)
@NotNull(message = "id不能为空")
private Set<Long> ids;
}

+ 51
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsQueryDTO.java View File

@@ -0,0 +1,51 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dubhe.biz.base.constant.MagicNumConstant;
import org.dubhe.biz.db.base.PageQueryBase;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.io.Serializable;

/**
* @description 查询资源规格
* @date 2021-05-27
*/
@Data
@Accessors(chain = true)
public class ResourceSpecsQueryDTO extends PageQueryBase implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty("规格名称")
@Length(max = MagicNumConstant.THIRTY_TWO, message = "规格名称错误")
private String specsName;

@ApiModelProperty("规格类型(0为CPU, 1为GPU)")
private Boolean resourcesPoolType;

@ApiModelProperty("所属业务场景(0:通用,1:dubhe-notebook,2:dubhe-train,3:dubhe-serving)")
@Min(value = MagicNumConstant.ZERO, message = "所属业务场景错误")
@Max(value = MagicNumConstant.THREE, message = "所属业务场景错误")
private Integer module;
}

+ 77
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/ResourceSpecsUpdateDTO.java View File

@@ -0,0 +1,77 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dubhe.biz.base.constant.MagicNumConstant;
import org.dubhe.biz.base.constant.StringConstant;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
* @description 资源规格修改
* @date 2021-05-27
*/
@Data
@Accessors(chain = true)
public class ResourceSpecsUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "id", required = true)
@NotNull(message = "id不能为null")
@Min(value = MagicNumConstant.ONE, message = "id必须大于1")
private Long id;

@ApiModelProperty(value = "规格名称")
@Length(max = MagicNumConstant.THIRTY_TWO, message = "规格名称错误-输入长度不能超过32个字符")
@Pattern(regexp = StringConstant.REGEXP_SPECS, message = "规格名称支持字母、数字、汉字、英文横杠、下划线和空白字符")
private String specsName;

@ApiModelProperty(value = "所属业务场景(0:通用,1:dubhe-notebook,2:dubhe-train,3:dubhe-serving)", required = true)
@NotNull(message = "所属业务场景不能为空")
@Min(value = MagicNumConstant.ZERO, message = "所属业务场景错误")
@Max(value = MagicNumConstant.THREE, message = "所属业务场景错误")
private Integer module;

@ApiModelProperty(value = "CPU数量,单位:核")
@Min(value = MagicNumConstant.ZERO, message = "CPU数量不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "CPU数量超限")
private Integer cpuNum;

@ApiModelProperty(value = "GPU数量,单位:核")
@Min(value = MagicNumConstant.ZERO, message = "GPU数量不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "GPU数量超限")
private Integer gpuNum;

@ApiModelProperty(value = "内存大小,单位:M")
@Min(value = MagicNumConstant.ZERO, message = "内存不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "内存数值超限")
private Integer memNum;

@ApiModelProperty(value = "工作空间的存储配额,单位:M")
@Min(value = MagicNumConstant.ZERO, message = "工作空间的存储配额不能小于0")
@Max(value = MagicNumConstant.TWO_BILLION, message = "工作空间的存储配额超限")
private Integer workspaceRequest;
}

+ 39
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleAuthUpdateDTO.java View File

@@ -0,0 +1,39 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description
* @date 2021-05-17
*/
@Data
public class RoleAuthUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@NotNull(message = "角色id不能为空")
private Long roleId;

@NotNull(message = "权限组id不能为空")
private Set<Long> authIds;
}

+ 55
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleCreateDTO.java View File

@@ -0,0 +1,55 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.Menu;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Set;

/**
* @description 角色创建 DTO
* @date 2020-06-29
*/
@Data
public class RoleCreateDTO implements Serializable {

private static final long serialVersionUID = -8685787591892312697L;

private Long id;

@Size(max = 255, message = "名称长度不能超过255")
private String name;

/**
* 权限
*/
@Size(max = 255, message = "默认权限长度不能超过255")
private String permission;

@Size(max = 255, message = "备注长度不能超过255")
private String remark;

private Set<Menu> menus;

private Boolean deleted;


}

+ 48
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleDTO.java View File

@@ -0,0 +1,48 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.vo.AuthVO;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Set;

/**
* @description 角色的实体类
* @date 2020-06-01
*/
@Data
public class RoleDTO implements Serializable {

private static final long serialVersionUID = -7250301719333643312L;
private Long id;

private String name;

private String remark;

private String permission;

private Set<MenuDTO> menus;

private Set<AuthVO> auths;

private Timestamp createTime;
}

+ 38
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleDeleteDTO.java View File

@@ -0,0 +1,38 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 角色删除 dto
* @date 2020-06-29
*/
@Data
public class RoleDeleteDTO implements Serializable {

private static final long serialVersionUID = -6599428238298923816L;

@NotEmpty(message = "角色id不能为空")
private Set<Long> ids;

}

+ 44
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleQueryDTO.java View File

@@ -0,0 +1,44 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 角色请求实体DTO
* @date 2020-06-01
*/
@Data
public class RoleQueryDTO implements Serializable {

private static final long serialVersionUID = 1266792048261542801L;
@Query(blurry = "name,remark")
private String blurry;

@Query(propName = "create_time", type = Query.Type.BETWEEN)
private List<Timestamp> createTime;

@Query(propName = "deleted", type = Query.Type.EQ)
private Boolean deleted = false;

}

+ 35
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleSmallDTO.java View File

@@ -0,0 +1,35 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
* @description 角色的实体转换
* @date 2020-06-01
*/
@Data
public class RoleSmallDTO implements Serializable {

private static final long serialVersionUID = -6601893040730122984L;
private Long id;

private String name;
}

+ 75
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/RoleUpdateDTO.java View File

@@ -0,0 +1,75 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.Menu;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Objects;
import java.util.Set;

/**
* @description 角色修改 DTO
* @date 2020-06-29
*/
@Data
public class RoleUpdateDTO implements Serializable {

private static final long serialVersionUID = -8685787591892312697L;

private Long id;

@Size(max = 255, message = "名称长度不能超过255")
private String name;

/**
* 权限
*/
@Size(max = 255, message = "默认权限长度不能超过255")
private String permission;

@Size(max = 255, message = "备注长度不能超过255")
private String remark;

private Set<Menu> menus;

private Boolean deleted;

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
RoleUpdateDTO role = (RoleUpdateDTO) o;
return Objects.equals(id, role.id);
}

@Override
public int hashCode() {
return Objects.hash(id);
}

public @interface Update {
}

}

+ 52
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamCreateDTO.java View File

@@ -0,0 +1,52 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.User;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 团队创建实体
* @date 2020-06-29
*/
@Data
public class TeamCreateDTO implements Serializable {

private static final long serialVersionUID = 8922409236439269071L;


@NotBlank
private String name;

@NotNull
private Boolean enabled;

/**
* 团队成员
*/
private List<User> teamUserList;

private Timestamp createTime;

}

+ 50
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamQueryDTO.java View File

@@ -0,0 +1,50 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
import java.util.Set;

/**
* @description 团队查询DTO
* @date 2020-06-01
*/
@Data
public class TeamQueryDTO implements Serializable {

private static final long serialVersionUID = 700075706114767404L;
@Query(type = Query.Type.IN, propName = "id")
private Set<Long> ids;

@Query(type = Query.Type.LIKE)
private String name;

@Query
private Boolean enabled;

@Query
private Long pid;

@Query(propName = "create_time", type = Query.Type.BETWEEN)
private List<Timestamp> createTime;
}

+ 55
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamUpdateDTO.java View File

@@ -0,0 +1,55 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.User;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description
* @date 2020-06-29
*/
@Data
public class TeamUpdateDTO implements Serializable {

private static final long serialVersionUID = 8922409236439269071L;

@NotNull
private Long id;

@NotBlank
private String name;

@NotNull
private Boolean enabled;

/**
* 团队成员
*/
private List<User> teamUserList;

private Timestamp createTime;


}

+ 33
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/TeamUserRoleSmallDTO.java View File

@@ -0,0 +1,33 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
* @description 团队用户角色DTO
* @date 2020-06-01
*/
@Data
public class TeamUserRoleSmallDTO implements Serializable {
private static final long serialVersionUID = 6589829002637730619L;
private Long id;
private RoleSmallDTO role;
}

+ 34
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserAvatarUpdateDTO.java View File

@@ -0,0 +1,34 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.Size;

/**
* @description 修改头像
* @date 2020-06-01
*/
@Data
public class UserAvatarUpdateDTO {

@Size(max = 255, message = "名称长度不能超过255")
private String realName;

@Size(max = 255, message = "头像长度不能超过255")
private String path;
}

+ 55
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserCenterUpdateDTO.java View File

@@ -0,0 +1,55 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.dubhe.admin.domain.entity.User;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
* @description 用户中心修改DTO
* @date 2020-06-29
*/
@Data
public class UserCenterUpdateDTO implements Serializable {

private static final long serialVersionUID = -6196691710092809498L;
@NotNull(groups = User.Update.class)
private Long id;

@ApiModelProperty(value = "用户昵称")
@NotBlank(message = "用户昵称不能为空")
@Size(max = 255, message = "昵称长度不能超过255")
private String nickName;

@ApiModelProperty(value = "性别")
private String sex;

@NotBlank
@Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$", message = "手机号格式有误")
private String phone;

private String remark;

}

+ 84
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserCreateDTO.java View File

@@ -0,0 +1,84 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.Role;
import org.dubhe.admin.domain.entity.UserAvatar;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* @description 用户创建DTO
* @date 2020-06-29
*/
@Data
public class UserCreateDTO implements Serializable {

private static final long serialVersionUID = -6196691710092809498L;


@NotBlank
@Size(max = 255, message = "名称长度不能超过255")
private String username;

/**
* 用户昵称
*/
@NotBlank
@Size(max = 255, message = "昵称长度不能超过255")
private String nickName;

/**
* 性别
*/
private String sex;

@NotBlank
@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
private String email;

@NotBlank
@Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$", message = "手机号格式有误")
private String phone;

@NotNull
private Boolean enabled;

private String password;

private Date lastPasswordResetTime;

@Size(max = 255, message = "昵称长度不能超过255")
private String remark;

private Long avatarId;


private UserAvatar userAvatar;


@NotEmpty
private List<Role> roles;

private Boolean deleted;

}

+ 40
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserDeleteDTO.java View File

@@ -0,0 +1,40 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Set;

/**
* @description 用户删除 dto
* @date 2020-06-29
*/
@Data
public class UserDeleteDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "用户id集合")
@NotEmpty
private Set<Long> ids;

}

+ 62
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserEmailUpdateDTO.java View File

@@ -0,0 +1,62 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
* @description 用户邮箱修改信息
* @date 2020-06-01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "邮箱修改请求实体", description = "邮箱修改请求实体")
public class UserEmailUpdateDTO implements Serializable {

private static final long serialVersionUID = -5997222212073811466L;

@NotNull(message = "用户ID不能为空")
@ApiModelProperty(value = "用户ID", name = "userId", example = "1")
private Long userId;

@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
@NotEmpty(message = "邮箱地址不能为空")
@ApiModelProperty(value = "邮箱地址", name = "email", example = "xx@163.com")
private String email;


@NotNull(message = "密码不能为空")
@ApiModelProperty(value = "密码", name = "password", example = "123456")
private String password;

@NotNull(message = "激活码不能为空")
@ApiModelProperty(value = "激活码", name = "code", example = "998877")
private String code;
}

+ 50
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupDTO.java View File

@@ -0,0 +1,50 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Set;

/**
* @description 新增用户组实体DTO
* @date 2021-05-08
*/
@Data
public class UserGroupDTO implements Serializable {
private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "用户组id")
private Long id;

@ApiModelProperty(value = "用户组名称")
@NotBlank(message = "用户组名称不能为空")
@Length(max = 32, message = "名称长度不能超过32")
private String name;

@ApiModelProperty("用户组描述")
@Length(max = 255, message = "描述长度不能超过255")
private String description;

@ApiModelProperty(value = "用户id集合")
private Set<Long> userIds;

}

+ 36
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupDeleteDTO.java View File

@@ -0,0 +1,36 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 删除用户组DTO
* @date 2021-05-11
*/
@Data
public class UserGroupDeleteDTO implements Serializable {

private static final long serialVersionUID = 1L;

@NotNull(message = "用户组id不能为空")
private Set<Long> ids;
}

+ 41
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupQueryDTO.java View File

@@ -0,0 +1,41 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dubhe.biz.db.base.PageQueryBase;

import java.io.Serializable;

/**
* @description 获取用户组信息
* @date 2021-05-06
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode
public class UserGroupQueryDTO extends PageQueryBase implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "用户组id或名称")
private String keyword;

}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserGroupUpdDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 用户组成员操作DTO
* @date 2021-05-11
*/
@Data
public class UserGroupUpdDTO implements Serializable {
private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "用户组id")
@NotNull(message = "用户组id不能为空")
private Long groupId;

@ApiModelProperty(value = "用户id集合")
private Set<Long> userIds;

@ApiModelProperty(value = "角色id集合")
private Set<Long> roleIds;
}

+ 36
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserPassUpdateDTO.java View File

@@ -0,0 +1,36 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;

import javax.validation.constraints.Size;

/**
* @description 修改密码的
* @date 2020-06-01
*/
@Data
public class UserPassUpdateDTO {

@Size(max = 255, message = "密码长度不能超过255")
private String oldPass;

@Size(max = 255, message = "密码长度不能超过255")
private String newPass;
}

+ 53
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserQueryDTO.java View File

@@ -0,0 +1,53 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.biz.db.annotation.Query;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 用户查询DTO
* @date 2020-06-01
*/

@Data
public class UserQueryDTO implements Serializable {

private static final long serialVersionUID = -6863842533017963450L;
@Query
private Long id;

@Query(blurry = "email,username,nick_name")
private String blurry;

@Query
private Boolean enabled;

@Query(propName = "deleted", type = Query.Type.EQ)
private Boolean deleted = false;

private Long roleId;


@Query(propName = "create_time", type = Query.Type.BETWEEN)
private List<Timestamp> createTime;
}

+ 72
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRegisterDTO.java View File

@@ -0,0 +1,72 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
* @description 用户注册请求实体
* @date 2020-06-01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户注册请求实体", description = "用户注册请求实体")
public class UserRegisterDTO implements Serializable {

private static final long serialVersionUID = -7351676930575145394L;

@ApiModelProperty(value = "账号", name = "username", example = "test")
@NotEmpty(message = "账号不能为空")
private String username;

@ApiModelProperty(value = "昵称", name = "nickName", example = "xt")
private String nickName;

@ApiModelProperty(value = "性别", name = "sex", example = "1")
private Integer sex;

@NotEmpty(message = "邮箱地址不能为空")
@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
@ApiModelProperty(value = "邮箱地址", name = "email", example = "xxx@163.com")
private String email;

@NotNull(message = "手机号不能为空")
@Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$", message = "手机号格式有误")
@ApiModelProperty(value = "手机号", name = "phone", example = "13823370116")
private String phone;


@NotNull(message = "密码不能为空")
@ApiModelProperty(value = "密码", name = "password", example = "123456")
private String password;

@NotNull(message = "激活码不能为空")
@ApiModelProperty(value = "激活码", name = "code", example = "998877")
private String code;

}

+ 51
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRegisterMailDTO.java View File

@@ -0,0 +1,51 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
* @description 用户注册邮箱请求实体
* @date 2020-06-01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "发送邮箱验证码请求实体", description = "发送邮箱验证码请求实体")
public class UserRegisterMailDTO implements Serializable {
private static final long serialVersionUID = 5063855150803214253L;

@NotNull(message = "类型不能为空")
@ApiModelProperty(value = "类型 1 用户注册 2 修改邮箱 3 其他 4 忘记密码", name = "type", example = "1")
private Integer type;

@NotEmpty(message = "邮箱地址不能为空")
@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
@ApiModelProperty(value = "邮箱地址", name = "email", example = "xxx@163.com")
private String email;

}

+ 57
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserResetPasswordDTO.java View File

@@ -0,0 +1,57 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
* @description 用户重置密码请求实体
* @date 2020-06-01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户重置密码请求实体", description = "用户重置密码请求实体")
public class UserResetPasswordDTO implements Serializable {


private static final long serialVersionUID = -4249894291904235207L;

@NotEmpty(message = "邮箱地址不能为空")
@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
@ApiModelProperty(value = "邮箱地址", name = "email", example = "xxx@163.com")
private String email;

@NotNull(message = "密码不能为空")
@ApiModelProperty(value = "密码", name = "password", example = "123456")
private String password;

@NotNull(message = "激活码不能为空")
@ApiModelProperty(value = "激活码", name = "code", example = "998877")
private String code;

}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserRoleUpdateDTO.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;

/**
* @description 批量修改用户组用户的角色
* @date 2021-05-12
*/
@Data
public class UserRoleUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value = "用户组id")
@NotNull(message = "用户组id不能为空")
private Long groupId;

@ApiModelProperty("角色id集合")
@NotNull(message = "角色id不能为空")
private Set<Long> roleIds;

}

+ 40
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserStateUpdateDTO.java View File

@@ -0,0 +1,40 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
* @description 批量修改用户组用户状态DTO
* @date 2021-05-12
*/
@Data
public class UserStateUpdateDTO implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty(value ="用户组id" )
@NotNull(message = "用户组id不能为空")
private Long groupId;

@ApiModelProperty("用户状态:激活:true,锁定:false")
private boolean enabled;
}

+ 86
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/dto/UserUpdateDTO.java View File

@@ -0,0 +1,86 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/

package org.dubhe.admin.domain.dto;

import lombok.Data;
import org.dubhe.admin.domain.entity.Role;
import org.dubhe.admin.domain.entity.User;
import org.dubhe.admin.domain.entity.UserAvatar;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* @description 用户修改DTO
* @date 2020-06-29
*/
@Data
public class UserUpdateDTO implements Serializable {

private static final long serialVersionUID = -6196691710092809498L;
@NotNull(groups = User.Update.class)
private Long id;

@NotBlank
@Size(max = 255, message = "名称长度不能超过255")
private String username;

/**
* 用户昵称
*/
@NotBlank
@Size(max = 255, message = "昵称长度不能超过255")
private String nickName;

/**
* 性别
*/
private String sex;

@NotBlank
@Pattern(regexp = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", message = "邮箱地址格式有误")
private String email;

@NotBlank
@Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$", message = "手机号格式有误")
private String phone;

@NotNull
private Boolean enabled;

private String password;

private Date lastPasswordResetTime;

@Size(max = 255, message = "昵称长度不能超过255")
private String remark;

private Long avatarId;


private UserAvatar userAvatar;


@NotEmpty
private List<Role> roles;

private Boolean deleted;

}

+ 43
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Auth.java View File

@@ -0,0 +1,43 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.dubhe.biz.db.entity.BaseEntity;

/**
* @description 权限组实体类
* @date 2021-05-14
*/
@Data
@TableName("auth")
public class Auth extends BaseEntity {

@TableId(value = "id", type = IdType.AUTO)
private Long id;

@TableField(value = "auth_code")
private String authCode;

@TableField(value = "description")
private String description;

}

+ 45
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/AuthPermission.java View File

@@ -0,0 +1,45 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
* @description
* @date 2021-05-14
*/
@Data
@TableName("auth_permission")
public class AuthPermission implements Serializable {
private static final long serialVersionUID = 1L;

/**
* 权限组id
*/
@TableField(value = "auth_id")
private Long authId;

/**
* 权限id
*/
@TableField(value = "permission_id")
private Long permissionId;
}

+ 45
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/DataSequence.java View File

@@ -0,0 +1,45 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
* @description 序列表
* @date 2020-09-23
*/
@Data
@TableName("data_sequence")
public class DataSequence {

@TableId(value = "id", type = IdType.AUTO)
private Long id;

@TableField(value = "business_code")
private String businessCode;

@TableField(value = "start")
private Long start;

@TableField(value = "step")
private Long step;

}

+ 75
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Dict.java View File

@@ -0,0 +1,75 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @description 字典实体
* @date 2020-06-01
*/
@Data
@TableName("dict")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Dict implements Serializable {

private static final long serialVersionUID = -3995510721958462699L;
@TableId(value = "id", type = IdType.AUTO)
@NotNull(groups = Update.class)
private Long id;

/**
* 名称
*/
@TableField(value = "name")
@NotBlank
@Length(max = 255, message = "名称长度不能超过255")
private String name;

/**
* 备注
*/
@TableField(value = "remark")
@Length(max = 255, message = "备注长度不能超过255")
private String remark;


@TableField(value = "create_time")
private Timestamp createTime;

@TableField(exist = false)
private List<org.dubhe.admin.domain.entity.DictDetail> dictDetails;

public @interface Update {
}
}

+ 77
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/DictDetail.java View File

@@ -0,0 +1,77 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 字典详情实体
* @date 2020-06-01
*/
@Data
@TableName("dict_detail")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DictDetail implements Serializable {

private static final long serialVersionUID = 299242717738411209L;
@TableId(value = "id", type = IdType.AUTO)
@NotNull(groups = Update.class)
private Long id;

/**
* 字典标签
*/
@TableField(value = "label")
@Length(max = 255, message = "字典标签长度不能超过255")
private String label;

/**
* 字典值
*/
@TableField(value = "value")
@Length(max = 255, message = "字典值长度不能超过255")
private String value;

/**
* 排序
*/
@TableField(value = "sort")
private String sort = "999";

@TableField(value = "dict_id")
private Long dictId;

@TableField(value = "create_time")
private Timestamp createTime;

public @interface Update {
}
}

+ 46
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Group.java View File

@@ -0,0 +1,46 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dubhe.biz.db.entity.BaseEntity;

/**
* @description 用户组实体类
* @date 2021-05-06
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("pt_group")
public class Group extends BaseEntity {

@TableId(value = "id", type = IdType.AUTO)
private Long id;

@TableField(value = "name")
private String name;

@TableField(value = "description")
private String description;
}

+ 106
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Log.java View File

@@ -0,0 +1,106 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.domain.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.sql.Timestamp;

/**
* @description 日志实体
* @date 2020-06-01
*/
@Data
@TableName("log")
@NoArgsConstructor
public class Log implements Serializable {

private static final long serialVersionUID = -4447644691937249474L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;

/**
* 操作用户
*/
@TableField(value = "username")
private String username;

/**
* 描述
*/
@TableField(value = "description")
private String description;

/**
* 方法名
*/
@TableField(value = "label")
private String method;

/**
* 参数
*/
@TableField(value = "text")
private String params;

/**
* 日志类型
*/
@TableField(value = "log_type")
private String logType;

/**
* 请求ip
*/
@TableField(value = "request_ip")
private String requestIp;

/**
* 浏览器
*/
@TableField(value = "browser")
private String browser;

/**
* 请求耗时
*/
@TableField(value = "time")
private Long time;

/**
* 异常详细
*/
@TableField(value = "exception_detail")
private byte[] exceptionDetail;

/**
* 创建日期
*/
@TableField(value = "create_time")
private Timestamp createTime;

public Log(String logType, Long time) {
this.logType = logType;
this.time = time;
}
}

+ 109
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Menu.java View File

@@ -0,0 +1,109 @@
/**
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dubhe.biz.db.entity.BaseEntity;

import java.io.Serializable;

/**
* @description 菜单实体
* @date 2020-11-30
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("menu")
public class Menu extends BaseEntity implements Serializable {

private static final long serialVersionUID = 3100515433018008777L;

@TableId(value = "id", type = IdType.AUTO)
private Long id;

private String name;

@TableField(value = "sort")
private Long sort = 999L;

@TableField(value = "path")
private String path;

@TableField(value = "component")
private String component;

/**
* 类型,目录、菜单、按钮
*/
@TableField(value = "type")
private Integer type;

/**
* 权限
*/
@TableField(value = "permission")
private String permission;

@TableField(value = "component_name")
private String componentName;

@TableField(value = "icon")
private String icon;

/**
* 布局类型
*/
@TableField(value = "layout")
private String layout;

@TableField(value = "cache")
private Boolean cache;

@TableField(value = "hidden")
private Boolean hidden;

/**
* 上级菜单ID
*/
@TableField(value = "pid")
private Long pid;

@TableField(value = "deleted",fill = FieldFill.INSERT)
private Boolean deleted;

/**
* 回到上一级
*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String backTo;

/**
* 扩展配置
*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String extConfig;


public @interface Update {
}
}

+ 48
- 0
dubhe-server/admin/src/main/java/org/dubhe/admin/domain/entity/Permission.java View File

@@ -0,0 +1,48 @@
/**
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =============================================================
*/
package org.dubhe.admin.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dubhe.biz.db.entity.BaseEntity;

/**
* @description
* @date 2021-04-26
*/
@Data
@TableName("permission")
@Accessors(chain = true)
public class Permission extends BaseEntity {

@TableId(value = "id", type = IdType.AUTO)
private Long id;

@TableId(value = "pid")
private Long pid;

@TableField(value = "name")
private String name;

@TableField(value = "permission")
private String permission;

}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save