Przeglądaj źródła

wesmiler 抢表商城

APPLE 3 lat temu
rodzic
commit
0bfadf72ef

+ 26 - 0
app/Services/Common/MemberService.php

@@ -203,6 +203,30 @@ class MemberService extends BaseService
     }
 
     /**
+     * 用户缓存信息
+     * @param $id
+     * @param string $field
+     * @return array|mixed
+     */
+    public function getCacheInfo($id, $field='')
+    {
+        $cacheKey = "caches:member:info:u_{$id}";
+        $info = RedisService::get($cacheKey);
+        if($info){
+            return $info;
+        }
+
+        $field = $field? $field : ['id','is_trade','status','parent_id','code'];
+        $info = $this->model->where(['id' => $id,'mark'=>1])->select($field)->first();
+        $info = $info? $info->toArray() : [];
+        if($info){
+            RedisService::set($cacheKey, $info, rand(5, 10));
+        }
+
+        return $info;
+    }
+
+    /**
      * 用户登录
      * @param $params
      * @return array|false
@@ -333,6 +357,8 @@ class MemberService extends BaseService
         return false;
     }
 
+
+
     /**
      * 修改保存用户资料
      * @param $userId

+ 8 - 1
app/Services/Common/TradeService.php

@@ -687,6 +687,14 @@ class TradeService extends BaseService
             return false;
         }
 
+        // 验证用户是否可以抢拍
+        $memberInfo = MemberService::make()->getCacheInfo($userId);
+        $memberIsTrade = isset($memberInfo['is_trade'])? $memberInfo['is_trade'] : 0;
+        if($memberIsTrade != 1){
+            $this->error = 2027;
+            return false;
+        }
+
         if ($goodsUserId == $userId) {
             $this->error = 2036;
             return false;
@@ -725,7 +733,6 @@ class TradeService extends BaseService
             }
         }
 
-
         // 验证收款账号
         if (!MemberBankService::make()->getBindInfo($userId)) {
             $this->error = 2037;