Files
repo-backend/app/Http/Controllers/Admin/UserRealController.php
T

345 lines
13 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;
use Symfony\Component\HttpFoundation\Request;
use App\DAO\PrizePool\CandySender;
use App\DAO\UserDAO;
use App\PrizePool;
use App\Setting;
use App\Users;
use App\UserReal;
use App\IdCardIdentity;
use App\Events\RealNameEvent;
class UserRealController extends Controller
{
public function index()
{
return view("admin.userReal.index");
}
//用户列表
public function list(Request $request)
{
$limit = $request->get('limit', 10);
$account = $request->get('account', '');
$review_status_s = $request->get('review_status_s', 0);
$list = new UserReal();
if (!empty($account)) {
$list = $list->whereHas('user', function ($query) use ($account) {
$query->where("phone", 'like', '%' . $account . '%')->orwhere('email', 'like', '%' . $account . '%');
});
}
if(!empty($review_status_s)){
$list = $list->where('review_status',$review_status_s);
}
$list = $list->orderBy('id', 'desc')->paginate($limit);
return response()->json(['code' => 0, 'data' => $list->items(), 'count' => $list->total()]);
}
public function detail(Request $request)
{
$id = $request->get('id', 0);
if (empty($id)) {
return $this->error("参数错误");
}
$result = UserReal::find($id);
$imageServerUrl = Setting::getValueByKey('image_server_url', '');
if(!empty($result -> front_pic)){
$result -> front_pic = $imageServerUrl.$result ->front_pic;
}
if(!empty($result -> reverse_pic)){
$result -> reverse_pic = $imageServerUrl.$result ->reverse_pic;
}
return view('admin.userReal.info', ['result' => $result,'imageServerUrl' => $imageServerUrl]);
}
public function del(Request $request)
{
$id = $request->get('id');
$userreal = UserReal::find($id);
if (empty($userreal)) {
$this->error("认证信息未找到");
}
try {
$userreal->delete();
return $this->success('删除成功');
} catch (\Exception $ex) {
return $this->error($ex->getMessage());
}
}
/*
//状态审核
public function auth(Request $request)
{
$id = $request->get('id', 0);
$userreal = UserReal::find($id);
if (empty($userreal)) {
return $this->error('参数错误');
}
if ($userreal->review_status == 1) {
//从未认证到认证
//查询users表判断是否为第一次实名认证
$user = Users::find($userreal->user_id);
$is_realname = $user->is_realname;
if ($is_realname == 1) {
//1:未实名认证过 2:实名认证过
$real_zhitui = Users::where("is_realname", "=", 2)->where("parent_id", "=", $userreal->user_id)->count();//实名认证过的有效直推人数
//获取下级的总人数
$member = Users::get()->toArray();
$real_teamnumber = $this->GetTeamMember($member, $userreal->user_id);//实名认证过的团队人数
$candy_number = 10;
$user->candy_number = $candy_number;
$user->push_status = 1;
$top_upnumber = $user->top_upnumber;
//开始记录日志
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
$user->candy_number,
$user,
$user,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
$user->account_number . '实名认证通证奖励10个通证',
$attach_data = []
);
if (3 <= $real_zhitui) {
//给自己加通证 +20
$user->candy_number = $user->candy_number + 20;
$user->push_status = 2;
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
20,
$user,
$from_user = null,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
'满足直推3人实名送20个通证',
$attach_data = []
);
}
if ($real_zhitui >= 5 && $real_teamnumber >= 15 && $top_upnumber >= 100) {
$user->candy_number = $user->candy_number + 50;
$user->push_status = 3;
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
50,
$user,
$from_user = null,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
'满足直推5人,实名认证团队15人充值达100美金;送50通证',
$attach_data = []
);
}
if ($real_zhitui >= 10 && $real_teamnumber >= 50 && $top_upnumber >= 1000) {
$user->candy_number = $user->candy_number + 300;
$user->push_status = 4;
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
300,
$user,
$from_user = null,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
'满足直推10人;实名认证,团队50人;充值达1000美金以上,送300通证',
$attach_data = []
);
}
if ($real_zhitui >= 30 && $real_teamnumber >= 100 && $top_upnumber >= 10000) {
$user->candy_number = $user->candy_number + 1300;
$user->push_status = 5;
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
1300,
$user,
$from_user = null,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
'满足直推30人,团队100人,充值1万送1300个',
$attach_data = []
);
}
if ($real_zhitui >= 50 && $real_teamnumber >= 200 && $top_upnumber >= 100000) {
$user->candy_number = $user->candy_number + 30000;
$user->push_status = 6;
$candy_sender = new CandySender();
PrizePool::send(
$candy_sender,
$sender = 0,
30000,
$user,
$from_user = null,
//PrizePool::CERTIFICATION,//const CERTIFICATION = 1; //实名认证奖励
'直推50人实名认证,团队200人,充值金额达10万USDC,送30000通证',
$attach_data = []
);
}
$user->real_teamnumber = $real_teamnumber;
$user->is_realname = 2;
$user->save();//自己实名认证获取通证结束
}
$userreal->review_status = 2;
} else if ($userreal->review_status == 2) {
$userreal->review_status = 1;
} else {
$userreal->review_status = 1;
}
try {
$userreal->save();
return $this->success('操作成功');
} catch (\Exception $exception) {
return $this->error($exception->getMessage());
}
}
*/
public function autherror(Request $request)
{
$id = $request->get('id', 0);
$userreal = UserReal::find($id);
if (empty($userreal)) {
return $this->error('参数错误');
}
$user = Users::find($userreal->user_id);
if (!$user) {
return $this->error('用户不存在');
}
$userreal->review_status = 4;
try {
$userreal->save();
return $this->success('操作成功');
} catch (\Exception $exception) {
return $this->error($exception->getMessage());
}
}
public function auth(Request $request)
{
$id = $request->get('id', 0);
$userreal = UserReal::find($id);
if (empty($userreal)) {
return $this->error('参数错误');
}
$user = Users::find($userreal->user_id);
if (!$user) {
return $this->error('用户不存在');
}
if ($userreal->review_status == 1) {
//从未认证到认证
//查询users表判断是否为第一次实名认证
$is_realname = $user->is_realname;
if ($is_realname != 2) {
//1:未实名认证过 2:实名认证过
$user->is_realname = 2;
$user->save();//自己实名认证获取通证结束
//判断自己上级的的触发奖励
//UserDAO::addCandyNumber($user);
}
$userreal->review_status = 2;
} else if ($userreal->review_status == 2) {
$userreal->review_status = 1;
} else {
$userreal->review_status = 1;
}
try {
$userreal->save();
//用户实名事件
if ($userreal->review_status == 2) {
event(new RealNameEvent($user, $userreal));
}
return $this->success('操作成功');
} catch (\Exception $exception) {
return $this->error($exception->getMessage());
}
}
//认证高级用户
public function setAdvancedUser(Request $request)
{
$id = $request->get('id', 0);
$userreal = UserReal::find($id);
if (empty($userreal)) {
return $this->error('参数错误');
}
$user = Users::find($userreal->user_id);
if (!$user) {
return $this->error('用户不存在');
}
if($userreal->review_status == 2 && $userreal->advanced_user==1){
$userreal->advanced_user = 2;//null还没有提交过高级审核 1 等待审核的 2 已通过高级审核
}else if($userreal->review_status != 2){
return $this->success('请先审核用户信息');
}else if($userreal->advanced_user == 2){
return $this->success('已经审核过');
}else if(!$userreal->advanced_user){
return $this->error('该用户还未提交高级审核');
}
try {
$userreal->save();
return $this->success('操作成功');
} catch (\Exception $exception) {
return $this->error($exception->getMessage());
}
}
//递归查询用户下级所有人数
public function GetTeamMember($members, $mid)
{
$Teams = array();//最终结果
$mids = array($mid);//第一次执行时候的用户id
do {
$othermids = array();
$state = false;
foreach ($mids as $valueone) {
foreach ($members as $key => $valuetwo) {
if ($valuetwo['parent_id'] == $valueone) {
//实名认证通过的团队人数
$Teams[] = $valuetwo['id'];//找到我的下级立即添加到最终结果中
$othermids[] = $valuetwo['id'];//将我的下级id保存起来用来下轮循环他的下级
// array_splice($members,$key,1);//从所有会员中删除他
$state = true;
}
}
}
$mids = $othermids;//foreach中找到的我的下级集合,用来下次循环
} while ($state == true);
//$Teams=Users::where("parents_path","like","%$mid%")->where("is_realname","=",2)->count();
$Teams = Users::whereIn("id", $Teams)->where("is_realname", "=", 2)->count();
return $Teams;
}
}