164 lines
4.5 KiB
PHP
164 lines
4.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Merchant;
|
|
|
|
use App\Models\AdminLog;
|
|
use App\Models\Merchant;
|
|
use App\Models\MerchantCommission;
|
|
use App\Models\MerchantMoneyLog;
|
|
use App\Models\Sms;
|
|
use App\Models\SmsLog;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
class MerchantCommissionController extends BaseDefaultController
|
|
{
|
|
public function __construct()
|
|
{
|
|
|
|
parent::__construct();
|
|
$this->middleware('proxy');
|
|
}
|
|
|
|
public function setPagesInfo()
|
|
{
|
|
$title = request()->input('title');
|
|
|
|
$this->pages = [
|
|
'name' => $title
|
|
];
|
|
}
|
|
|
|
public function indexData()
|
|
{
|
|
$status = config('adconfig.commission_status');
|
|
return ['status' => $status, 'merchant' => Merchant::where('from_id', $this->getMerchantId())->get()];
|
|
}
|
|
|
|
public function checkRule($id = '')
|
|
{
|
|
}
|
|
|
|
public function setErrorMsg()
|
|
{
|
|
$messages = [
|
|
|
|
];
|
|
return $messages;
|
|
}
|
|
|
|
public function setModel()
|
|
{
|
|
return new MerchantCommission();
|
|
}
|
|
|
|
public function apiJson(Request $request)
|
|
{
|
|
$offset = $request->input('page', 1);
|
|
$pagesize = $request->input('limit', 1);
|
|
$offset = ($offset - 1) * $pagesize;
|
|
$merchant_id = $request->input('merchant_id', '');
|
|
$from_merchant_id = $this->getMerchantId();//$request->input('from_merchant_id', '');
|
|
$order_sn = $request->input('order_sn', '');
|
|
$order_id = $request->input('sort', 'id');
|
|
$order_type = $request->input('order', 'desc');
|
|
$debug = $request->input('debug', 0);
|
|
$status = $request->input('status', 0);
|
|
$model = $this->setModel();
|
|
|
|
$day = $request->input('day', '');
|
|
|
|
$month = $request->input('month', '');
|
|
|
|
$time = $request->input('time', '');
|
|
$start_at = '';
|
|
$end_at = '';
|
|
if ($time) {
|
|
$time = str_replace('~', ',', $time);
|
|
$time = explode(",", $time);
|
|
$start_at = isset($time[0]) ? $time[0] : '';
|
|
$end_at = isset($time[1]) ? $time[1] : '';
|
|
$month = '';
|
|
}
|
|
if ($status != '') {
|
|
$model = $model->where('status', $status);
|
|
}
|
|
//天
|
|
if ($day != '') {
|
|
if ($day <= 0) {
|
|
$day_at = (new Date($day . "day"))->format('Y-m-d');
|
|
$start_at = $day_at . ' 00:00:00';
|
|
if ($day == -1) {
|
|
$end_at = $day_at . ' 23:59:59';
|
|
} else {
|
|
$end_at = (new Date('0 day'))->format('Y-m-d') . ' 23:59:59';
|
|
}
|
|
$month = '';
|
|
}
|
|
}
|
|
//月
|
|
if ($month != '') {
|
|
$date = date('Y-m-d H:i:s', strtotime($month . 'month'));
|
|
$month_at = get_month($date);
|
|
if (count($month_at) > 0) {
|
|
|
|
$start_at = $month_at[0];
|
|
if ($month == 0 || $month == '-1') {
|
|
$end_at = $month_at[1];
|
|
} else {
|
|
$end_at = get_month('', 1, 1);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
//时间范围
|
|
if ($start_at) {
|
|
$model = $model->whereRaw('(order_at>=? and order_at<=? )', [($start_at), ($end_at)]);
|
|
}
|
|
|
|
|
|
$search_arr = [
|
|
'merchant_id' => [
|
|
'value' => $merchant_id,
|
|
'type' => '='
|
|
],
|
|
'order_sn' => [
|
|
'value' => $order_sn,
|
|
'type' => '='
|
|
],
|
|
'from_merchant_id' => [
|
|
'value' => $from_merchant_id,
|
|
'type' => '='
|
|
]
|
|
|
|
];
|
|
$model = $this->searchKey($model, $search_arr, 2);
|
|
|
|
|
|
$total = $model->count();
|
|
$result = $model->skip($offset)->with('merchants')->orderBy($order_id, $order_type)->orderBy('id', 'desc')->take($pagesize)->get();;
|
|
$narr = array();
|
|
|
|
foreach ($result as $k => $v) {
|
|
$v['status_name'] = $v->status_name;
|
|
$v['name'] = $v->merchants->name;
|
|
$v['ratio'] = ($v['ratio'] / 10) . '%';
|
|
$v['show_url'] = admin_merchant_url('Order', 'show', ['id' => $v->order_id]);
|
|
$narr[] = $v;
|
|
}
|
|
$json = [
|
|
"status" => 1,
|
|
'code' => $total > 0 ? 0 : 1,
|
|
'msg' => $total > 0 ? '请求数据成功' : '暂无数据',
|
|
'count' => $total,
|
|
'data' => $narr
|
|
];
|
|
|
|
if ($debug) {
|
|
return $this->jsonDebug($json);
|
|
}
|
|
return response()->json($json);
|
|
}
|
|
}
|