在当今教育培训行业竞争日益激烈的环境下,一套功能全面、操作简便的教务管理系统已成为培训机构提升运营效率、优化家校服务的关键工具。爱耕云教务系统凭借其13年教培行业开发经验,为中小型培训机构提供了一站式解决方案,涵盖招生营销、学员管理、排课消课、财务管理、家校互动等核心功能。本文将深入探讨爱耕云系统的技术架构、核心功能模块以及如何通过代码实现关键业务流程,帮助培训机构实现数字化转型升级。
系统概述与技术架构
爱耕云教务管理系统采用现代化的技术架构设计,以满足教育培训机构多样化的管理需求。系统基于JAVA跨平台语言开发,确保了在Windows、安卓、iOS等多种操作系统上的高效稳定运行。这种跨平台特性使机构员工可以在办公室使用电脑处理排课等复杂操作,同时也能通过手机小程序随时查看课表或记录考勤,真正实现了移动办公。
系统采用无插件技术,全面支持所有主流浏览器访问,用户无需安装额外插件即可使用全部功能。这种设计极大降低了用户的使用门槛,特别适合技术能力有限的培训机构快速上手。系统后台采用微服务架构,各功能模块松耦合,可根据机构需求灵活配置和扩展。
数据库层面,爱耕云采用分布式数据库设计,能够高效处理培训机构产生的大量数据,如学员信息、课程记录、财务流水等。系统还实现了数据自动备份机制,确保机构重要信息的安全性和可恢复性。
系统前端提供微信小程序、电脑网页版和手机网页版多种访问方式。特别是微信小程序版本,家长和老师无需下载APP,通过微信即可完成大部分操作,大大提高了系统的易用性和普及率。这种设计也帮助培训机构节省了APP开发和维护的成本。
核心功能模块与代码实现
1. 学员信息管理模块
学员管理是教务系统的核心功能之一。爱耕云系统提供了完整的学员生命周期管理,从潜在客户跟踪到正式学员的日常管理。以下是学员信息管理的部分代码示例:
// 学员实体类
public class Student {
private Long id;
private String name;
private String contactPhone;
private String parentName;
private String parentPhone;
private Date registrationDate;
private Integer remainingClasses; // 剩余课时
private BigDecimal accountBalance; // 账户余额
// 其他字段及getter/setter方法
}
// 学员服务类
@Service
public class StudentService {
@Autowired
private StudentRepository studentRepository;
// 新增学员
public Student addStudent(Student student) {
return studentRepository.save(student);
}
// 批量导入学员
public List<Student> batchImportStudents(List<Student> students) {
return studentRepository.saveAll(students);
}
// 根据条件查询学员
public Page<Student> findStudents(StudentQuery query, Pageable pageable) {
// 构建查询条件
Specification<Student> spec = (root, query, cb) -> {
List<Predicate> predicates = new ArrayList<>();
if (StringUtils.isNotBlank(query.getName())) {
predicates.add(cb.like(root.get("name"), "%" + query.getName() + "%"));
}
// 其他查询条件...
return cb.and(predicates.toArray(new Predicate[0]));
};
return studentRepository.findAll(spec, pageable);
}
}
系统支持学员数据的批量导入导出,方便机构快速迁移历史数据。学员信息包括基本信息、联系方式、剩余课时、账户余额等,所有数据集中管理,一键可查。
2. 智能排课与课表管理
排课是培训机构最复杂的工作之一。爱耕云的智能排课算法考虑了教师、教室、时间等多个维度的约束条件,避免冲突并最大化资源利用率3。以下是排课相关的部分代码:
// 排课算法服务
@Service
public class SchedulingService {
@Autowired
private TeacherRepository teacherRepository;
@Autowired
private ClassroomRepository classroomRepository;
@Autowired
private CourseRepository courseRepository;
// 自动排课
public ScheduleResult autoSchedule(AutoScheduleRequest request) {
// 获取可用资源
List<Teacher> availableTeachers = teacherRepository.findAvailableTeachers(
request.getSubject(), request.getTimeRange());
List<Classroom> availableClassrooms = classroomRepository.findAvailableClassrooms(
request.getTimeRange(), request.getStudentCount());
// 智能匹配教师和教室
for (Teacher teacher : availableTeachers) {
for (Classroom classroom : availableClassrooms) {
if (isMatch(teacher, classroom, request)) {
Course course = createCourse(teacher, classroom, request);
courseRepository.save(course);
return new ScheduleResult(true, "排课成功", course);
}
}
}
return new ScheduleResult(false, "未找到合适的排课方案", null);
}
// 检查教师和教室是否匹配
private boolean isMatch(Teacher teacher, Classroom classroom, AutoScheduleRequest request) {
// 检查教师资质、教室容量、设备要求等
return teacher.getSubjects().contains(request.getSubject())
&& classroom.getCapacity() >= request.getStudentCount()
&& classroom.getEquipment().containsAll(request.getRequiredEquipment());
}
}
系统支持按年、季度、月、周等多种条件查询课表,并可将课表导出为Excel或PDF格式1。教师和学生可以通过小程序随时查看自己的课表,极大提高了信息获取的便捷性。
3. 考勤与课时消耗管理
考勤管理直接关系到课时消耗和财务核算。爱耕云系统支持小程序一键智能考勤方式。
系统自动计算课时消耗,生成扣费明细,避免了人工统计的错误和遗漏5。校长或管理人员可以实时查看上课记录明细,自由筛选时段查询学员、教师的课时汇总,并在月末一键导出所有课时数据,极大简化了绩效核算工作3。
4. 财务管理模块
财务管理是培训机构运营的核心。爱耕云系统提供完整的财务管理功能,包括收费、退款、结转、收支流程、学生储值、教师工资等资金账户管理5。以下是财务管理的关键代码:
// 支付服务
@Service
@Transactional
public class PaymentService {
@Autowired
private PaymentRepository paymentRepository;
@Autowired
private StudentRepository studentRepository;
// 处理支付
public Payment processPayment(PaymentRequest request) {
// 验证支付信息
Student student = studentRepository.findById(request.getStudentId())
.orElseThrow(() -> new RuntimeException("学员不存在"));
// 创建支付记录
Payment payment = new Payment();
payment.setStudentId(request.getStudentId());
payment.setAmount(request.getAmount());
payment.setPaymentMethod(request.getPaymentMethod());
payment.setPaymentTime(new Date());
payment.setOrderNumber(generateOrderNumber());
payment.setStatus(PaymentStatus.SUCCESS);
// 更新学员账户
if (request.getPaymentType() == PaymentType.CLASS_FEE) {
// 购买课时
student.setRemainingClasses(student.getRemainingClasses() + request.getClassCount());
} else if (request.getPaymentType() == PaymentType.STORED_VALUE) {
// 储值
student.setAccountBalance(student.getAccountBalance().add(request.getAmount()));
}
studentRepository.save(student);
return paymentRepository.save(payment);
}
// 生成订单号
private String generateOrderNumber() {
return "PY" + System.currentTimeMillis() +
ThreadLocalRandom.current().nextInt(1000, 9999);
}
}
// 工资计算服务
@Service
public class SalaryService {
@Autowired
private TeacherRepository teacherRepository;
@Autowired
private AttendanceRepository attendanceRepository;
// 计算教师工资
public Salary calculateTeacherSalary(Long teacherId, Date startDate, Date endDate) {
Teacher teacher = teacherRepository.findById(teacherId)
.orElseThrow(() -> new RuntimeException("教师不存在"));
// 查询教师在该时间段内的授课记录
List<AttendanceRecord> records = attendanceRepository.findByTeacherIdAndDateBetween(
teacherId, startDate, endDate);
// 计算基本工资和课时费
BigDecimal baseSalary = teacher.getBaseSalary();
BigDecimal classFee = teacher.getClassFee().multiply(
BigDecimal.valueOf(records.size()));
// 构建工资单
Salary salary = new Salary();
salary.setTeacherId(teacherId);
salary.setPeriod(startDate + "至" + endDate);
salary.setBaseSalary(baseSalary);
salary.setClassFee(classFee);
salary.setTotalSalary(baseSalary.add(classFee));
return salary;
}
}
系统支持手机扫码快速支付,微信、支付宝、信用卡一码完成,资金自动结算。收支项目可根据学校业务情况灵活设置,收支流程详细记录,自动汇总,确保学校实时监督资金流动,全面掌握收支情况。
5. 家校互动模块
良好的家校沟通是提高续费率和口碑转介绍的关键。爱耕云系统提供了强大的家校互动功能,包括:
-
自动推送上课提醒、考勤通知、调课、放假等通知
-
家长在线查询孩子上课视频、图片等动态
-
一键转发分享功能,提升转介绍率
-
购买课时剩余、上课记录清晰可见2
以下是家校通知服务的代码实现:
// 家校通知服务
@Service
public class NotificationService {
@Autowired
private WechatService wechatService;
@Autowired
private StudentRepository studentRepository;
// 发送上课提醒
public void sendClassReminder(Long courseId) {
Course course = courseRepository.findById(courseId)
.orElseThrow(() -> new RuntimeException("课程不存在"));
// 获取需要通知的家长列表
List<Student> students = studentRepository.findByCourseId(courseId);
// 为每位家长发送微信通知
students.forEach(student -> {
String message = String.format("亲爱的家长,%s的%s课程将于%s在%s教室开始,请提醒孩子准时上课。",
student.getName(), course.getName(),
formatTime(course.getStartTime()), course.getClassroom());
wechatService.sendTemplateMessage(
student.getParentOpenId(),
"CLASS_REMINDER",
message,
Map.of("course", course.getName(), "time", formatTime(course.getStartTime())));
});
}
// 发送课堂点评
public void sendClassReview(Long courseId, Map<Long, String> reviews) {
reviews.forEach((studentId, review) -> {
Student student = studentRepository.findById(studentId)
.orElseThrow(() -> new RuntimeException("学员不存在"));
String message = String.format("%s在今天的课程中表现如下:%s",
student.getName(), review);
wechatService.sendTemplateMessage(
student.getParentOpenId(),
"CLASS_REVIEW",
message,
Map.of("student", student.getName(), "review", review));
});
}
}
系统还支持课堂点评功能,教师可以在每节课结束后根据每个学生的课堂表现单独点评,这些记录会自动保存至学生的成长档案。学期结束时,系统可以快速生成学生成长记录,将日常上课积累的照片和视频制作成学生的专属成长视频发送给家长,极大提升了家长的满意度和续费率。