|
|
@@ -180,7 +180,7 @@ class TradeService extends BaseService
|
|
|
* 消费排名
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public function ranks($dateType){
|
|
|
+ public function ranks($dateType, $coinType=0){
|
|
|
$firstTime = strtotime(date('Y-m-d'));
|
|
|
if($dateType==1){
|
|
|
$firstTime = strtotime('monday this week');
|
|
|
@@ -189,11 +189,17 @@ class TradeService extends BaseService
|
|
|
}else if($dateType==3){
|
|
|
$firstTime = strtotime(date('Y-01-01'));
|
|
|
}
|
|
|
+
|
|
|
+ $where = ['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2];
|
|
|
+ if($coinType==1 || $coinType==3) {
|
|
|
+ $where['a.coin_type'] = $coinType;
|
|
|
+ $where['a.pay_type'] = 1;
|
|
|
+ }
|
|
|
$dataList = $this->model::from('account_logs as a')
|
|
|
->leftJoin('member as m', 'm.id', '=', 'a.user_id')
|
|
|
->where('a.create_time','>=', $firstTime)
|
|
|
->where('a.create_time','<=', time())
|
|
|
- ->where(['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2])
|
|
|
+ ->where($where)
|
|
|
->select(['m.avatar','m.nickname','a.id','a.user_id', \DB::raw('sum('.env('DB_PREFIX').'a.`money`) as total')])
|
|
|
->groupBy('a.user_id')
|
|
|
->orderBy(\DB::raw('sum('.env('DB_PREFIX').'a.`money`)'),'desc')
|
|
|
@@ -203,6 +209,7 @@ class TradeService extends BaseService
|
|
|
if($dataList){
|
|
|
foreach ($dataList as &$item){
|
|
|
$item['avatar'] = $item['avatar']? get_image_url($item['avatar']) : '';
|
|
|
+ $item['total'] = $coinType==2? moneyFormat($item['total']) : intval($item['total']);
|
|
|
}
|
|
|
unset($item);
|
|
|
}
|
|
|
@@ -215,8 +222,8 @@ class TradeService extends BaseService
|
|
|
* @param $dateType
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function tableData($dateType){
|
|
|
- $cacheKey = "caches:statistics:table_trade_{$dateType}";
|
|
|
+ public function tableData($dateType, $coinType=0){
|
|
|
+ $cacheKey = "caches:statistics:table_trade_{$dateType}_{$coinType}";
|
|
|
$datas = RedisService::get($cacheKey);
|
|
|
if($datas){
|
|
|
return $datas;
|
|
|
@@ -273,9 +280,14 @@ class TradeService extends BaseService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ $where = ['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2];
|
|
|
+ if($coinType==1 || $coinType==3) {
|
|
|
+ $where['a.coin_type'] = $coinType;
|
|
|
+ $where['a.pay_type'] = 1;
|
|
|
+ }
|
|
|
$counts = $this->model::from('account_logs as a')
|
|
|
->leftJoin('member as m', 'm.id', '=', 'a.user_id')
|
|
|
- ->where(['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2])
|
|
|
+ ->where($where)
|
|
|
->where('a.create_time','>=', $firstTime)
|
|
|
->where('a.create_time','<=', time())
|
|
|
->select([\DB::raw('sum('.env('DB_PREFIX').'a.`money`) as value'),\DB::raw('FROM_UNIXTIME('.env('DB_PREFIX')."a.create_time,'{$formatStr}') as ks")])
|
|
|
@@ -286,7 +298,7 @@ class TradeService extends BaseService
|
|
|
if($counts){
|
|
|
foreach ($counts as $v){
|
|
|
if(isset($datas[$v['ks']])){
|
|
|
- $datas[$v['ks']]['value'] = $v['value'];
|
|
|
+ $datas[$v['ks']]['value'] = $coinType==2? moneyFormat($v['value']) : intval($v['value']);
|
|
|
}
|
|
|
}
|
|
|
}
|