bztang-admin/app/backend/modules/point/controllers/QueueLogController.php

100 lines
4.1 KiB
PHP

<?php
/**
* Author:
* Date: 2019/3/31
* Time: 9:42 PM
*/
namespace app\backend\modules\point\controllers;
use app\backend\modules\finance\services\PointService;
use app\common\components\BaseController;
use app\common\facades\Setting;
use app\common\helpers\PaginationHelper;
use app\common\models\finance\PointQueueLog;
use app\common\models\point\ParentRewardLog;
class QueueLogController extends BaseController
{
public function index()
{
if (request()->ajax()) {
$search = request()->search;
$list = PointQueueLog::getList($search);
$amount = $list->sum('amount');
$shopSet = Setting::get('shop.member');
$list = $list->orderBy('id', 'desc')->paginate()->toArray();
foreach ($list['data'] as &$item) {
$item['member']['uid'] = $item[['member']] ? $item['member']['uid'] : '';
$item['member']['avatar'] = $item['member']['avatar'] ? tomedia($item['member']['avatar']) : tomedia($shopSet['headimg']);
$item['member']['nickname'] = $item['member']['nickname'] ?: '未更新';
}
return $this->successJson('ok', [
'list' => $list,
'tab_list' => PointService::getVueTags(),
'search' => $search,
'amount' => $amount,
]);
}
return view('point.queueLog');
}
public function parentIndex()
{
if (request()->ajax()) {
$search = request()->search;
$query = ParentRewardLog::uniacid()->where('expect_reward_time', '<>', 0)
->with([
'hasOneOrder' => function ($query) {
$query->select('yz_order.id', 'yz_order.order_sn', 'yz_order.uid', 'mc_members.nickname', 'mc_members.avatar')
->leftJoin('mc_members', 'mc_members.uid', '=', 'yz_order.uid');
},
'hasOneMember' => function ($query) {
$query->select('uid', 'nickname', 'avatar');
},
])->orderBy('id', 'DESC');
if ($search['status'] || $search['status'] === '0' || $search['status'] === 0) {
$query->where('status', $search['status']);
}
if ($search['order_sn']) {
$query->whereHas('hasOneOrder', function ($query) use ($search) {
$query->where('order_sn', 'like', "%{$search['order_sn']}%");
});
}
if ($search['uid']) {
$query->where('uid', $search['uid']);
}
if ($search['member_kwd']) {
$query->whereHas('hasOneMember', function ($query) use ($search) {
$query->where('nickname', 'like', "%{$search['member_kwd']}%")
->orWhere('mobile', 'like', "%{$search['member_kwd']}%")
->orWhere('realname', 'like', "%{$search['member_kwd']}%");
});
}
$amount = $query->sum('point');
$list = $query->paginate()->toArray();
$shopSet = Setting::get('shop.member');
foreach ($list['data'] as &$item) {
$item['has_one_member']['uid'] = $item[['has_one_member']] ? $item['member']['uid'] : '';
$item['has_one_member']['avatar'] = $item['has_one_member']['avatar'] ? tomedia($item['has_one_member']['avatar']) : tomedia($shopSet['headimg']);
$item['has_one_member']['nickname'] = $item['has_one_member']['nickname'] ?: '未更新';
$item['has_one_order']['id'] = $item['has_one_order'] ? $item['has_one_order']['id'] : '';
$item['has_one_order']['order_sn'] = $item['has_one_order'] ? $item['has_one_order']['order_sn'] : '';
}
return $this->successJson('ok', [
'list' => $list,
'search' => $search,
'tab_list' => PointService::getVueTags(),
'amount' => $amount
]);
}
return view('point.parentQueueLog');
}
}