jncinet/qihucms-user-task
Composer 安装命令:
composer require jncinet/qihucms-user-task
包简介
qihucms user task.
README 文档
README
说明
任务主发布任务,其它会员完成任务,并提交任务凭证,任务主审核通过后,会员获取任务奖励
安装
$ composer require jncinet/qihucms-user-task
开始
数据迁移
$ php artisan migrate
发布资源
$ php artisan vendor:publish --provider="Qihucms\UserTask\TaskServiceProvider"
路由
admin
在后台管理菜单中添加管理菜单
- 任务管理:task/tasks
- 完成记录:task/orders
api
【会员任务】
- 简单任务列表分页
- 请求方法:GET
- 链接地址:task/select-tasks
- 请求参数:
- 关键词 | q
- 任务分页列表
- 请求方法:GET
- 链接地址:task/tasks
- 请求参数:
- 分页显示条数 | limit | int | 可选
- 会员ID | user_id | int | 可选
- 我的任务分页列表
- 请求方法:GET
- 链接地址:task/tasks/user
- 请求参数:
- 分页显示条数 | limit | int | 可选
- 任务状态 | status | int | 可选
- 奖励托管状态 | pay_status | 可选
- 任务详细
- 请求方法:GET
- 链接地址:task/tasks/{id}
- 我的任务详细(返回任务说细及任务完成记录)
- 请求方法:GET
- 链接地址:task/tasks/user/{id}
- 发布任务
- 请求方法:POST
- 链接地址:task/tasks
- 请求参数:
- 任务标题 | title | string
- 缩略图 | thumbnail | string
- 开始时间 | start_time | datetime | 默认为发布时间
- 结束时间 | end_time | datetime | 默认发布时间后三天
- 任务总数 | stock | int
- 奖励类型 | currency_type_id | int
- 奖励数额 | amount | decimal
- 详细介绍 | content | longtext
- 链接按钮文字 | btn_text | string|null
- 任务链接 | link | string|null
- 提前结束任务或延长时间
- 请求方法:PUT | PATCH
- 链接地址:task/tasks/{id}
- 请求参数:
- 结束时间 | end_time | datetime | 可选,当end_time存在则必须是一个大于当前时间的时间
- 任务状态 | status=2 | 可选,当status参数存在时,即结束任务其它值无效
- 删除任务(有完成记录的任务不可删除)
- 请求方法:DELETE
- 链接地址:task/tasks/{id}
【任务完成记录】
- 任务订单记录(任务发布者可查看)
- 请求方法:GET
- 链接地址:task/orders
- 请求参数:
- 显示条数 | limit | 可选 | 默认每页15条
- 任务状态 | status | 可选值
[0=>'待审核', 1=>'已审核', 2=>'已完成']| 可选
- 任务订单详细
- 请求方法:GET
- 链接地址:task/orders/{id}
- 领取任务
- 请求方法:POST
- 链接地址:task/orders
- 请求参数:
- 任务ID | user_task_id | 必须是有效的任务ID
- 完成任务提交凭证
- 请求方法:PUT|PATCH
- 链接地址:task/orders/{id}
- 请求参数:
- 任务ID | user_task_id | int | 必填
- 根据任务要求完的任务的图片记录 | files | array | 可选
- 根据任务要求填写的说明 | remark | string | 可选
- 任务主审核完成记录
- 请求方法:POST
- 链接地址:task/orders/audit/{id=任务ID}
- 会员删除任务记录(只能删除未完成的记录)
- 请求方法:DELETE
- 链接地址:task/orders/{id}
task前缀可通过在/config/qihu.php中添加或修改:
'user_task_prefix' => 'task'
事件
// 任务模型中 'saved' => TaskSaved::class // 任务记录模型中 'saved' => TaskCompleted::class
数据库
任务表:user_tasks
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| user_id | bigint | 发布会员ID | |||
| title | varchar | 255 | 任务标题 | ||
| thumbnail | varchar | 255 | Y | NULL | 缩略图地址 |
| start_time | timestamp | Y | NULL | 开始时间 | |
| end_time | timestamp | Y | NULL | 结束时间 | |
| stock | int | 0 | 任务总数量 | ||
| currency_type_id | bigint | 奖励类型ID | |||
| amount | decimal | 8,2 | 0.00 | 奖励金额 | |
| content | longtext | Y | 任务介绍 | ||
| btn_text | varchar | 255 | Y | NULL | 链接文字 |
| link | varchar | 255 | Y | NULL | 链接地址 |
| pay_status | tinyint | 0 | 奖金托管状态 | ||
| status | tinyint | 0 | 任务状态 | ||
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
任务表完成记录:user_task_orders
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| user_id | bigint | 发布会员ID | |||
| user_task_id | bigint | 完成任务ID | |||
| files | json | Y | NULL | 任务图片凭证 | |
| content | text | Y | 完成介绍 | ||
| status | tinyint | 0 | 完成状态 | ||
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
jncinet/qihucms-user-task 适用场景与选型建议
jncinet/qihucms-user-task 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 12 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「task」 「laravel」 「qihucms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jncinet/qihucms-user-task 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jncinet/qihucms-user-task 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jncinet/qihucms-user-task 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Expose the DDev executable commands to the Robo task runner.
Task system for APPUI
Alfabank REST API integration
AsyncTask enables proper and easy use of the thread. This class allows to perform background operations and publish results on the thread without having to manipulate threads and/or handlers.
This is a PHP Framework base on Swoole
Provides a command line tasks to operate with APC (APCu) cache from the console
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-12-19