escolalms/consultations

Escola Headless LMS 咨询

安装: 8,103

依赖项: 4

建议者: 1

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 1

类型:软件包


README

一对一对话软件包

swagger codecov phpunit downloads downloads downloads Maintainability

功能介绍

本软件包用于为 EscolaLms 创建咨询。

安装

  • composer require escolalms/consultations
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\Consultations\Database\Seeders\ConsultationsPermissionSeeder"

定时任务

  • 在 App\Console\Kernel 的方法 schedule 中添加
    • $schedule->job(new ReminderAboutConsultationJob(ConsultationTermReminderStatusEnum::REMINDED_HOUR_BEFORE))->everyFiveMinutes() - 在咨询开始前一小时提醒,每5分钟执行一次
    • $schedule->job(new ReminderAboutWebinarJob(ConsultationTermReminderStatusEnum::REMINDED_DAY_BEFORE))->everySixHours(); - 在咨询开始前一天提醒,每6小时执行一次

端点

所有端点定义在 swagger

测试

运行 ./vendor/bin/phpunit --filter=Consultation 以运行测试。请参阅 tests 文件夹,它是文档附录的良好起点。

测试详情 codecov phpunit

事件

  • EscolaLms\Consultations\Events\ApprovedTerm => 当培训师批准与买家报告的学期时触发事件。事件引用具有学生权限的用户。
  • EscolaLms\Consultations\Events\ApprovedTermWithTrainer => 当培训师批准与买家报告的学期时触发事件。事件引用具有辅导教师权限的用户。
  • EscolaLms\Consultations\Events\ChangeTerm => 当培训师更改已购买的咨询中的学期时触发事件。事件引用具有学生权限的用户。
  • EscolaLms\Consultations\Events\RejectTerm => 当培训师拒绝与买家报告的学期时触发事件。事件引用具有学生权限的用户。
  • EscolaLms\Consultations\Events\RejectTermWithTrainer => 当培训师拒绝与买家报告的学期时触发事件。事件引用具有辅导教师权限的用户。
  • EscolaLms\Consultations\Events\ReminderAboutTerm => 执行 cron 作业 EscolaLms\Consultations\Jobs\ReminderAboutConsultationJob 后触发事件,当购买咨询的截止时间在 1 小时和 1 天前时触发事件。事件引用具有学生权限的用户。
  • EscolaLms\Consultations\Events\ReminderTrainerAboutTerm => 在咨询开始前一段时间触发事件。事件引用具有辅导教师权限的用户。
  • EscolaLms\Consultations\Events\ReportTerm => 在报告与买家进行的咨询的学期后触发事件。

监听器

  • EscolaLms\Webinar\Listeners\ReminderAboutTermListener => 监听器执行一个在网络研讨会提醒中签名的状态的方法

如何在前端使用

管理员面板

左侧菜单

Menu

咨询列表

List of consultations

创建/编辑咨询

Creating/editing consultation

前端应用

请参阅实现,详情请见演示

权限

权限在seeder中定义

数据库关系

  1. Author 咨询与用户表相关联
  2. ProposedTerms 咨询模型与ConsultationProposedTerm模型存在多对多关系
  3. Categories 咨询模型与Categories模型存在多对一关系
  4. Users 咨询与用户表存在多对多关系,表示购买了咨询的用户
  5. Terms 咨询模型与ConsultationUserPivot模型存在多对多关系。这是报告的条款
Consultation 1 -> 1 Author
Consultation 1 -> n ProposedTerms
Consultation 1 -> n Categories
Consultation 1 -> n Users
Consultation 1 -> n Terms