浏览代码

wesmiler 报恩寺项目

wesmiler 4 年之前
父节点
当前提交
e31320889d
共有 1 个文件被更改,包括 44 次插入0 次删除
  1. 44 0
      app/Services/EnshrineService.php

+ 44 - 0
app/Services/EnshrineService.php

@@ -104,6 +104,7 @@ class EnshrineService extends BaseService
 
                 // 花
                 $item['hua'] = ['id'=> 0,'url'=> ''];
+                $hua =
                 // 水果
                 $item['guo'] = ['id'=> 0,'url'=> ''];
                 // 香烛
@@ -121,6 +122,23 @@ class EnshrineService extends BaseService
         ];
     }
 
+
+    public function getOrderGoodsInfo($sid, $goodsId, $userId, $type, $goodsType){
+        $cacheKey = "caches:enshrine:orders_goods:u{$userId}_s{$sid}_g{$goodsId}_{$type}_{$goodsType}";
+
+        $info = EnshrineOrdersModel::from('enshrine_orders as eo')
+            ->leftJoin('offerings as g','g.id','=','eo.goods_id')
+            ->where(['eo.source_id'=> $sid,'eo.goods_id'=> $goodsId,'eo.user_id'=> $userId,'eo.type'=> $type,'g.goods_type'=> $goodsType])
+            ->where('eo.create_time','>=', time()-3600)
+            ->select(['g.name','g.goods_type','g.code','g.icon','g.icon_real','eo.source_id','eo.status'])
+            ->orderBy('eo.create_time','desc')
+            ->first();
+    }
+
+    /**
+     * 物品
+     * @return array
+     */
     public function goods(){
         $params = request()->all();
         $page = isset($params['pageSize']) ? intval($params['pageSize']) : PAGE;
@@ -353,6 +371,11 @@ class EnshrineService extends BaseService
         return message("操作成功", true);
     }
 
+    /**
+     * 购买物品
+     * @param $userId
+     * @return array
+     */
     public function buy($userId){
         $params = request()->all();
         $id = isset($params['id'])? $params['id'] : 0;
@@ -384,6 +407,27 @@ class EnshrineService extends BaseService
             return message('物品不存在或已下架,请刷新重试', false);
         }
 
+        // 是否未到期
+        $expireTime = ConfigService::make()->getConfigByCode('enshrine_expire_time');
+        $expireTime = $expireTime? $expireTime : 0;
+        $info = EnshrineOrdersModel::where(['source_id'=> $enshrineId,'goods_id'=> $id,'user_id'=> $userId,'type'=> $type])
+            ->where(function($query) use($expireTime){
+                if($expireTime>0){
+                    $query->where('create_time','>=', time()- $expireTime*3600);
+                }
+            })
+            ->select(['id','source_id','create_time'])
+            ->first();
+        if($info){
+            $enshrineTime = (time() - $info->ceate_time);
+            $hour = intval($enshrineTime/3600);
+            $minute = intval(($expireTime%3600)/60);
+
+            $hour1 = $expireTime>$hour? $expireTime - $hour : 0;
+            $time = date('H点i分', $info->create_time+$expireTime*3600);
+            return message("您已经恭请{$goodsInfo->name}供佛{$hour}小时{$minute}分,还有{$hour1}小时{$minute}分($time)到期,每天更换贡品代表恭敬佛菩萨,阿弥陀佛", false);
+        }
+
         \DB::beginTransaction();
         $data = [
             'source_id'=> $enshrineId,