提交代码
This commit is contained in:
101
app/Agent/Controllers/CardController.php
Normal file
101
app/Agent/Controllers/CardController.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
namespace App\Agent\Controllers;
|
||||
|
||||
use App\Models\CardOrder;
|
||||
use App\Models\CardOrderExpress;
|
||||
use App\Rules\Checkmobile;
|
||||
use Auth;
|
||||
use Config;
|
||||
use Illuminate\Http\Request;
|
||||
use RuLong\Area\Models\UserAddress;
|
||||
|
||||
/**
|
||||
* 提货卡管理
|
||||
*/
|
||||
class CardController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = Auth::guard('agent')->user();
|
||||
|
||||
$status = $request->status;
|
||||
$lists = $user
|
||||
->mycard()
|
||||
->when($status, function ($q) use ($status) {
|
||||
$q->where('status', $status);
|
||||
})->paginate();
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
if ($lists->isNotEmpty()) {
|
||||
$html = response(view('Agent::card.more', compact('lists')))->getContent();
|
||||
return $this->success($html);
|
||||
} else {
|
||||
return $this->error('没有数据了');
|
||||
}
|
||||
} else {
|
||||
$data = [
|
||||
'all' => $user->mycard()->count(),
|
||||
'residue' => $user->mycard()->where('active_id', 0)->count(),
|
||||
'5' => $user->mycard()->where('status', 5)->count(),
|
||||
'2' => $user->mycard()->where('status', 2)->count(),
|
||||
'3' => $user->mycard()->where('status', 3)->count(),
|
||||
'4' => $user->mycard()->where('status', 4)->count(),
|
||||
];
|
||||
return view('Agent::card.index', compact('user', 'data', 'lists', 'status'));
|
||||
}
|
||||
}
|
||||
|
||||
//进卡
|
||||
public function buy(Request $request)
|
||||
{
|
||||
$user = Auth::guard('agent')->user();
|
||||
if ($request->isMethod('POST')) {
|
||||
if ($user->identity_id < 2) {
|
||||
return $this->error('您没有购卡权限');
|
||||
}
|
||||
$request->validate([
|
||||
'num' => 'required',
|
||||
'name' => 'required',
|
||||
'mobile' => ['required', new Checkmobile],
|
||||
'address' => 'required',
|
||||
], [
|
||||
'num.required' => '进货数量不能为空',
|
||||
'name.required' => '收货人姓名必须填写',
|
||||
'mobile.required' => '收货人电话必须填写',
|
||||
'address.required' => '收货人地址必须填写',
|
||||
]);
|
||||
|
||||
$num = $request->num;
|
||||
$card_price = Config::get('card_price', 15);
|
||||
$price = $num * $card_price;
|
||||
|
||||
$data = [
|
||||
'user_id' => $user->id,
|
||||
'num' => $num,
|
||||
'price' => $price,
|
||||
'remark' => $request->remark ?? '',
|
||||
];
|
||||
if ($cardOrder = CardOrder::create($data)) {
|
||||
$address = [
|
||||
'name' => $request->name,
|
||||
'mobile' => $request->mobile,
|
||||
'address' => $request->address,
|
||||
];
|
||||
$express = new CardOrderExpress(['instance' => $address]);
|
||||
$cardOrder->express()->save($express);
|
||||
|
||||
} else {
|
||||
return $this->error('下单失败');
|
||||
}
|
||||
|
||||
return $this->success('订单创建成功', route('Agent.pay.order', $cardOrder->order_id));
|
||||
} else {
|
||||
$address = UserAddress::where('user_id', $user->id)->orderBy('is_default', 'desc')->first() ?? '';
|
||||
return view('Agent::card.buy', compact('user', 'address'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user