Просмотр исходного кода

wesmiler 报恩寺项目提交

wesmiler 4 лет назад
Родитель
Сommit
d1dfeebe91
1 измененных файлов с 22 добавлено и 6 удалено
  1. 22 6
      app/Services/SignsService.php

+ 22 - 6
app/Services/SignsService.php

@@ -173,26 +173,42 @@ class SignsService extends BaseService
         if(in_array($cateId, [1,2])){
             $checkInfo = SignsModel::where($where)->whereIn('cate_id',[1,2])
                 ->where('sign_at','>=', date('Y-m-d'))
-                ->select(['id','sign_at','cate_id'])
+                ->select(['id','sign_at','cate_id','siyuan_id'])
                 ->orderBy('sign_at','desc')
                 ->first();
             if($checkInfo && $checkInfo->cate_id == $cateId){
                 return message('您最近已经打过'.$cateInfo->name.'卡,请先联系客服', false);
             }
-            if($cateId == 2 && !$cateInfo){
-                return message('请先完成上班打卡,才能打下班卡', false);
+            if($cateId == 2){
+                if(!$checkInfo){
+                    return message('请先完成上班打卡,才能打下班卡', false);
+                }
+                $siyuanInfo = SiyuanModel::where(['id'=> $checkInfo->siyuan_id,'mark'=> 1,'status'=> 1])
+                    ->select(['id','title','status'])
+                    ->first();
+                if($checkInfo->siyuan_id != $siyuanId){
+                    return message('打卡寺院与今日最近一次['.$siyuanInfo->title.']不相同,请联系客服', false);
+                }
             }
         }else if(in_array($cateId, [3,4])){
             $checkInfo = SignsModel::where($where)->whereIn('cate_id',[3,4])
                 ->where('sign_at','>=', date('Y-m-d'))
-                ->select(['id','sign_at','cate_id'])
+                ->select(['id','sign_at','cate_id','siyuan_id'])
                 ->orderBy('sign_at','desc')
                 ->first();
             if($checkInfo && $checkInfo->cate_id == $cateId){
                 return message('您最近已经打过'.$cateInfo->name.'卡,请先联系客服', false);
             }
-            if($cateId == 4 && !$cateInfo){
-                return message('请先完成上课打卡,才能打下课卡', false);
+            if($cateId == 4){
+                if(!$checkInfo){
+                    return message('请先完成上课打卡,才能打下课卡', false);
+                }
+                $siyuanInfo = SiyuanModel::where(['id'=> $checkInfo->siyuan_id,'mark'=> 1,'status'=> 1])
+                    ->select(['id','title','status'])
+                    ->first();
+                if($checkInfo->siyuan_id != $siyuanId){
+                    return message('打卡寺院与今日最近一次['.$siyuanInfo->title.']不相同,请联系客服', false);
+                }
             }
         }