Parcourir la source

wesmiler 报恩寺项目提交

wesmiler il y a 4 ans
Parent
commit
3f4f14c385

+ 67 - 0
app/Http/Controllers/Api/v1/BuddhistController.php

@@ -0,0 +1,67 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Http\Controllers\v1;
+
+use App\Http\Controllers\Api\BaseController;
+use App\Services\BuddhistCatesService;
+use App\Services\BuddhistPagesService;
+use App\Services\BuddhistService;
+
+/**
+ * 佛经管理-控制器
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class BuddhistController
+ * @package App\Http\Controllers
+ */
+class BuddhistController extends BaseController
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * BuddhistController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new BuddhistService();
+        $this->cateService = new BuddhistCatesService();
+        $this->pageService = new BuddhistPagesService();
+    }
+
+    /**
+     * 书单
+     * @return array|mixed
+     */
+    public function index(){
+        $params = request()->all();
+
+        return $this->service->getDataList($params);
+    }
+
+    /**
+     * 分类
+     * @return array
+     */
+    public function cates(){
+        return $this->cateService->getOptions();
+    }
+
+    /**
+     * 获取章节内容
+     */
+    public function page(){
+        $id = request()->get('id', 0);
+        return $this->pageService->getNext($id);
+    }
+}

+ 7 - 1
app/Services/BuddhistCatesService.php

@@ -53,7 +53,13 @@ class BuddhistCatesService extends BaseService
     public function getOptions(){
         $params = request()->all();
         $num = isset($params['num'])? $params['num'] : 0;
-        $datas = $this->model->where(['status'=> 1])->select(['id','pid','name','status'])->orderBy('sort','desc')->limit($num? $num : 999999)->get();
+        $datas = $this->model->where(['status'=> 1])->select(['id','pid','name','icon','status'])->orderBy('sort','desc')->limit($num? $num : 999999)->get();
+        $datas = $datas? $datas->toArray() : [];
+        if($datas){
+            foreach($datas as &$item){
+                $item['icon'] = $item['icon']? get_image_url($item['icon']) : '';
+            }
+        }
         return message(MESSAGE_OK, true, $datas);
     }
 

+ 50 - 0
app/Services/BuddhistService.php

@@ -94,6 +94,56 @@ class BuddhistService extends BaseService
     }
 
     /**
+     * 获取列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getDataList($params)
+    {
+        $page = isset($params['pageSize']) ? intval($params['pageSize']) : PAGE;
+        $pageSize = isset($params['pageSize']) ? intval($params['pageSize']) : PERPAGE;
+
+        $dataList = $this->model::from('buddhists as a')
+            ->leftJoin('buddhist_cates as c', 'a.cate_id', '=', 'c.id')
+            ->where(function ($query) use ($params) {
+                $query->where(['a.mark'=>1,'a.status'=> 1]);
+
+                $title = isset($params['title']) ? trim($params['title']) : '';
+                if (!empty($title)) {
+                    $query->where('a.title', 'like', "%{$title}%");
+                }
+
+                $cateId = isset($params['cate_id']) ? intval($params['cate_id']) : 0;
+                if ($cateId > 0) {
+                    $query->where('a.cate_id', $cateId);
+                }
+            })
+            ->select(['a.id', 'a.cate_id', 'c.name as cate_name', 'a.title','a.is_recommand', 'a.view_num', 'a.thumb', 'a.status', 'a.create_time', 'a.update_time', 'a.description', 'a.sort','a.publish_at'])
+            ->orderBy('a.update_time', 'desc')
+            ->paginate($pageSize);
+
+        $dataList = $dataList ? $dataList->toArray() : [];
+        if ($dataList) {
+            foreach ($dataList['data'] as &$item) {
+                $item['thumb'] = $item['thumb'] ? get_image_url($item['thumb']) : '';
+                $item['create_time'] = $item['create_time'] ? datetime($item['create_time'],'Y-m-d H:i:s') : '';
+                $pageNum = BuddhistPagesService::make()->getCount($item['id']);
+                $item['pageNum'] = intval($pageNum);
+            }
+            unset($item);
+        }
+
+        return [
+            'code' => 0,
+            'success'=> true,
+            'msg' => '操作成功',
+            'count' => isset($dataList['total']) ? $dataList['total'] : 0,
+            'data' => isset($dataList['data']) ? $dataList['data'] : 0,
+        ];
+    }
+
+    /**
      * 添加或编辑
      * @return array
      * @since 2020/11/11

+ 4 - 0
routes/api.php

@@ -204,6 +204,10 @@ Route::post('/donates/send', [\App\Http\Controllers\Api\v1\DonatesController::cl
 Route::post('/donates/xingshan', [\App\Http\Controllers\Api\v1\DonatesController::class, 'xingshan']);
 Route::post('/donates/mecryList', [\App\Http\Controllers\Api\v1\DonatesController::class, 'mecryList']);
 
+// 佛经
+Route::post('/buddhist/list', [\App\Http\Controllers\Api\v1\DonatesController::class, 'index']);
+Route::post('/buddhist/cates', [\App\Http\Controllers\Api\v1\DonatesController::class, 'cates']);
+Route::post('/buddhist/page', [\App\Http\Controllers\Api\v1\DonatesController::class, 'page']);