|
@@ -13,14 +13,14 @@ class MemberAccountController
|
|
|
{
|
|
|
$page = $request->get('page', 1);
|
|
|
$pageSize = $request->get('pageSize', 20);
|
|
|
- $classify = $request->get('classify', 'CASH');
|
|
|
- $days = ['2024-06-01', '2024-06-30'];
|
|
|
+ // $classify = $request->get('classify', 'CASH');
|
|
|
+ $days = $request->get('member_addtimes', []);
|
|
|
+ $level = $request->get('level', '');
|
|
|
+ $accountType = $request->get('account_type', 'CASH');
|
|
|
+ $premisesId = intval($request->get('premises_id', ''));
|
|
|
if (!empty($days)) {
|
|
|
$days[0] = strtotime($days[0]);
|
|
|
$days[1] = strtotime($days[1]);
|
|
|
- if (date('m', $days[0]) != date('m', $days[1])) {
|
|
|
- return json_fail('暂不支持跨月查询');
|
|
|
- }
|
|
|
|
|
|
$month = date('Ym', $days[0]);
|
|
|
$days[1] = strtotime(date('Y-m-d', $days[1]) . " 23:59:59");
|
|
@@ -58,34 +58,45 @@ class MemberAccountController
|
|
|
// return json_success('', compact('rows', 'page', 'pageSize', 'total','statistics'));
|
|
|
|
|
|
|
|
|
- $rows = Member::with([
|
|
|
- 'cert' => function ($query) {
|
|
|
- $query->select('join_cert_member_id', 'member_cert_name');
|
|
|
- },
|
|
|
- 'info' => function ($query) {
|
|
|
- $query->select('join_info_member_id', 'member_info_nickname');
|
|
|
- },
|
|
|
- 'role' => function ($query) {
|
|
|
- $query->select('member_role_id', 'member_role_name');
|
|
|
- }
|
|
|
- ])->join('member_account as ma',function($join) use ($classify){
|
|
|
- $join->on('member.member_id','=','ma.join_account_member_id')->where('ma.member_account_classify','=',$classify);
|
|
|
- });
|
|
|
+ $rows = Member::with([
|
|
|
+ 'cert' => function ($query) {
|
|
|
+ $query->select('join_cert_member_id', 'member_cert_name');
|
|
|
+ },
|
|
|
+ 'info' => function ($query) {
|
|
|
+ $query->select('join_info_member_id', 'member_info_nickname');
|
|
|
+ },
|
|
|
+ 'role' => function ($query) {
|
|
|
+ $query->select('member_role_id', 'member_role_name');
|
|
|
+ }
|
|
|
+ ])->join('member_account as ma', function ($join) use ($accountType) {
|
|
|
+ $join->on('member.member_id', '=', 'ma.join_account_member_id')->where('ma.member_account_classify', '=', $accountType);
|
|
|
+ })->when(!empty($level), function ($query) use ($level) {
|
|
|
+ if ($level == '00'){
|
|
|
+ $query->where('join_member_role_id','')->orWhere('join_member_role_id',NULL);
|
|
|
+ }else{
|
|
|
+ $query->where('join_member_role_id', $level);
|
|
|
+ }
|
|
|
+
|
|
|
+ })->when(!empty($days), function ($query) use ($days) {
|
|
|
+ $query->whereBetween('member.member_addtimes', $days);
|
|
|
+ })->when(!empty($premisesId), function ($query) use ($premisesId) {
|
|
|
+ $query->whereJsonContains('member.member_extend_json->belong->premises', $premisesId);
|
|
|
+ });
|
|
|
|
|
|
- $total = $rows->count('member_id');
|
|
|
- $statistics['surplus'] = $rows->sum('ma.member_account_surplus');
|
|
|
- $statistics['income'] = $rows->sum('ma.member_account_income');
|
|
|
- $statistics['expend'] = $rows->sum('member_account_expend');
|
|
|
- $statistics['added'] = $rows->sum('member_account_added');
|
|
|
+ $total = $rows->count('member_id');
|
|
|
+ $statistics['surplus'] = $rows->sum('ma.member_account_surplus');
|
|
|
+ $statistics['income'] = $rows->sum('ma.member_account_income');
|
|
|
+ $statistics['expend'] = $rows->sum('member_account_expend');
|
|
|
+ $statistics['added'] = $rows->sum('member_account_added');
|
|
|
|
|
|
- $rows = $rows->select('member.member_id','member.member_mobile','member.member_addtimes',
|
|
|
- 'ma.member_account_income as member_account_income','ma.member_account_expend as member_account_expend'
|
|
|
- )
|
|
|
- ->orderBy('member.member_addtimes', 'DESC')
|
|
|
- ->forPage($page, $pageSize)
|
|
|
- ->get()
|
|
|
- ->toArray();
|
|
|
+ $rows = $rows->select('member.member_id', 'member.member_mobile', 'member.member_addtimes', 'member.join_member_role_id',
|
|
|
+ 'ma.member_account_income as member_account_income', 'ma.member_account_expend as member_account_expend', 'ma.member_account_surplus as member_account_surplus', 'ma.member_account_added as member_account_added'
|
|
|
+ )
|
|
|
+ ->orderBy('member.member_addtimes', 'DESC')
|
|
|
+ ->forPage($page, $pageSize)
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
|
|
|
- return json_success('', compact('rows', 'page', 'pageSize', 'total','statistics'));
|
|
|
+ return json_success('', compact('rows', 'page', 'pageSize', 'total', 'statistics'));
|
|
|
}
|
|
|
}
|