|
|
@@ -53,31 +53,48 @@ class UserStatisticController extends Controller
|
|
|
* @param \App\Models\UserOperationDaily $userOperationDaily
|
|
|
* @return \Illuminate\Http\Response
|
|
|
*/
|
|
|
- public function show(string $userName)
|
|
|
+ public function show(Request $request,string $userName)
|
|
|
{
|
|
|
//
|
|
|
$queryUserId = UserApi::getIntIdByName($userName);
|
|
|
$queryUserUuid = UserApi::getIdByName($userName);
|
|
|
$cacheExpiry = config('mint.cache.expire');
|
|
|
+
|
|
|
+ $expSum = 0;
|
|
|
+ $wbwCount = 0;
|
|
|
+ $lookupCount = 0;
|
|
|
+ $translationCount = 0;
|
|
|
+ $translationCountPub = 0;
|
|
|
+ $termCount = 0;
|
|
|
+ $termCountWithNote = 0;
|
|
|
+ $myDictCount = 0;
|
|
|
//总经验值
|
|
|
- $expSum = RedisClusters::remember("user/{$userName}/exp/sum",$cacheExpiry,function() use($queryUserId){
|
|
|
- return UserOperationDaily::where('user_id',$queryUserId)
|
|
|
- ->sum('duration');
|
|
|
- });
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'exp-sum'){
|
|
|
+ $expSum = RedisClusters::remember("user/{$userName}/exp/sum",$cacheExpiry,function() use($queryUserId){
|
|
|
+ return UserOperationDaily::where('user_id',$queryUserId)
|
|
|
+ ->sum('duration');
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
//逐词解析
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'wbw-count'){
|
|
|
$wbwCount = RedisClusters::remember("user/{$userName}/wbw/count",$cacheExpiry,function() use($queryUserId){
|
|
|
return Wbw::where('editor_id',$queryUserId)
|
|
|
->count();
|
|
|
});
|
|
|
+ }
|
|
|
+
|
|
|
//查字典次数
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'lookup-count'){
|
|
|
$lookupCount = RedisClusters::remember("user/{$userName}/lookup/count",$cacheExpiry,function() use($queryUserId){
|
|
|
return UserOperationLog::where('user_id',$queryUserId)
|
|
|
->where('op_type','dict_lookup')
|
|
|
->count();
|
|
|
});
|
|
|
+ }
|
|
|
//译文
|
|
|
//TODO 判断是否是译文channel
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'translation-count'){
|
|
|
$translationCount = RedisClusters::remember("user/{$userName}/translation/count",$cacheExpiry,function() use($queryUserUuid){
|
|
|
return Sentence::where('editor_uid',$queryUserUuid)
|
|
|
->count();
|
|
|
@@ -87,7 +104,9 @@ class UserStatisticController extends Controller
|
|
|
->where('status',30)
|
|
|
->count();
|
|
|
});
|
|
|
+ }
|
|
|
//术语
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'term-count'){
|
|
|
$termCount = RedisClusters::remember("user/{$userName}/term/count",$cacheExpiry,function() use($queryUserId){
|
|
|
return DhammaTerm::where('editor_id',$queryUserId)
|
|
|
->count();
|
|
|
@@ -97,12 +116,14 @@ class UserStatisticController extends Controller
|
|
|
->where('note',"<>","")
|
|
|
->count();
|
|
|
});
|
|
|
+ }
|
|
|
//单词本
|
|
|
+ if(!$request->has('view') || $request->get('view') === 'my-dict-count'){
|
|
|
$myDictCount = RedisClusters::remember("user/{$userName}/dict/count",$cacheExpiry,function() use($queryUserId){
|
|
|
return UserDict::where('creator_id',$queryUserId)
|
|
|
->count();
|
|
|
});
|
|
|
-
|
|
|
+ }
|
|
|
return $this->ok([
|
|
|
"exp" => ["sum"=>(int)$expSum],
|
|
|
"wbw" => ["count"=>(int)$wbwCount],
|