167 lines
5.9 KiB
PHP
167 lines
5.9 KiB
PHP
<?php
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\LotteryLog;
|
|
use App\Models\Param;
|
|
use App\Models\SellerLessonLog;
|
|
use App\Models\Team;
|
|
use App\Rules\Checkmobile;
|
|
use App\User;
|
|
use Auth;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\View;
|
|
use RuLong\Order\Models\Order;
|
|
use RuLong\UserRelation\Models\UserRelation;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
public function __construct(Request $request)
|
|
{
|
|
parent::__construct($request);
|
|
$this->middleware('auth');
|
|
view()->share('nav', 2);
|
|
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$user = Auth::user();
|
|
|
|
$orderCount = [
|
|
'unpay' => Order::Unpaid()->CouponAndActivity()->where('user_id', Auth::id())->count(),
|
|
'paid' => Order::UnUse()->CouponAndActivity()->where('user_id', Auth::id())->count(),
|
|
'delivered' => Order::StateUsed()->CouponAndActivity()->where('user_id', Auth::id())->count(),
|
|
'gifts' => Order::gift()->mine()->count(),
|
|
'lottery_gifts' => LotteryLog::where('user_id', Auth::id())->count(),
|
|
'favorites' => $user->favorite_num,
|
|
'couponlogs' => $user->couponlog()->where('status', 0)->count(),
|
|
'lessonlogs' => SellerLessonLog::where('user_id', $user->id)->where('status', 1)->count(),
|
|
|
|
];
|
|
$children_count = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")->where('layer', '<=', $user->relation->layer + 6)->count();
|
|
$children_count_day = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")->where('layer', '<=', $user->relation->layer + 6)->whereBetween('created_at', [Carbon::today()->toDateTimeString(), Carbon::tomorrow()->toDateTimeString()])->count();
|
|
$children_count_tomorrow = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")->where('layer', '<=', $user->relation->layer + 6)->whereBetween('created_at', [Carbon::yesterday()->toDateTimeString(), Carbon::today()->toDateTimeString()])->count();
|
|
|
|
$baby_service = Param::where('name', 'baby_service')->first();
|
|
return view('user.index', compact('orderCount', 'user', 'children_count', 'children_count_day', 'children_count_tomorrow', 'baby_service'));
|
|
}
|
|
|
|
//收益规则
|
|
public function rules()
|
|
{
|
|
return view('user.rules');
|
|
}
|
|
|
|
//联盟合作
|
|
public function alliance(Request $request)
|
|
{
|
|
return view('user.alliance');
|
|
}
|
|
|
|
//0元代理
|
|
public function agency(Request $request)
|
|
{
|
|
return view('user.agency');
|
|
}
|
|
|
|
/**
|
|
* 保存提交的代理和联盟申请
|
|
* @param Request $request [description]
|
|
* @return [type] [description]
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'mobile' => ['required', new Checkmobile],
|
|
'wechat' => 'required',
|
|
], [
|
|
'mobile.required' => '手机号码必须填写',
|
|
'wechat.required' => '微信昵称必须填写',
|
|
]);
|
|
|
|
$info = Team::where('user_id', Auth::id())->where('type', $request->type)->first();
|
|
if ($info) {
|
|
return $this->error('您已经提交过了,请等待我们的客服人员联系您。');
|
|
}
|
|
$info = Team::create([
|
|
'user_id' => Auth::id(),
|
|
'mobile' => $request->mobile,
|
|
'wechat' => $request->wechat,
|
|
'type' => $request->type,
|
|
]);
|
|
if ($info) {
|
|
return $this->success('提交成功', route('user.index'));
|
|
} else {
|
|
return $this->error('提交失败');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 孩子信息
|
|
* @return [type] [description]
|
|
*/
|
|
public function baby(Request $request)
|
|
{
|
|
$callback = $request->callback ? $request->callback : route('index.index');
|
|
return view('user.baby', compact('callback'));
|
|
}
|
|
|
|
/**
|
|
* 保存孩子信息
|
|
* @return [type] [description]
|
|
*/
|
|
public function babyrun(Request $request)
|
|
{
|
|
$request->validate([
|
|
'mobile' => ['required', new Checkmobile],
|
|
'name' => 'required',
|
|
'age' => 'required',
|
|
'sex' => 'required',
|
|
'relation' => 'required',
|
|
], [
|
|
'mobile.required' => '手机号码必须填写',
|
|
'name.required' => '姓名必须填写',
|
|
'age.required' => '年龄必须选择',
|
|
'sex.required' => '请选择性别',
|
|
'relation.required' => '请选择与孩子的关系',
|
|
]);
|
|
$callback = $request->callback;
|
|
$data = $request->except(['callback']);
|
|
$user = Auth::user();
|
|
if ($user->babys()->create($data)) {
|
|
return $this->success('提交成功', $callback);
|
|
} else {
|
|
return $this->error('提交失败');
|
|
}
|
|
}
|
|
|
|
// public function relation()
|
|
// {
|
|
// return view('user.relation');
|
|
// }
|
|
|
|
// public function relationrun(Request $request)
|
|
// {
|
|
// $parentId = $request->parentId ?? '';
|
|
// if ($parentId) {
|
|
// $info = User::find((int) $parentId);
|
|
// if (!$info || $info->identity->identity_id === 0) {
|
|
// return $this->error('推荐人不存在或不是会员');
|
|
// }
|
|
// $user = Auth::user();
|
|
// $relation = $user->relation;
|
|
// $relation->bloodline = $info->relation->bloodline . $info->id . ',';
|
|
// $relation->layer = $info->relation->layer + 1;
|
|
// $relation->parent_id = $info->id;
|
|
// if ($relation->save()) {
|
|
// return $this->success('绑定成功', route('user.index'));
|
|
// } else {
|
|
// return $this->error('绑定失败');
|
|
// }
|
|
// } else {
|
|
// return $this->error('请输入推荐人编号');
|
|
// }
|
|
// }
|
|
}
|