0
0
Files
Babyclass/app/Http/Controllers/UserController.php
2020-08-04 10:09:42 +08:00

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('请输入推荐人编号');
// }
// }
}