Skip to content

Commit

Permalink
代码优化
Browse files Browse the repository at this point in the history
  • Loading branch information
白衣 committed Aug 3, 2020
1 parent fccbe4b commit ce00ed3
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 44 deletions.
42 changes: 15 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,45 @@
Welcome to the opscloud wiki!

# OpsCloud简介
<img src="https://img.shields.io/badge/version-3.0.0-brightgreen.svg"></img>
<img src="https://img.shields.io/badge/version-3.0.1-brightgreen.svg"></img>
<img src="https://img.shields.io/badge/java-8-brightgreen.svg"></img>
<img src="https://img.shields.io/badge/springboot-2.2.2.RELEASE-brightgreen.svg"></img>
<img src="https://img.shields.io/badge/mysql-8-brightgreen.svg"></img>

<br>
Opscloud面向云的DevOps平台,为企业内的研发提供运维服务
OpsCloud面向云的DevOps平台


开源协议:<a style="color:#2b669a" href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target="_blank">GNU General Public License v2</a>

### 帮助文档

<a style="color:#2b669a" href="https://www.kancloud.cn/ixrjog/opscloud/1780645" target="_blank">传送门 https://www.kancloud.cn/ixrjog/opscloud/1780645</a>

+ 3.0.1版本发布
+ 支持Kubernetes管理
+ 容器堡垒机
+ Ansible配置文件订阅
+ 阿里云RAM管理
+ 阿里云日志服务同步
+ 支持Jumpserver2.0.1版本
+ 多云支持-腾讯云CVM
<a style="color:#2b669a" href="https://www.kancloud.cn/ixrjog/opscloud/1780645" target="_blank">传送门:https://www.kancloud.cn/ixrjog/opscloud/1780645</a>

+ API接口文档
+ example.org/oc3/doc.html

+ 平台特性
+ 基于角色的访问控制RBAC(Role-Based Access Control),LDAP完整支持
+ 基于角色的访问控制RBAC(Role-Based Access Control)+LDAP完全管理
+ 配置文件加密(密码, AK),数据库敏感字段加密
+ 代码即文档,全接口API
+ 前后端分离,支持跨域部署

+ 自动化运维特性
+ 外部平台或工具原生API调用
+ 多版本API支持(逐步升级)
+ 以用户纬度数据映射全自动配置管理

+ 核心功能
+ 核心功能(自动化配置)
+ 多云主机管理
+ ECS,EC2,CVM,ESXi/VM
+ 阿里云
+ LogService,RAM
+ 堡垒机
+ 终端版Jumpserver全自动配置
+ Jumpserver
+ Web终端
+ 支持多窗口批量操作(看日志利器)
+ 支持低权限/高权限登录(工单中申请权限)
+ Zabbix(API4.0)全自动运维
+ 多云支持
+ 阿里云
+ AWS
+ 腾讯云
+ 私有云VMware-vSphere
+ 账户对多平台自动映射(免去日常权限申请和配置)
+ 配置管理
+ Ansible,配置文件订阅
+ 监控
+ Zabbix
+ Kubernetes

#### 欢迎提供更为详细的安装文档
+ [email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ public BusinessWrapper<LogVO.LoginVO> loginCheck(LogParam.LoginParam loginParam)
loginVO.setToken(token);
authBaseFacade.setOcUserPassword(ocUser, loginParam.getPassword());
initialUser(ocUser);
return new BusinessWrapper(loginVO);
return new BusinessWrapper<>(loginVO);
} else {
return new BusinessWrapper(ErrorEnum.USER_LOGIN_FAILUER);
return new BusinessWrapper<>(ErrorEnum.USER_LOGIN_FAILUER);
}
}

