@@ -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) | |||
@@ -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> |
@@ -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); | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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 "); | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} | |||
@@ -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> { | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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> { | |||
} |
@@ -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(); | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} | |||
@@ -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(); | |||
} | |||
} |
@@ -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(); | |||
} | |||
} |
@@ -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(); | |||
} | |||
} |
@@ -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(); | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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= ******}"; | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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 { | |||
} | |||
} |
@@ -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; | |||
} |