点狮OA:企业级开源OA系统推荐
作为一名技术从业者,我一直关注着国内开源OA系统的发展。今天要向大家推荐的是一款功能全面、技术先进的企业级OA系统------点狮OA。它不仅提供了完善的办公自动化功能,更在技术架构和代码质量上达到了工业级水准。
相关链接
源码地址
- 🎨 Gitee:https://gitee.com/shandong-dianshi-information/L-ONE.git
- 💻 GitCode:https://gitcode.com/Glory_Lion/pointlion-cloud

为什么选择点狮OA?
技术架构:微服务+多端适配
点狮OA采用了业界领先的Spring Cloud Alibaba微服务架构,支持:
- 后端架构:JDK 8 + Spring Boot 2.7 / JDK 17+21 + Spring Boot 3.2
- 前端技术:Vue3 + Element-Plus、Vue3 + Ant Design Vue、Vue2 + Element UI
- 移动端:基于uni-app实现,一份代码支持APP、小程序、H5多端适配
- 数据库兼容:MySQL、Oracle、PostgreSQL、SQL Server、达梦DM、TiDB等
核心功能模块
点狮OA涵盖了企业办公的方方面面,功能点超过200+个:
1. 办公自动化(OA)
java
// 以日程管理为例,展示技术实现
@RestController
@RequestMapping("/oa/schedule")
public class ScheduleInstanceController {
@Autowired
private ScheduleInstanceService scheduleService;
/**
* 创建日程安排
*/
@PostMapping("/create")
@Operation(summary = "创建日程")
@PreAuthorize("@ss.hasPermission('oa:schedule:create')")
public CommonResult<String> createSchedule(@Valid @RequestBody ScheduleInstanceCreateReqVO createReqVO) {
// 支持日程分享给其他用户
return success(scheduleService.createSchedule(createReqVO));
}
}
核心OA功能包括:
- 日程管理:个人日程安排与分享
- 通知公告:企业内部通知发布与查看
- 日报周报:工作汇报与审批流程
- 各类申请:请假、出差、用车、会议室、费用报销等
- 公文管理:收文登记、发文拟稿、审核签发、归档管理

2. 人力资源管理(HRM)
- 员工档案:完整的员工信息管理(教育经历、工作经历、家庭成员等)
- 考勤管理:打卡签到、地图定位、考勤统计
- 薪酬管理:工资条、工资计算、工资发放
- 招聘管理:职位发布、简历管理、面试安排
- 绩效考核:考核指标设置、绩效评分、结果查看
3. 审批流程引擎
点狮OA集成了强大的Flowable工作流引擎,支持:
xml
<!-- Flowable流程配置示例 -->
<bean id="processEngine" class="org.flowable.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</bean>
<!-- 支持会签、或签、依次审批等复杂流程 -->
<serviceTask id="approvalTask" name="审批任务">
<multiInstanceLoopCharacteristics isSequential="false">
<loopCardinality>${nrOfInstances}</loopCardinality>
<completionCondition>${nrOfCompletedInstances >= nrOfInstances}</completionCondition>
</multiInstanceLoopCharacteristics>
</serviceTask>
特色功能:
- 双设计器:仿钉钉/飞书的轻量设计器 + BPMN标准设计器
- 复杂审批:会签、或签、依次审批、驳回、转办、委派
- 超时处理:自动审批、提醒、超时处理
- 子流程:支持同步/异步子流程
4. 多租户支持
java
// 多租户架构实现示例
@Component
@Aspect
public class TenantAspect {
@Around("@annotation(tenantIgnore)")
public Object around(ProceedingJoinPoint point, TenantIgnore tenantIgnore) throws Throwable {
// 多租户数据隔离逻辑
Long tenantId = TenantContextHolder.getTenantId();
// 修改SQL语句添加租户条件
return point.proceed();
}
}

