diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e1502d6..ab925848 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +### [v1.6.8](https://gitee.com/koogua/course-tencent-cloud/releases/v1.6.8)(2024-01-30) + +- 修正course_user中active_time未更新问题 +- 修正主页simple模式免费课程模块样式问题 +- 修正chapter_user中plan_id=0问题 +- 修正课时评论管理链接 +- 修正用户active_time搜索条件 +- 修正课时发布switch开关 +- 精简chapter/lessons.volt +- 去除league/commonmark包 +- 去除分类等必选判断 +- 更新layui-v2.9.3 +- 使用ServiceTrait精简代码 +- 优化AccountTrait +- 优化错误处理 + + ### [v1.6.7](https://gitee.com/koogua/course-tencent-cloud/releases/v1.6.7)(2023-12-15) - 增加文章分类功能 diff --git a/README.md b/README.md index 07882628..ff312fb0 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ ### 系统功能 -实现了点播、直播、专栏、面授、问答、会员、积分、秒杀等。 +实现了点播、直播、专栏、问答、会员、积分等。 友情提示: @@ -34,12 +34,6 @@ H5手机端演示: 演示账号:13507083515 / 123456 -微信公众号演示: - -![公众号二维码](https://portal-1255691183.file.myqcloud.com/img/content/616f998270eca.png) - -演示账号:13507083515 / 123456 - 支付流程演示: - [MySQL提升课程全面讲解MySQL架构设计(0.01元)](https://ctc.koogua.com/order/confirm?item_id=1390&item_type=1) @@ -55,9 +49,8 @@ Tips: 请用手机注册一个新账号,用户中心 -> 关注订阅,扫码 ### 项目组件 - 后台框架:[phalcon 3.4.5](https://phalcon.io) -- 前端框架:[layui 2.8.8](https://layui.com) +- 前端框架:[layui 2.9.3](https://layui.dev) - 全文检索:[xunsearch 1.4.9](http://www.xunsearch.com) -- 即时通讯:[workerman 3.5.22](https://workerman.net) - 基础依赖:[php7.3](https://php.net), [mysql5.7](https://mysql.com), [redis5.0](https://redis.io) ### 项目文档 diff --git a/app/Console/Migrations/Migration.php b/app/Console/Migrations/Migration.php index 98d848d0..433999b8 100644 --- a/app/Console/Migrations/Migration.php +++ b/app/Console/Migrations/Migration.php @@ -7,7 +7,11 @@ namespace App\Console\Migrations; +use App\Traits\Service as ServiceTrait; + abstract class Migration { + use ServiceTrait; + abstract public function run(); } \ No newline at end of file diff --git a/app/Console/Migrations/V202207291145.php b/app/Console/Migrations/V202207291145.php deleted file mode 100644 index d7597d7f..00000000 --- a/app/Console/Migrations/V202207291145.php +++ /dev/null @@ -1,162 +0,0 @@ -initMarkdownConverter(); - $this->courseMarkdownToHtml(); - $this->articleMarkdownToHtml(); - $this->questionMarkdownToHtml(); - $this->answerMarkdownToHtml(); - $this->pageMarkdownToHtml(); - $this->helpMarkdownToHtml(); - $this->pointGiftMarkdownToHtml(); - } - - protected function initMarkdownConverter() - { - $this->markdownConverter = new GithubFlavoredMarkdownConverter([ - 'html_input' => 'escape', - 'allow_unsafe_links' => false, - ]); - } - - protected function articleMarkdownToHtml() - { - /** - * @var $articles Resultset|ArticleModel[] - */ - $articles = ArticleModel::query()->execute(); - - if ($articles->count() == 0) return; - - foreach ($articles as $article) { - $content = $this->markdownConverter->convertToHtml($article->content); - $article->content = $content; - $article->update(); - } - } - - protected function courseMarkdownToHtml() - { - /** - * @var $courses Resultset|CourseModel[] - */ - $courses = CourseModel::query()->execute(); - - if ($courses->count() == 0) return; - - foreach ($courses as $course) { - $details = $this->markdownConverter->convertToHtml($course->details); - $course->details = $details; - $course->update(); - } - } - - protected function questionMarkdownToHtml() - { - /** - * @var $questions Resultset|QuestionModel[] - */ - $questions = QuestionModel::query()->execute(); - - if ($questions->count() == 0) return; - - foreach ($questions as $question) { - $content = $this->markdownConverter->convertToHtml($question->content); - $question->content = $content; - $question->update(); - } - } - - protected function answerMarkdownToHtml() - { - /** - * @var $answers Resultset|AnswerModel[] - */ - $answers = AnswerModel::query()->execute(); - - if ($answers->count() == 0) return; - - foreach ($answers as $answer) { - $content = $this->markdownConverter->convertToHtml($answer->content); - $answer->content = $content; - $answer->update(); - } - } - - protected function pageMarkdownToHtml() - { - /** - * @var $pages Resultset|PageModel[] - */ - $pages = PageModel::query()->execute(); - - if ($pages->count() == 0) return; - - foreach ($pages as $page) { - $content = $this->markdownConverter->convertToHtml($page->content); - $page->content = $content; - $page->update(); - } - } - - protected function helpMarkdownToHtml() - { - /** - * @var $helps Resultset|HelpModel[] - */ - $helps = HelpModel::query()->execute(); - - if ($helps->count() == 0) return; - - foreach ($helps as $help) { - $content = $this->markdownConverter->convertToHtml($help->content); - $help->content = $content; - $help->update(); - } - } - - protected function pointGiftMarkdownToHtml() - { - /** - * @var $gifts Resultset|PointGiftModel[] - */ - $gifts = PointGiftModel::query() - ->where('type = :type:', ['type' => PointGiftModel::TYPE_GOODS]) - ->execute(); - - if ($gifts->count() == 0) return; - - foreach ($gifts as $gift) { - $details = $this->markdownConverter->convertToHtml($gift->details); - $gift->details = $details; - $gift->update(); - } - } - -} \ No newline at end of file diff --git a/app/Http/Admin/Services/Answer.php b/app/Http/Admin/Services/Answer.php index c705c432..9587f8f4 100644 --- a/app/Http/Admin/Services/Answer.php +++ b/app/Http/Admin/Services/Answer.php @@ -9,6 +9,7 @@ namespace App\Http\Admin\Services; use App\Builders\AnswerList as AnswerListBuilder; use App\Builders\ReportList as ReportListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; use App\Models\Answer as AnswerModel; use App\Models\Question as QuestionModel; @@ -31,6 +32,7 @@ class Answer extends Service { use AnswerDataTrait; + use AccountSearchTrait; public function getPublishTypes() { @@ -48,6 +50,8 @@ class Answer extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params['deleted'] = $params['deleted'] ?? 0; $sort = $pagerQuery->getSort(); diff --git a/app/Http/Admin/Services/Article.php b/app/Http/Admin/Services/Article.php index fb9c0b03..894ebc52 100644 --- a/app/Http/Admin/Services/Article.php +++ b/app/Http/Admin/Services/Article.php @@ -10,6 +10,7 @@ namespace App\Http\Admin\Services; use App\Builders\ArticleList as ArticleListBuilder; use App\Builders\ReportList as ReportListBuilder; use App\Caches\Article as ArticleCache; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; use App\Library\Utils\Word as WordUtil; use App\Models\Article as ArticleModel; @@ -34,6 +35,7 @@ class Article extends Service { use ArticleDataTrait; + use AccountSearchTrait; public function getXmTags($id) { @@ -70,6 +72,8 @@ class Article extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + if (!empty($params['xm_tag_ids'])) { $params['tag_id'] = explode(',', $params['xm_tag_ids']); } @@ -196,7 +200,7 @@ class Article extends Service $data['published'] = $validator->checkPublishStatus($post['published']); } - if (isset($post['category_id'])) { + if (isset($post['category_id']) && !empty($post['category_id'])) { $category = $validator->checkCategory($post['category_id']); $data['category_id'] = $category->id; } diff --git a/app/Http/Admin/Services/Consult.php b/app/Http/Admin/Services/Consult.php index 44ae915c..9a44d10a 100644 --- a/app/Http/Admin/Services/Consult.php +++ b/app/Http/Admin/Services/Consult.php @@ -8,14 +8,13 @@ namespace App\Http\Admin\Services; use App\Builders\ConsultList as ConsultListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\Chapter as ChapterModel; use App\Models\Consult as ConsultModel; use App\Models\Course as CourseModel; use App\Models\Reason as ReasonModel; use App\Models\User as UserModel; -use App\Repos\Account as AccountRepo; use App\Repos\Chapter as ChapterRepo; use App\Repos\Consult as ConsultRepo; use App\Repos\Course as CourseRepo; @@ -26,6 +25,8 @@ use App\Validators\Consult as ConsultValidator; class Consult extends Service { + use AccountSearchTrait; + public function getPublishTypes() { return ConsultModel::publishTypes(); @@ -65,23 +66,10 @@ class Consult extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params['deleted'] = $params['deleted'] ?? 0; - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['owner_id'])) { - if (CommonValidator::phone($params['owner_id'])) { - $account = $accountRepo->findByPhone($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['owner_id'])) { - $account = $accountRepo->findByEmail($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } - } - $sort = $pagerQuery->getSort(); $page = $pagerQuery->getPage(); $limit = $pagerQuery->getLimit(); diff --git a/app/Http/Admin/Services/Course.php b/app/Http/Admin/Services/Course.php index 1d4ade92..414a011f 100644 --- a/app/Http/Admin/Services/Course.php +++ b/app/Http/Admin/Services/Course.php @@ -165,12 +165,12 @@ class Course extends Service $data['published'] = $validator->checkPublishStatus($post['published']); } - if (isset($post['category_id'])) { + if (isset($post['category_id']) && !empty($post['category_id'])) { $category = $validator->checkCategory($post['category_id']); $data['category_id'] = $category->id; } - if (isset($post['teacher_id'])) { + if (isset($post['teacher_id']) && !empty($post['teacher_id'])) { $teacher = $validator->checkTeacher($post['teacher_id']); $data['teacher_id'] = $teacher->id; } diff --git a/app/Http/Admin/Services/CourseUser.php b/app/Http/Admin/Services/CourseUser.php index a3963d47..8090b079 100644 --- a/app/Http/Admin/Services/CourseUser.php +++ b/app/Http/Admin/Services/CourseUser.php @@ -8,10 +8,9 @@ namespace App\Http\Admin\Services; use App\Builders\CourseUserList as CourseUserListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\CourseUser as CourseUserModel; -use App\Repos\Account as AccountRepo; use App\Repos\CourseUser as CourseUserRepo; use App\Services\Logic\Course\CourseUserTrait; use App\Validators\CourseUser as CourseUserValidator; @@ -20,6 +19,7 @@ class CourseUser extends Service { use CourseUserTrait; + use AccountSearchTrait; public function getSourceTypes() { @@ -53,24 +53,11 @@ class CourseUser extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params['course_id'] = $course->id; $params['deleted'] = 0; - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['user_id'])) { - if (CommonValidator::phone($params['user_id'])) { - $account = $accountRepo->findByPhone($params['user_id']); - $params['user_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['user_id'])) { - $account = $accountRepo->findByEmail($params['user_id']); - $params['user_id'] = $account ? $account->id : -1000; - } - } - $sort = $pagerQuery->getSort(); $page = $pagerQuery->getPage(); $limit = $pagerQuery->getLimit(); diff --git a/app/Http/Admin/Services/Order.php b/app/Http/Admin/Services/Order.php index b69745d9..e461dafd 100644 --- a/app/Http/Admin/Services/Order.php +++ b/app/Http/Admin/Services/Order.php @@ -8,8 +8,9 @@ namespace App\Http\Admin\Services; use App\Builders\OrderList as OrderListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; +use App\Http\Admin\Services\Traits\OrderSearchTrait; use App\Library\Paginator\Query as PaginateQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\Order as OrderModel; use App\Repos\Account as AccountRepo; use App\Repos\Order as OrderRepo; @@ -19,6 +20,9 @@ use App\Validators\Order as OrderValidator; class Order extends Service { + use AccountSearchTrait; + use OrderSearchTrait; + public function getItemTypes() { return OrderModel::itemTypes(); @@ -35,32 +39,15 @@ class Order extends Service $params = $pageQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params = $this->handleOrderSearchParams($params); + + if (!empty($params['order_id'])) { + $params['id'] = $params['order_id']; + } + $params['deleted'] = $params['deleted'] ?? 0; - /** - * 兼容订单编号或订单序号查询 - */ - if (isset($params['id']) && strlen($params['id']) > 10) { - $orderRepo = new OrderRepo(); - $order = $orderRepo->findBySn($params['id']); - $params['id'] = $order ? $order->id : -1000; - } - - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['owner_id'])) { - if (CommonValidator::phone($params['owner_id'])) { - $account = $accountRepo->findByPhone($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['owner_id'])) { - $account = $accountRepo->findByEmail($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } - } - $sort = $pageQuery->getSort(); $page = $pageQuery->getPage(); $limit = $pageQuery->getLimit(); diff --git a/app/Http/Admin/Services/Question.php b/app/Http/Admin/Services/Question.php index e17a687d..87ca6273 100644 --- a/app/Http/Admin/Services/Question.php +++ b/app/Http/Admin/Services/Question.php @@ -10,6 +10,7 @@ namespace App\Http\Admin\Services; use App\Builders\QuestionList as QuestionListBuilder; use App\Builders\ReportList as ReportListBuilder; use App\Caches\Question as QuestionCache; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; use App\Models\Category as CategoryModel; use App\Models\Question as QuestionModel; @@ -33,6 +34,7 @@ class Question extends Service { use QuestionDataTrait; + use AccountSearchTrait; public function getXmTags($id) { @@ -64,6 +66,8 @@ class Question extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + if (!empty($params['xm_tag_ids'])) { $params['tag_id'] = explode(',', $params['xm_tag_ids']); } @@ -182,7 +186,7 @@ class Question extends Service $data['published'] = $validator->checkPublishStatus($post['published']); } - if (isset($post['category_id'])) { + if (isset($post['category_id']) && !empty($post['category_id'])) { $category = $validator->checkCategory($post['category_id']); $data['category_id'] = $category->id; } diff --git a/app/Http/Admin/Services/Refund.php b/app/Http/Admin/Services/Refund.php index ed8aeed0..a0aac0b8 100644 --- a/app/Http/Admin/Services/Refund.php +++ b/app/Http/Admin/Services/Refund.php @@ -8,8 +8,9 @@ namespace App\Http\Admin\Services; use App\Builders\RefundList as RefundListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; +use App\Http\Admin\Services\Traits\OrderSearchTrait; use App\Library\Paginator\Query as PaginateQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\Refund as RefundModel; use App\Models\Task as TaskModel; use App\Repos\Account as AccountRepo; @@ -22,6 +23,9 @@ use App\Validators\Refund as RefundValidator; class Refund extends Service { + use AccountSearchTrait; + use OrderSearchTrait; + public function getStatusTypes() { return RefundModel::statusTypes(); @@ -33,32 +37,11 @@ class Refund extends Service $params = $pageQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params = $this->handleOrderSearchParams($params); + $params['deleted'] = $params['deleted'] ?? 0; - /** - * 兼容订单编号或订单序号查询 - */ - if (isset($params['order_id']) && strlen($params['order_id']) > 10) { - $orderRepo = new OrderRepo(); - $order = $orderRepo->findBySn($params['order_id']); - $params['order_id'] = $order ? $order->id : -1000; - } - - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['owner_id'])) { - if (CommonValidator::phone($params['owner_id'])) { - $account = $accountRepo->findByPhone($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['owner_id'])) { - $account = $accountRepo->findByEmail($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } - } - $sort = $pageQuery->getSort(); $page = $pageQuery->getPage(); $limit = $pageQuery->getLimit(); diff --git a/app/Http/Admin/Services/Review.php b/app/Http/Admin/Services/Review.php index 26922213..e63dcd39 100644 --- a/app/Http/Admin/Services/Review.php +++ b/app/Http/Admin/Services/Review.php @@ -8,13 +8,12 @@ namespace App\Http\Admin\Services; use App\Builders\ReviewList as ReviewListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PagerQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\Course as CourseModel; use App\Models\Reason as ReasonModel; use App\Models\Review as ReviewModel; use App\Models\User as UserModel; -use App\Repos\Account as AccountRepo; use App\Repos\Course as CourseRepo; use App\Repos\Review as ReviewRepo; use App\Services\CourseStat as CourseStatService; @@ -24,6 +23,8 @@ use App\Validators\Review as ReviewValidator; class Review extends Service { + use AccountSearchTrait; + public function getPublishTypes() { return ReviewModel::publishTypes(); @@ -63,23 +64,10 @@ class Review extends Service $params = $pagerQuery->getParams(); + $params = $this->handleAccountSearchParams($params); + $params['deleted'] = $params['deleted'] ?? 0; - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['owner_id'])) { - if (CommonValidator::phone($params['owner_id'])) { - $account = $accountRepo->findByPhone($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['owner_id'])) { - $account = $accountRepo->findByEmail($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } - } - $sort = $pagerQuery->getSort(); $page = $pagerQuery->getPage(); $limit = $pagerQuery->getLimit(); diff --git a/app/Http/Admin/Services/Role.php b/app/Http/Admin/Services/Role.php index 3899d6cd..d832d852 100644 --- a/app/Http/Admin/Services/Role.php +++ b/app/Http/Admin/Services/Role.php @@ -172,10 +172,20 @@ class Role extends Service } if (in_array('admin.category.list', $routes)) { + $list[] = 'admin.article.category'; + $list[] = 'admin.question.category'; $list[] = 'admin.course.category'; $list[] = 'admin.help.category'; } + if (in_array('admin.article.category', $routes)) { + $list[] = 'admin.category.list'; + } + + if (in_array('admin.question.category', $routes)) { + $list[] = 'admin.category.list'; + } + if (in_array('admin.course.category', $routes)) { $list[] = 'admin.category.list'; } diff --git a/app/Http/Admin/Services/Trade.php b/app/Http/Admin/Services/Trade.php index 3023e9ae..4439aabc 100644 --- a/app/Http/Admin/Services/Trade.php +++ b/app/Http/Admin/Services/Trade.php @@ -8,8 +8,9 @@ namespace App\Http\Admin\Services; use App\Builders\TradeList as TradeListBuilder; +use App\Http\Admin\Services\Traits\AccountSearchTrait; +use App\Http\Admin\Services\Traits\OrderSearchTrait; use App\Library\Paginator\Query as PaginateQuery; -use App\Library\Validators\Common as CommonValidator; use App\Models\Refund as RefundModel; use App\Models\Trade as TradeModel; use App\Repos\Account as AccountRepo; @@ -22,6 +23,9 @@ use App\Validators\Trade as TradeValidator; class Trade extends Service { + use AccountSearchTrait; + use OrderSearchTrait; + public function getChannelTypes() { return TradeModel::channelTypes(); @@ -38,29 +42,8 @@ class Trade extends Service $params = $pageQuery->getParams(); - /** - * 兼容订单编号或订单序号查询 - */ - if (isset($params['order_id']) && strlen($params['order_id']) > 10) { - $orderRepo = new OrderRepo(); - $order = $orderRepo->findBySn($params['order_id']); - $params['order_id'] = $order ? $order->id : -1000; - } - - $accountRepo = new AccountRepo(); - - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['owner_id'])) { - if (CommonValidator::phone($params['owner_id'])) { - $account = $accountRepo->findByPhone($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['owner_id'])) { - $account = $accountRepo->findByEmail($params['owner_id']); - $params['owner_id'] = $account ? $account->id : -1000; - } - } + $params = $this->handleAccountSearchParams($params); + $params = $this->handleOrderSearchParams($params); $sort = $pageQuery->getSort(); $page = $pageQuery->getPage(); diff --git a/app/Http/Admin/Services/Traits/AccountSearchTrait.php b/app/Http/Admin/Services/Traits/AccountSearchTrait.php new file mode 100644 index 00000000..3f393083 --- /dev/null +++ b/app/Http/Admin/Services/Traits/AccountSearchTrait.php @@ -0,0 +1,49 @@ +findByPhone($params['user_id']); + $params['user_id'] = $account ? $account->id : -1000; + } elseif (CommonValidator::email($params['user_id'])) { + $account = $accountRepo->findByEmail($params['user_id']); + $params['user_id'] = $account ? $account->id : -1000; + } + } + + /** + * 兼容用户编号|手机号码|邮箱地址查询 + */ + if (!empty($params['owner_id'])) { + if (CommonValidator::phone($params['owner_id'])) { + $account = $accountRepo->findByPhone($params['owner_id']); + $params['owner_id'] = $account ? $account->id : -1000; + } elseif (CommonValidator::email($params['owner_id'])) { + $account = $accountRepo->findByEmail($params['owner_id']); + $params['owner_id'] = $account ? $account->id : -1000; + } + } + + return $params; + } + +} diff --git a/app/Http/Admin/Services/Traits/OrderSearchTrait.php b/app/Http/Admin/Services/Traits/OrderSearchTrait.php new file mode 100644 index 00000000..6fd1a5ac --- /dev/null +++ b/app/Http/Admin/Services/Traits/OrderSearchTrait.php @@ -0,0 +1,32 @@ + 10) { + + $orderRepo = new OrderRepo(); + + $order = $orderRepo->findBySn($params['order_id']); + + $params['order_id'] = $order ? $order->id : -1000; + } + + return $params; + } + +} diff --git a/app/Http/Admin/Services/User.php b/app/Http/Admin/Services/User.php index be2f4039..78d61e5a 100644 --- a/app/Http/Admin/Services/User.php +++ b/app/Http/Admin/Services/User.php @@ -9,9 +9,9 @@ namespace App\Http\Admin\Services; use App\Builders\UserList as UserListBuilder; use App\Caches\User as UserCache; +use App\Http\Admin\Services\Traits\AccountSearchTrait; use App\Library\Paginator\Query as PaginateQuery; use App\Library\Utils\Password as PasswordUtil; -use App\Library\Validators\Common as CommonValidator; use App\Models\Account as AccountModel; use App\Models\User as UserModel; use App\Repos\Account as AccountRepo; @@ -26,6 +26,8 @@ use App\Validators\User as UserValidator; class User extends Service { + use AccountSearchTrait; + public function getEduRoleTypes() { return UserModel::eduRoleTypes(); @@ -63,19 +65,10 @@ class User extends Service $params = $pageQuery->getParams(); - $accountRepo = new AccountRepo(); + $params = $this->handleAccountSearchParams($params); - /** - * 兼容用户编号|手机号码|邮箱地址查询 - */ - if (!empty($params['id'])) { - if (CommonValidator::phone($params['id'])) { - $account = $accountRepo->findByPhone($params['id']); - $params['id'] = $account ? $account->id : -1000; - } elseif (CommonValidator::email($params['id'])) { - $account = $accountRepo->findByEmail($params['id']); - $params['id'] = $account ? $account->id : -1000; - } + if (!empty($params['user_id'])) { + $params['id'] = $params['user_id']; } $params['deleted'] = $params['deleted'] ?? 0; diff --git a/app/Http/Admin/Views/answer/search.volt b/app/Http/Admin/Views/answer/search.volt index 945fb5d7..43de3e98 100644 --- a/app/Http/Admin/Views/answer/search.volt +++ b/app/Http/Admin/Views/answer/search.volt @@ -19,9 +19,9 @@
- +
- +
@@ -64,7 +64,7 @@