|
|
@@ -44,15 +44,28 @@ class UserLogLogic extends BaseLogic
|
|
|
if (!empty($params['site_id'])) {
|
|
|
$regLogQuery = $regLogQuery->where('site_id', $params['site_id']);
|
|
|
}
|
|
|
+
|
|
|
if (!empty($params['agent_id'])) {
|
|
|
$regLogQuery = $regLogQuery->where('agent_id', $params['agent_id']);
|
|
|
}
|
|
|
+ if (!empty($params['auth_id'])){
|
|
|
+ $regLogQuery = $regLogQuery->where('auth_id', 'in', is_array($params['auth_id']) ? implode(',', $params['auth_id']) : $params['auth_id']);
|
|
|
+ }
|
|
|
if (!empty($params['vt'])) {
|
|
|
$regLogQuery = $regLogQuery->where('vt', $params['vt']);
|
|
|
}
|
|
|
|
|
|
- // 执行查询并排序
|
|
|
- // $data = $regLogQuery->order($orderBy, $orderType)->select()->toArray();
|
|
|
+ // 自然量ID, auth_id=0为自然量
|
|
|
+ $whereRaw = [];
|
|
|
+ if(!empty($params['nomal_game_id'])){
|
|
|
+ for($i=0;$i<count($params['nomal_game_id']);$i++){
|
|
|
+ $whereRaw[] = "(game_id = {$params['nomal_game_id'][$i]} AND auth_id=0)";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $whereRaw = implode(' OR ', $whereRaw);
|
|
|
+ $regLogQuery = $regLogQuery->whereRaw($whereRaw);
|
|
|
+
|
|
|
+ echo $regLogQuery->buildSql();
|
|
|
|
|
|
// 分页
|
|
|
$data = $regLogQuery->paginate($limit)->toArray();
|
|
|
@@ -91,7 +104,7 @@ class UserLogLogic extends BaseLogic
|
|
|
$loginLogQuery = $loginLogQuery->where('site_id', $params['site_id']);
|
|
|
}
|
|
|
if (!empty($params['auth_id'])) {
|
|
|
- $loginLogQuery = $loginLogQuery->where('auth_id', $params['auth_id']);
|
|
|
+ $loginLogQuery = $loginLogQuery->where('auth_id', 'in', is_array($params['auth_id']) ? implode(',', $params['auth_id']) : $params['auth_id']);
|
|
|
}
|
|
|
if (!empty($params['agent_id'])) {
|
|
|
$loginLogQuery = $loginLogQuery->where('agent_id', $params['agent_id']);
|
|
|
@@ -107,9 +120,21 @@ class UserLogLogic extends BaseLogic
|
|
|
->where('login_time', '<=', strtotime($params['login_time'] . ' 23:59:59'));
|
|
|
}
|
|
|
|
|
|
+ // 自然量ID, auth_id=0为自然量
|
|
|
+ $whereRaw = [];
|
|
|
+ if(!empty($params['nomal_game_id'])){
|
|
|
+ for($i=0;$i<count($params['nomal_game_id']);$i++){
|
|
|
+ $whereRaw[] = "(game_id = {$params['nomal_game_id'][$i]} AND auth_id=0)";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $whereRaw = implode(' OR ', $whereRaw);
|
|
|
+ $loginLogQuery = $loginLogQuery->whereRaw($whereRaw);
|
|
|
+
|
|
|
// 执行查询并排序
|
|
|
$loginLogQuery->order($orderBy, $orderType);
|
|
|
|
|
|
+
|
|
|
+
|
|
|
$data = $loginLogQuery->paginate($limit)->toArray();
|
|
|
return $data;
|
|
|
}
|
|
|
@@ -187,7 +212,7 @@ class UserLogLogic extends BaseLogic
|
|
|
$rechargeDetailQuery = $rechargeDetailQuery->where('media_id', $params['media_id']);
|
|
|
}
|
|
|
if (!empty($params['auth_id'])) {
|
|
|
- $rechargeDetailQuery = $rechargeDetailQuery->where('auth_id', $params['auth_id']);
|
|
|
+ $rechargeDetailQuery = $rechargeDetailQuery->where('auth_id', 'in', is_array($params['auth_id']) ? implode(',', $params['auth_id']) : $params['auth_id']);
|
|
|
}
|
|
|
if (!empty($params['agent_id'])) {
|
|
|
$rechargeDetailQuery = $rechargeDetailQuery->where('agent_id', $params['agent_id']);
|
|
|
@@ -206,6 +231,15 @@ class UserLogLogic extends BaseLogic
|
|
|
->where('reg_date', '>=', $params['reg_date'][0] . ' 00:00:00')
|
|
|
->where('reg_date', '<=', $params['reg_date'][1] . ' 23:59:59');
|
|
|
}
|
|
|
+ // 自然量ID, auth_id=0为自然量
|
|
|
+ $whereRaw = [];
|
|
|
+ if(!empty($params['nomal_game_id'])){
|
|
|
+ for($i=0;$i<count($params['nomal_game_id']);$i++){
|
|
|
+ $whereRaw[] = "(game_id = {$params['nomal_game_id'][$i]} AND auth_id=0)";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $whereRaw = implode(' OR ', $whereRaw);
|
|
|
+ $rechargeDetailQuery = $rechargeDetailQuery->whereRaw($whereRaw);
|
|
|
|
|
|
$rechargeDetailQuery->order($orderBy, $orderType);
|
|
|
|
|
|
@@ -219,7 +253,6 @@ class UserLogLogic extends BaseLogic
|
|
|
}
|
|
|
|
|
|
// 充值排行
|
|
|
-
|
|
|
public function getRechargeRankList($where): mixed
|
|
|
{
|
|
|
$orderBy = request()->input('orderBy', 'searchTotalMoney');
|
|
|
@@ -246,7 +279,7 @@ class UserLogLogic extends BaseLogic
|
|
|
$rechargeRankQuery = $rechargeRankQuery->where('media_id', $params['media_id']);
|
|
|
}
|
|
|
if (!empty($params['auth_id'])) {
|
|
|
- $rechargeRankQuery = $rechargeRankQuery->where('auth_id', $params['auth_id']);
|
|
|
+ $rechargeRankQuery = $rechargeRankQuery->where('auth_id', 'in', is_array($params['auth_id']) ? implode(',', $params['auth_id']) : $params['auth_id']);
|
|
|
}
|
|
|
if (!empty($params['agent_id'])) {
|
|
|
$rechargeRankQuery = $rechargeRankQuery->where('agent_id', $params['agent_id']);
|
|
|
@@ -265,6 +298,15 @@ class UserLogLogic extends BaseLogic
|
|
|
->where('reg_date', '>=', $params['reg_date'][0] . ' 00:00:00')
|
|
|
->where('reg_date', '<=', $params['reg_date'][1] . ' 23:59:59');
|
|
|
}
|
|
|
+ // 自然量ID, auth_id=0为自然量
|
|
|
+ $whereRaw = [];
|
|
|
+ if(!empty($params['nomal_game_id'])){
|
|
|
+ for($i=0;$i<count($params['nomal_game_id']);$i++){
|
|
|
+ $whereRaw[] = "(game_id = {$params['nomal_game_id'][$i]} AND auth_id=0)";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $whereRaw = implode(' OR ', $whereRaw);
|
|
|
+ $rechargeRankQuery = $rechargeRankQuery->whereRaw($whereRaw);
|
|
|
|
|
|
// 先选择字段,包括计算字段
|
|
|
$rechargeRankQuery->field('user_name,sum(money) as searchTotalMoney,
|
|
|
@@ -344,9 +386,20 @@ class UserLogLogic extends BaseLogic
|
|
|
if (!empty($where['reg_date'])) {
|
|
|
$totalWhere['reg_date'] = $params['reg_date'];
|
|
|
}
|
|
|
+ // 自然量ID, auth_id=0为自然量
|
|
|
+ $whereRaw = [];
|
|
|
+ if(!empty($params['nomal_game_id'])){
|
|
|
+ for($i=0;$i<count($params['nomal_game_id']);$i++){
|
|
|
+ $whereRaw[] = "(game_id = {$params['nomal_game_id'][$i]} AND auth_id=0)";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $whereRaw = implode(' OR ', $whereRaw);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
$totalList = Db::connect('db_game_log')->table('sdk_order_success')
|
|
|
->where($totalWhere)
|
|
|
+ ->whereRaw($whereRaw)
|
|
|
->field('game_id,uid,sum(money) as totalMoney')
|
|
|
->group('uid,game_id,site_id,server_id,media_id,auth_id,agent_id,server_id,auth_id,role_id')
|
|
|
->select()->toArray();
|
|
|
@@ -372,7 +425,6 @@ class UserLogLogic extends BaseLogic
|
|
|
|
|
|
// 角色数据
|
|
|
|
|
|
-
|
|
|
public function getRoleDataList($where): mixed
|
|
|
{
|
|
|
$orderBy = request()->input('orderBy', 'reg_time');
|
|
|
@@ -389,31 +441,12 @@ class UserLogLogic extends BaseLogic
|
|
|
|
|
|
$userData = Db::connect('db_game_log')->table($egTableName)->where('reg_time', '>=', strtotime($regTime . ' 00:00:00'))->where('reg_time', '<=', strtotime($regTime . ' 23:59:59'))->select()->toArray();
|
|
|
|
|
|
- $where_sql = "";
|
|
|
- if (!empty($params['game_id'])) {
|
|
|
- $where_sql .= is_array($params['game_id']) ? " AND game_id in (" . implode(',', $params['game_id']) . ")" : " AND game_id = {$params['game_id']}";
|
|
|
- }
|
|
|
-
|
|
|
- if (!empty($params['media_id'])) {
|
|
|
- $where_sql .= " AND media_id = {$params['media_id']}";
|
|
|
- }
|
|
|
-
|
|
|
- if (!empty($params['site_id'])) {
|
|
|
- $where_sql .= " AND site_id = {$params['site_id']}";
|
|
|
- }
|
|
|
-
|
|
|
- if (!empty($params['auth_id'])) {
|
|
|
- $where_sql .= " AND auth_id = {$params['auth_id']}";
|
|
|
- }
|
|
|
-
|
|
|
- if (!empty($params['user_name'])) {
|
|
|
- $where_sql .= " AND user_name = {$params['user_name']}";
|
|
|
- }
|
|
|
+ $where_sql = $this->generateWhereSql($params);
|
|
|
+
|
|
|
|
|
|
|
|
|
$uids = array_column($userData, 'uid');
|
|
|
|
|
|
-
|
|
|
if (empty($userData)) {
|
|
|
return [];
|
|
|
}
|
|
|
@@ -421,6 +454,7 @@ class UserLogLogic extends BaseLogic
|
|
|
$where_sql = " AND uid in (" . implode(',', $uids) . ") {$where_sql}";
|
|
|
|
|
|
|
|
|
+
|
|
|
$sql_parts = [];
|
|
|
$sql_parts[] = "SELECT * FROM role_data_and WHERE 1=1 {$where_sql}";
|
|
|
$sql_parts[] = "SELECT * FROM role_data_ios WHERE 1=1 {$where_sql}";
|