更新代码
This commit is contained in:
179
app/Admin/Controllers/WindupsController.php
Normal file
179
app/Admin/Controllers/WindupsController.php
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use Admin;
|
||||
use App\Models\Seller;
|
||||
use App\Models\WindupReport;
|
||||
use Illuminate\Http\Request;
|
||||
use RuLong\Order\Models\Order;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Validator;
|
||||
|
||||
class WindupsController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* 全部商户待结算列表-平台管理员
|
||||
* @Author:<ZhaoxiaWang>
|
||||
* @Date:2018-11-30
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$sellers = Seller::whereHas('orders')->get();
|
||||
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
$start = $request->start;
|
||||
$end = $request->end;
|
||||
$seller_id = Admin::id() == 1 ? $request->seller_id : Admin::user()->seller_id;
|
||||
$seller_orders = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})
|
||||
->when($start && $end, function ($query) use ($start, $end) {
|
||||
$query->whereBetween('start_time', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]);
|
||||
})
|
||||
->when($start && !$end, function ($query) use ($start) {
|
||||
$query->where('start_time', '>=', $start);
|
||||
})
|
||||
->when((!$start && $end), function ($query) use ($end) {
|
||||
$query->where('start_time', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end))));
|
||||
})->where('state',0)->orderBy('id','desc')->paginate($numPerPage);
|
||||
|
||||
$unwinduped = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})->where('state',0)
|
||||
->select(DB::raw('SUM(seller_freight_sum + seller_amount_sum) AS sum_total'))->first();
|
||||
|
||||
$winduped = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})->where('state',1)
|
||||
->select(DB::raw('SUM(seller_freight_sum + seller_amount_sum) AS sum_total'))->first();
|
||||
|
||||
$curr_unwinduped = Order::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})
|
||||
->whereHas('logs', function ($query) {
|
||||
$query->where('state','DELIVERED|SIGNED');
|
||||
})
|
||||
->where('state', '<>',Order::ORDER_CLOSED)
|
||||
->where('windup_report_id',0)
|
||||
->select(DB::raw('SUM(seller_freight + seller_amount) AS sum_total'))->first();
|
||||
|
||||
return view('Admin::windups.index', compact('seller_orders','sellers','unwinduped','winduped','curr_unwinduped'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 待结算订单明细-平台管理员、商户管理员同时可查看
|
||||
* @Author:<ZhaoxiaWang>
|
||||
* @Date:2018-11-30
|
||||
*/
|
||||
public function orders(Request $request)
|
||||
{
|
||||
$orderid = $request->orderid;
|
||||
$windup_report_id = $request->windup_report_id;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
|
||||
$orders = Order::where('windup_report_id', $windup_report_id)
|
||||
->when($orderid, function ($query) use ($orderid) {
|
||||
$query->where('orderid', 'like', "%{$orderid}%");
|
||||
})
|
||||
->with(['seller', 'user.info'])
|
||||
->orderBy('created_at', 'desc')
|
||||
->paginate($numPerPage);
|
||||
return view('Admin::windups.orders', compact('orders'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建商户结算记录-平台管理员
|
||||
* @Author:<ZhaoxiaWang>
|
||||
* @Date:2018-11-30
|
||||
*/
|
||||
public function create(Request $request)
|
||||
{
|
||||
$windup_report_id = $request->windup_report_id;
|
||||
|
||||
$windup = WindupReport::find($windup_report_id);
|
||||
|
||||
return view('Admin::windups.create', compact('windup'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存商户结算记录-平台管理员
|
||||
* @Author:<ZhaoxiaWang>
|
||||
* @Date:2018-11-30
|
||||
*/
|
||||
public function dostate(Request $request)
|
||||
{
|
||||
$windup_report_id = $request->windup_report_id;
|
||||
$windup = WindupReport::find($windup_report_id);
|
||||
if(!$windup->seller || empty($windup->seller->account_name)){
|
||||
return $this->error('商户必须设置收款账户才能结算', 'close');
|
||||
}
|
||||
|
||||
$windup->remark = $request->remark;
|
||||
$windup->is_provide_invoice = $request->is_provide_invoice;
|
||||
$windup->state = 1;
|
||||
$windup->seller_account_name = $windup->seller->account_name;
|
||||
$windup->seller_account_bank = $windup->seller->bank_name;
|
||||
$windup->seller_account_number = $windup->seller->account_number;
|
||||
$windup->winduped_at = now();
|
||||
|
||||
$windup->save();
|
||||
return $this->success('操作成功', 'close');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部已结算记录-平台管理员
|
||||
* @Author:<ZhaoxiaWang>
|
||||
* @Date:2018-11-30
|
||||
*/
|
||||
public function winduped(Request $request)
|
||||
{
|
||||
$sellers = Seller::whereHas('orders')->get();
|
||||
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
$start = $request->start;
|
||||
$end = $request->end;
|
||||
$seller_id = Admin::id() == 1 ? $request->seller_id : Admin::user()->seller_id;
|
||||
$seller_orders = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})
|
||||
->when($start && $end, function ($query) use ($start, $end) {
|
||||
$query->whereBetween('start_time', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]);
|
||||
})
|
||||
->when($start && !$end, function ($query) use ($start) {
|
||||
$query->where('start_time', '>=', $start);
|
||||
})
|
||||
->when((!$start && $end), function ($query) use ($end) {
|
||||
$query->where('start_time', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end))));
|
||||
})->where('state',1)->orderBy('id','desc')->paginate($numPerPage);
|
||||
|
||||
$unwinduped = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})->where('state',0)
|
||||
->select(DB::raw('SUM(seller_freight_sum + seller_amount_sum) AS sum_total'))->first();
|
||||
|
||||
$winduped = WindupReport::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})->where('state',1)
|
||||
->select(DB::raw('SUM(seller_freight_sum + seller_amount_sum) AS sum_total'))->first();
|
||||
|
||||
$curr_unwinduped = Order::when($seller_id, function ($q) use ($seller_id) {$q->where('seller_id', $seller_id);})
|
||||
->whereHas('logs', function ($query) {
|
||||
$query->where('state','DELIVERED|SIGNED');
|
||||
})
|
||||
->where('state', '<>',Order::ORDER_CLOSED)
|
||||
->where('windup_report_id',0)
|
||||
->select(DB::raw('SUM(seller_freight + seller_amount) AS sum_total'))->first();
|
||||
return view('Admin::windups.winduped', compact('seller_orders','sellers','unwinduped','winduped','curr_unwinduped'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function rule()
|
||||
{
|
||||
$info = \Params::get('windup_rule');
|
||||
$info = str_replace("\r", "<br />", $info);
|
||||
return view('Admin::windups.rule', compact('info'));
|
||||
|
||||
}
|
||||
|
||||
public function invoice()
|
||||
{
|
||||
$info = \Params::get('invoice_info');
|
||||
$info = str_replace("\r", "<br />", $info);
|
||||
return view('Admin::windups.invoice', compact('info'));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user