- SaaS支持:完整的租户隔离机制
- 租户套餐:自定义每个租户的权限
- 数据权限:支持按部门、岗位等维度的数据权限控制
技术亮点
1. 代码质量
- 113770行Java代码,42462行代码注释
- 遵循《阿里巴巴Java开发手册》规范
- 完整的单元测试覆盖
java
// 代码示例:统一的API响应格式
@Data
public class CommonResult<T> {
private static final int SUCCESS_CODE = 0;
private static final String SUCCESS_MSG = "操作成功";
@ApiModelProperty(value = "响应码")
private Integer code;
@ApiModelProperty(value = "响应消息")
private String msg;
@ApiModelProperty(value = "响应数据")
private T data;
public static <T> CommonResult<T> success(T data) {
CommonResult<T> result = new CommonResult<>();
result.code = SUCCESS_CODE;
result.msg = SUCCESS_MSG;
result.data = data;
return result;
}
}
2. 性能优化
- Redis缓存:提升系统性能
- 数据库优化:MyBatis Plus增强,支持动态数据源
- 服务保障:Sentinel限流、熔断、降级
- 分布式锁:基于Redisson实现
java
// 分布式锁使用示例
@Service
public class OrderServiceImpl {
@Autowired
private RedissonClient redissonClient;
public void createOrder(Order order) {
RLock lock = redissonClient.getLock("order:create:" + order.getUserId());
try {
// 尝试加锁,最多等待5秒,锁自动释放时间10秒
if (lock.tryLock(5, 10, TimeUnit.SECONDS)) {
// 业务逻辑处理
processOrder(order);
}
} finally {
lock.unlock();
}
}
}
3. 扩展性设计
- 模块化设计:清晰的模块划分
- 代码生成器:一键生成前后端代码
- 插件化架构:支持自定义扩展
部署方案
点狮OA支持多种部署方式:
yaml
# Docker Compose部署示例
version: '3'
services:
# MySQL数据库
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- mysql-data:/var/lib/mysql
# Redis缓存
redis:
image: redis:6.0
command: redis-server --appendonly yes
volumes:
- redis-data:/data
# Nacos注册中心
nacos:
image: nacos/nacos-server:2.3.2
environment:
MODE: standalone
ports:
- "8848:8848"
# 点狮OA服务
pointlion-oa:
image: pointlion/pointlion-oa:latest
ports:
- "8080:8080"
depends_on:
- mysql
- redis
- nacos
实战案例
企业日常办公场景
- 请假审批:员工发起请假 → 主管审批 → HR备案 → 自动更新考勤
- 会议室预约:查看会议室状态 → 选择时间段 → 填写会议信息 → 自动发送通知
- 费用报销:上传发票 → 填写报销信息 → 财务审核 → 自动生成报销记录
技术实现细节
java
// 请假审批实现示例
@Service
public class LeaveApplyServiceImpl {
@Autowired
private ProcessRuntime processRuntime;
@Autowired
private TaskRuntime taskRuntime;
/**
* 发起请假流程
*/
@Transactional(rollbackFor = Exception.class)
public String startLeaveProcess(LeaveApplyDTO leaveApply) {
// 1. 启动流程实例
ProcessInstance processInstance = processRuntime.start(
ProcessPayloadBuilder
.start()
.withProcessDefinitionKey("leaveApproval")
.withVariable("leaveType", leaveApply.getType())
.withVariable("days", leaveApply.getDays())
.withVariable("reason", leaveApply.getReason())
.build()
);
// 2. 保存请假申请记录
saveLeaveApply(leaveApply, processInstance.getId());
// 3. 发送待办通知
notifyNextAssignee(processInstance.getId());
return processInstance.getId();
}
/**
* 审批请假申请
*/
public void approveLeave(String taskId, boolean approved, String comment) {
TaskPayloadBuilder taskPayload = TaskPayloadBuilder
.complete()
.withTaskId(taskId)
.withVariable("approved", approved)
.withVariable("comment", comment);
taskRuntime.complete(taskPayload);
// 更新请假状态
updateLeaveStatus(taskId, approved);
}
}
总结
点狮OA作为一款企业级开源OA系统,具有以下优势:
- 功能全面:涵盖OA、HRM、CRM、ERP等多个业务场景
- 技术先进:基于Spring Cloud Alibaba微服务架构
- 代码质量高:规范的代码风格,完善的注释
- 扩展性强:支持多租户、多端适配
- 社区活跃:持续更新,问题响应及时
无论是企业自建OA系统,还是开发者学习企业级应用开发,点狮OA都是一个值得选择的优秀开源项目。
项目信息:
- 开源协议:MIT License
- 技术栈:Spring Boot 2.7 + Spring Cloud Alibaba + Vue3 + Element-Plus
- 支持数据库:MySQL、Oracle、PostgreSQL、DM、TiDB等
如果您觉得这个项目对您有帮助,别忘了给项目点个Star,这是对开源作者最大的支持和鼓励!