Expand All @@ -92,7 +92,7 @@ private BusinessWrapper<OcUser> getLoginUser(PersonCredential credential) {
if (ocUser == null)
return new BusinessWrapper(ErrorEnum.USER_NOT_EXIST);
if (!ocUser.getIsActive())
return new BusinessWrapper(ErrorEnum.ACCOUNT_IS_DISABLE);
return new BusinessWrapper(ErrorEnum.ACCOUNT_IS_LOCKED);
return new BusinessWrapper<>(ocUser);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ public enum ErrorEnum {
USER_EMAIL_NON_COMPLIANCE_WITH_RULES(12002, "用户邮箱不合规!"),
USER_NOT_EXIST(12002, "用户不存在!"),
USER_IS_UNACTIVE(12002, "用户被禁用不能修改信息!"),
// Account is disabled
ACCOUNT_IS_DISABLE(12002, "账户被禁用!"),
// Account is locked
ACCOUNT_IS_LOCKED(12002, "账户被锁定!"),
//applyUserApiToken
USER_APPLY_API_TOKEN_COMMENT_IS_NULL(12003,"申请ApiToken描述不能为空"),
USER_APPLY_API_TOKEN_EXPIRED_TIME_FORMAT_ERROR(12003,"申请ApiToken过期时间为空或格式错误"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import com.baiyi.opscloud.domain.HttpResult;
import com.baiyi.opscloud.domain.param.org.DepartmentMemberParam;
import com.baiyi.opscloud.domain.param.org.DepartmentParam;
import com.baiyi.opscloud.domain.vo.org.DepartmentTreeVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentMemberVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentVO;
import com.baiyi.opscloud.domain.vo.org.OrgChartVO;
import com.baiyi.opscloud.domain.vo.org.*;
import com.baiyi.opscloud.facade.OrgFacade;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
Expand Down Expand Up @@ -120,4 +117,16 @@ public HttpResult<Boolean> checkUserInTheDepartment() {
return new HttpResult<>(orgFacade.checkUserInTheDepartment());
}

@ApiOperation(value = "校验用户是否加入部门")
@GetMapping(value = "/department/username/check", produces = MediaType.APPLICATION_JSON_VALUE)
public HttpResult<Boolean> checkUserInTheDepartment(@RequestParam String username) {
return new HttpResult<>(orgFacade.checkUserInTheDepartment(username));
}

@ApiOperation(value = "查询用户审批")
@GetMapping(value = "/approval/user/query", produces = MediaType.APPLICATION_JSON_VALUE)
public HttpResult<OrgApprovalVO.OrgApproval> queryOrgApprovalByName(@RequestParam String username) {
return new HttpResult<>(orgFacade.queryOrgApprovalByName(username));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import com.baiyi.opscloud.domain.DataTable;
import com.baiyi.opscloud.domain.param.org.DepartmentMemberParam;
import com.baiyi.opscloud.domain.param.org.DepartmentParam;
import com.baiyi.opscloud.domain.vo.org.DepartmentTreeVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentMemberVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentVO;
import com.baiyi.opscloud.domain.vo.org.OrgChartVO;
import com.baiyi.opscloud.domain.vo.org.*;

/**
* @Author baiyi
Expand Down Expand Up @@ -60,4 +57,7 @@ public interface OrgFacade {

BusinessWrapper<Boolean> checkUserInTheDepartment();

BusinessWrapper<Boolean> checkUserInTheDepartment(String username);

BusinessWrapper<OrgApprovalVO.OrgApproval> queryOrgApprovalByName(String userName);
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@
import com.baiyi.opscloud.domain.generator.opscloud.OcUser;
import com.baiyi.opscloud.domain.param.org.DepartmentMemberParam;
import com.baiyi.opscloud.domain.param.org.DepartmentParam;
import com.baiyi.opscloud.domain.vo.org.DepartmentTreeVO;
import com.baiyi.opscloud.domain.vo.org.OrgChartVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentMemberVO;
import com.baiyi.opscloud.domain.vo.org.OrgDepartmentVO;
import com.baiyi.opscloud.domain.vo.org.*;
import com.baiyi.opscloud.domain.vo.tree.TreeVO;
import com.baiyi.opscloud.facade.OrgFacade;
import com.baiyi.opscloud.facade.SettingBaseFacade;
Expand Down Expand Up @@ -382,5 +379,21 @@ public BusinessWrapper<Boolean> checkUserInTheDepartment() {
return BusinessWrapper.SUCCESS;
}

@Override
public BusinessWrapper<Boolean> checkUserInTheDepartment(String username) {
OcUser ocUser = ocUserService.queryOcUserByUsername(username);
List<OcOrgDepartmentMember> members = ocOrgDepartmentMemberService.queryOcOrgDepartmentMemberByUserId(ocUser.getId());
if (CollectionUtils.isEmpty(members))
return new BusinessWrapper<>(ErrorEnum.ORG_DEPARTMENT_USER_NOT_IN_THE_DEPT);
return BusinessWrapper.SUCCESS;
}

@Override
public BusinessWrapper<OrgApprovalVO.OrgApproval> queryOrgApprovalByName(String username) {
OcUser ocUser = ocUserService.queryOcUserByUsername(username);
if (ocUser == null)
return new BusinessWrapper<>(ErrorEnum.USER_NOT_EXIST);
OrgApprovalVO.OrgApproval orgApproval = departmentMemberDecorator.decorator(ocUser.getId());
return new BusinessWrapper<>(orgApproval);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,10 @@ void beReinstatedUserTest() {

}

@Test
void test() {
OcUser ocUser = ocUserService.queryOcUserByUsername("jinshan");
userFacade.beReinstatedUser(ocUser.getId());
}

}

0 comments on commit ce00ed3

Please sign in to comment.