Ver Fonte

wesmiler 报恩寺项目

wesmiler há 4 anos atrás
pai
commit
5df345dc74

+ 8 - 0
app/Http/Controllers/Api/v1/FoxiangController.php

@@ -41,6 +41,14 @@ class FoxiangController extends BaseController
     }
 
     /**
+     * 选择佛像
+     * @return mixed
+     */
+    public function select(){
+        return $this->service->select($this->userId);
+    }
+
+    /**
      * 获取文章分类
      * @return mixed
      */

+ 25 - 0
app/Models/EnshrineRecordModel.php

@@ -0,0 +1,25 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Models;
+
+/**
+ * 供奉记录管理-模型
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class EnshrineRecordModel
+ * @package App\Models
+ */
+class EnshrineRecordModel extends BaseModel
+{
+    // 设置数据表
+    protected $table = 'enshrine_records';
+}

+ 61 - 0
app/Services/FoxiangService.php

@@ -11,7 +11,9 @@
 
 namespace App\Services;
 
+use App\Models\EnshrineRecordModel;
 use App\Models\FoxiangModel;
+use App\Models\MemberModel;
 
 /**
  * 佛像管理-服务类
@@ -171,4 +173,63 @@ class FoxiangService extends BaseService
         return parent::edit($data); // TODO: Change the autogenerated stub
     }
 
+    public function select($userId){
+        $id = request()->get('id', 0);
+        if($id <=0){
+            return message('参数错误', false);
+        }
+
+        $foInfo = $this->model::where(['id'=> $id,'mark'=> 1,'status'=> 1])
+            ->select(['id','name'])
+            ->first();
+        if(!$foInfo){
+            return message('佛像不存在,请选择其他佛像', false);
+        }
+
+        $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
+            ->select(['id','nickname'])
+            ->first();
+        if(!$memberInfo){
+            return message('您的账号不可操作或已冻结,请联系客服', false);
+        }
+
+        // 验证是否正在供奉该佛像
+        $type = request()->get('type', 1);
+        $params = request()->all();
+        switch($type){
+            case 1: // 祈福
+                $record = EnshrineRecordModel::where(['fo_id'=> $id,'user_id'=> $userId,'mark'=> 1,'status'=> 1])
+                    ->where('create_time','>=', time()-24*3600)
+                    ->select(['id','fo_id','user_id'])
+                    ->first();
+                if($record){
+                    return message('抱歉该佛像您正在供奉中,请24小时后再继续供奉或选择其他佛像', false);
+                }
+                break;
+            case 2: // 超度
+                break;
+            case 3: // 放生
+                break;
+        }
+
+        $data = [
+            'fo_id'=> $id,
+            'user_id'=> $userId,
+            'used_name'=> isset($params['used_name'])? trim($params['used_name']) : '',
+            'user_name'=> isset($params['user_name'])? trim($params['user_name']) : '',
+            'relation'=> isset($params['relation'])? trim($params['relation']) : '',
+            'description'=> isset($params['description'])? trim($params['description']) : '',
+            'image'=> isset($params['image'])? trim($params['image']) : '',
+            'create_time'=> time(),
+            'update_time'=> time(),
+            'mark'=> 1,
+            'status'=> 1,
+        ];
+
+        if(EnshrineRecordModel::insertGetId($data)){
+            return message('请佛成功',true);
+        }else{
+            return message('请佛失败',true);
+        }
+    }
 }