12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327 |
- <?php
- namespace App\Http\Controllers;
- use App\Events\AddAgent;
- use App\Events\AgentAuditServiceEvent;
- use App\Events\ShelvedAgent;
- use App\Events\ChangeUserInfo;
- use App\Events\ChangeUserLevel;
- use App\Events\ChangeUserWar;
- use App\Events\ChangeRecom;
- use App\Events\DeleteAgent;
- use App\Models\CauseDel;
- use App\Models\ServiceReason;
- use App\Models\Warea;
- use Carbon\Carbon;
- use Illuminate\Support\Facades\DB;
- use App\Models\User;
- use App\Models\Admin;
- use App\Models\UserCopy;
- use App\Models\UserCert;
- use App\Models\AgentOperationLog;
- use App\Models\Message;
- use Illuminate\Support\Facades\Validator;
- use Illuminate\Validation\Rule;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Auth;
- use Jxlwqq\IdValidator\IdValidator;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\Redis;
- use Illuminate\Support\Facades\Storage;
- use Illuminate\Http\Request;
- use \Exception;
- class UserController extends Controller
- {
- //获取代理列表信息
- public function getUserList(Request $request)
- {
- $input = $request->all();
- $page_size = $input['page_size'];
- $page_index = $input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $search_name = $input['search_name'];
- $info_select = $input['info_select'];
- $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
- $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
- $commissar_id = $input['commissar'];
- $warea_id = $input['warea_id'];
- $where = [];
- if ($input['level'] == '4') {
- $user = User::onlyTrashed()->where($where);
- } elseif ($input['level'] == 'all') {
- $user = User::withTrashed()->where($where);
- } else {
- $where['level'] = $input['level'];
- $user = User::where($where);
- }
- if ($request->has('start_time')){
- Log::error('时间');
- if ($input['start_time']){
- $user->where('created_at','>=',$input['start_time']);
- }
- }
- if ($request->has('end_time')){
- if ($input['end_time']){
- $user->where('created_at','<=',$input['end_time']);
- }
- }
- $user->whereIn('cert_status', [3, 6]);
- // if ($search_name) {
- // $user->where(function ($query) use ($search_name) {
- // $query->where('nickname', 'like', '%' . $search_name . '%')
- // ->orWhere('mobile', $search_name)
- // ->orWhere('cre_num', $search_name)
- // ->orWhere('realname', 'like', '%' . $search_name . '%');
- // });
- // }
- if ($search_name) {
- if ($info_select==1){
- $user->where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', $search_name)
- ->orWhere('cre_num', $search_name)
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- });
- }elseif ($info_select==2){
- $recom_id = $this->getUserInfo($search_name);
- $user->whereIn('recom_id', $recom_id);
- }else{
- $agent_id = $this->getUserInfo($search_name);
- $user->whereIn('agent_id', $agent_id);
- }
- }
- // if ($agent_name) {
- // $agent_id = $this->getUserInfo($agent_name);
- // $user->whereIn('agent_id', $agent_id);
- //
- // }
- // if ($recom_name) {
- // $recom_id = $this->getUserInfo($recom_name);
- // $user->whereIn('recom_id', $recom_id);
- //
- // }
- //<<<<<<< HEAD
- if ($warea_id && $commissar_id) {
- $user->where('warea_id', $warea_id);
- }
- if ($commissar_id && empty($warea_id)) {
- $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id');
- $user->whereIn('warea_id', $warea_ids);
- }
- $count = $user->where($where)->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile,level', 'warea:id,name,admin_name'])
- ->select('id', 'nickname', 'name','remark','realname', 'level', 'headimgurl', 'mobile', 'recom_id', 'agent_id', 'warea_id','cre_num', 'status',
- DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'))
- ->orderBy('id', 'desc')->skip($num)->take($page_size)->get();
- foreach ($list as $k=>$v){
- if (empty($v->remark)){
- $list[$k]['remark']='';
- }
- if ($v->level!=3 && $v->level!=0){
- if ($v->agent->level==3 || $v->agent->level==0){
- $list[$k]->crown=$v->agent;
- }else{
- $res=$this->get_crown($v->agent->id);
- $list[$k]->crown=$res;
- }
- }else{
- $list[$k]->crown='';
- }
- }
- return $this->success_list($list, '获取数据成功', $count);
- }
- /**查找代理公司**/
- public function get_crown($id){
- $re=User::with(['agent:id,nickname,mobile,level',])->where('id',$id)->first();
- if ($re->agent->level!=3 && $re->agent->level!=0){
- $res=$this->get_crown($re->agent->id);
- return $res;
- }
- return $re->agent;
- }
- //根据输入条件查询用户
- public function getUserInfo($search = null)
- {
- return User::where('nickname', 'like', '%' . $search . '%')
- ->orWhere('mobile', $search)
- ->orWhere('cre_num', $search)
- ->orWhere('realname', 'like', '%' . $search . '%')
- ->pluck('id');
- }
- //导出代理信息
- public function exportUserList(Request $request)
- {
- ini_set('memory_limit', '2048M');
- $input = $request->all();
- $page_size = $input['page_size'];
- $page_index = $input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $search_name = $input['search_name'];
- $info_select = $input['info_select'];
- $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
- $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
- $commissar_id = $input['commissar'];
- $warea_id = $input['warea_id'];
- $where = [];
- if ($input['level'] == '4') {
- $user = User::onlyTrashed()->where($where);
- } elseif ($input['level'] == 'all') {
- $user = User::where($where)->whereNull('deleted_at');
- } else {
- $where['level'] = $input['level'];
- $user = User::where($where);
- }
- if ($request->has('start_time')){
- if ($input['start_time']){
- $user->where('created_at','>=',$input['start_time']);
- }
- }
- if ($request->has('end_time')){
- if ($input['end_time']){
- $user->where('created_at','<=',$input['end_time']);
- }
- }
- $user->whereIn('cert_status', [3, 6]);
- if ($search_name) {
- // $user->where(function ($query) use ($search_name) {
- // $query->where('nickname', 'like', '%' . $search_name . '%')
- // ->orWhere('mobile', $search_name)
- // ->orWhere('cre_num', $search_name)
- // ->orWhere('realname', 'like', '%' . $search_name . '%');
- // });
- if ($info_select==1){
- $user->where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', $search_name)
- ->orWhere('cre_num', $search_name)
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- });
- }elseif ($info_select==2){
- $recom_id = $this->getUserInfo($search_name);
- $user->whereIn('recom_id', $recom_id);
- }else{
- $agent_id = $this->getUserInfo($search_name);
- $user->whereIn('agent_id', $agent_id);
- }
- }
- // if ($agent_name) {
- // $agent_id = $this->getUserInfo($agent_name);
- // $user->whereIn('agent_id', $agent_id);
- // }
- // if ($recom_name) {
- // $recom_id = $this->getUserInfo($recom_name);
- // $user->whereIn('recom_id', $recom_id);
- // }
- if ($warea_id && $commissar_id) {
- $user->where('warea_id', $warea_id);
- }
- if ($commissar_id && empty($warea_id)) {
- $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id');
- $user->whereIn('warea_id', $warea_ids);
- }
- $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile,level', 'warea:id,name,admin_name'])
- ->select('id', 'nickname', 'realname', 'cre_num', 'remark', 'level', 'mobile', 'recom_id', 'agent_id', 'warea_id', 'auth_code', 'auth_startime', 'auth_endtime', 'recom_code', 'status',
- DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'),'deleted_at')
- ->orderBy('id', 'desc')
- // ->skip($num)->take(10000)
- ->get();
- foreach ($list as $k=>$v){
- if ($v->deleted_at){
- $list[$k]->crown='';
- }else{
- if ($v->level!=3 && $v->level!=0){
- if ($v->agent){
- if ($v->agent->level==3 || $v->agent->level==0){
- $list[$k]->crown=$v->agent;
- }else{
- $res=$this->get_crown($v->agent->id);
- $list[$k]->crown=$res;
- }
- }else{
- $list[$k]->crown='';
- }
- }else{
- $list[$k]->crown='';
- }
- }
- }
- if ($list) {
- return $this->success($list);
- } else {
- return $this->error();
- }
- //=======
- //// if($warea_id && $commissar_id){
- //// $user->where('warea_id',$warea_id);
- //// }
- //// if($commissar_id && empty($warea_id)){
- //// $warea_ids=Warea::where('admin_id',$commissar_id)->pluck('id');
- //// $user->whereIn('warea_id',$warea_ids);
- //// }
- //// $list = Cache::remember($keys, 60, function () use ($user){
- // $ll = $user->with(['recom:id,nickname,mobile','agent:id,nickname,mobile'])
- //// ->select('nickname','name','mobile','cre_num','level','auth_code','auth_startime','auth_endtime','created_at','recom_code','status','cert_status')
- // ->orderBy('id','desc')
- // ->skip($num)->take(10000)
- // ->get();
- // if($ll){
- // foreach($ll as $key=>$val){
- // if(!empty($val->deleted_at)){
- // $ll[$key]['delete']=1;//已删除
- // }else{
- // $ll[$key]['delete']=0;//未删除
- // }
- // $ll[$key]['cert_status']=6;
- //
- //// $ll[$key]['warea']=$this->getWareaInfo($val->warea_id);
- //// $list[$key]['account']=$user->getAgentSalesResult($val->id);
- // }
- // return $this->success($ll);
- // }else{
- // return $this->error();
- // }
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- //代理详情
- public function getUserDetails(Request $request)
- {
- $input = $request->all();
- $user = User::withTrashed()->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile'
- ])->where('id', $input['id'])->first();
- if ($user) {
- if ($user->level == '3') {
- $childAgent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
- $childAgentIds = array_column($childAgent, 'id');
- if ($childAgentIds) {
- $childChildAgent = User::whereIn('agent_id', $childAgentIds)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
- $user->child_agent = array_merge($childAgent, $childChildAgent);
- } else {
- $user->child_agent = $childAgent;
- }
- $user->childAgentCount = count($user->child_agent);
- } elseif ($user->level == '2') {
- $user->child_agent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
- $user->childAgentCount = count($user->child_agent);
- $user->crown=$this->get_crown($user->id);
- } else {
- $user->child_agent = [];
- $user->childAgentCount = 0;
- $user->crown=$this->get_crown($user->id);
- }
- if ($user->warea_id) {
- $warea = Warea::where('id', $user->warea_id)->first();
- $user['warea']->warea_name = $warea->name;
- if ($warea->admin_id) {
- $user['warea']->commissar = Admin::where('id', $warea->admin_id)->value('name');
- }
- }
- if (!empty($user->deleted_at)) {
- $user->delete = '1';//已删除
- } else {
- $user->delete = '0';//未删除
- }
- $user->up_team=$this->getUpTeam($user->id);
- // event(new ChangeUserInfo($user));
- return $this->success($user);
- } else {
- return $this->error('400004', '代理信息不存在');
- }
- }
- //获取战区政委信息
- public function getWareaInfo($warea_id)
- {
- $data = [];
- if ($warea_id) {
- $warea = Warea::where('id', $warea_id)->first();
- if ($warea) {
- $data['warea_name'] = $warea->name;
- if ($warea->admin_id) {
- $data['commissar'] = Admin::where('id', $warea->admin_id)->value('name');
- }
- }
- }
- return $data;
- }
- //获取未审核代理列表信息
- public function getNocertUserList(Request $request)
- {
- $input = $request->all();
- $page_size = $input['page_size'];
- $page_index = $input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $search_name = $input['search_name'];
- if ($input['cert'] == 'all') {
- $where = [];
- } else {
- $where['cert_status'] = $input['cert'];
- }
- $count = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- ->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- // DB::enableQueryLog();
- $list = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
- ->skip($num)->take($page_size)
- ->get();
- if (empty($list)) {
- return $this->error('400002', '没有获取到数据');
- }
- return $this->success_list($list, '获取数据成功', $count);
- }
- //获取代理授权信息
- public function getAuthUserList(Request $request)
- {
- $input = $request->all();
- $page_size = $input['page_size'];
- $page_index = $input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $search_name = $input['search_name'];
- $status = $input['status'];
- $where = [];
- switch ($status) {
- case '0': //未授权
- $auth_status = 0;
- $count = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- })->whereNull('auth_code')
- ->where('id', '<>', 1)
- ->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- $list = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- })
- ->whereNull('auth_code')
- ->where('id', '<>', 1)
- ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
- ->skip($num)->take($page_size)
- ->get();
- break;
- case '1': //已授权
- $auth_status = 1;
- $nowDate = date("Y-m-d H:i:s", time());
- $count = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('auth_code', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- // ->where('auth_startime','<=',$nowDate)
- ->where('auth_endtime', '>=', $nowDate)
- ->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- $list = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('auth_code', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- // ->where('auth_startime','<=',$nowDate)
- ->where('auth_endtime', '>=', $nowDate)
- ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
- ->skip($num)->take($page_size)
- ->get();
- break;
- case '2': //已过期
- $auth_status = 2;
- $nowDate = date("Y-m-d H:i:s", time());
- // if($input['auth_time']){
- // $where['auth_startime']=$input['auth_time'];
- // }
- $count = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('auth_code', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- ->where('auth_endtime', '<', $nowDate)
- ->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- $list = User::where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('auth_code', 'like', '%' . $search_name . '%');
- })
- ->where($where)
- ->where('id', '<>', 1)
- ->where('auth_endtime', '<', $nowDate)
- ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
- ->skip($num)->take($page_size)
- ->get();
- break;
- }
- if ($list) {
- foreach ($list as $key => $val) {
- $list[$key]['auth_status'] = $auth_status;
- }
- }
- return $this->success_list($list, '获取数据成功', $count);
- }
- //代理重新授权
- public function updateUserAuthInfo(Request $request)
- {
- $input = $request->all();
- $userInfo = User::find($input['id']);
- if (empty($userInfo)) {
- return $this->error('400213', '代理信息不存在');
- }
- $auth_code = $this->getAuthCode();
- $data['auth_code'] = $auth_code;
- $data['auth_startime'] = $input['auth_startime'];
- $data['auth_endtime'] = $input['auth_endtime'];
- DB::beginTransaction();
- $row = User::where('id', $input['id'])->update($data);
- $remark = '单个授权';
- $res = $this->addAgentOperationLog('5', $input['id'], $remark);
- if ($row && $res) {
- DB::commit();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理id=' . $input['id']);
- return $this->success([], '授权成功');
- }
- DB::rollBack();
- return $this->error();
- }
- //代理批量授权
- public function updateUserManyAuthInfo(Request $request)
- {
- $input = $request->all();
- $userId = $input['userId'];
- DB::beginTransaction();
- try {
- foreach ($userId as $key => $val) {
- $userInfo = User::find($val);
- if (empty($userInfo)) {
- return $this->error('400213', '代理(id=' . $val . ')信息不存在');
- }
- $auth_code = $this->getAuthCode();
- $data['auth_code'] = $auth_code;
- $data['auth_startime'] = $input['auth_startime'];
- $data['auth_endtime'] = $input['auth_endtime'];
- User::where('id', $val)->update($data);
- $remark = '批量授权';
- $this->addAgentOperationLog('5', $val, $remark);
- }
- DB::commit();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理ids=' . json_encode($userId));
- return $this->success([], '授权成功');
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error();
- }
- }
- // public function updateBatch($multipleData = [])
- // {
- // try {
- // if (empty($multipleData)) {
- // throw new \Exception("数据不能为空");
- // }
- // $tableName = DB::getTablePrefix() . $this->getTable(); // 表名
- // $firstRow = current($multipleData);
- // $updateColumn = array_keys($firstRow);
- // // 默认以id为条件更新,如果没有ID则以第一个字段为条件
- // $referenceColumn = isset($firstRow['id']) ? 'id' : current($updateColumn);
- // unset($updateColumn[0]);
- // // 拼接sql语句
- // $updateSql = "UPDATE " . $tableName . " SET ";
- // $sets = [];
- // $bindings = [];
- // foreach ($updateColumn as $uColumn) {
- // $setSql = "`" . $uColumn . "` = CASE ";
- // foreach ($multipleData as $data) {
- // $setSql .= "WHEN `" . $referenceColumn . "` = ? THEN ? ";
- // $bindings[] = $data[$referenceColumn];
- // $bindings[] = $data[$uColumn];
- // }
- // $setSql .= "ELSE `" . $uColumn . "` END ";
- // $sets[] = $setSql;
- // }
- // $updateSql .= implode(', ', $sets);
- // $whereIn = collect($multipleData)->pluck($referenceColumn)->values()->all();
- // $bindings = array_merge($bindings, $whereIn);
- // $whereIn = rtrim(str_repeat('?,', count($whereIn)), ',');
- // $updateSql = rtrim($updateSql, ", ") . " WHERE `" . $referenceColumn . "` IN (" . $whereIn . ")";
- // // 传入预处理sql语句和对应绑定数据
- // return DB::update($updateSql, $bindings);
- // } catch (\Exception $e) {
- // return false;
- // }
- // }
- // }
- //添加代理信息
- public function uploadUser(Request $request)
- {
- $input = $request->all();
- $rules = [
- 'mobile' => ['required',
- Rule::unique('users')->where(function ($query) {
- $query->where('deleted_at', null);
- }),
- 'regex:/^1[345789][0-9]{9}$/'],
- 'cre_num' => ['nullable',
- Rule::unique('users')->where(function ($query) {
- $query->where('deleted_at', null);
- })],
- 'share' => 'required | regex:/^1[345789][0-9]{9}$/',
- 'nickname' => 'required',
- 'level' => 'required | numeric',
- ];
- $uuu = new User();
- $validator = User::validator($input, $rules);
- if ($validator->fails()) {
- return $this->error('400013', $validator->errors()->first());
- }
- $idValidator = new IdValidator();
- if ($input['cre_num']) {
- if (!$idValidator->isValid($input['cre_num'])) {
- return $this->error('400013', '身份证号有误');
- }
- }
- $code = $this->getRandomString(6);
- $recom = User::where('mobile', $input['share'])->first();
- if (empty($recom)) {
- return $this->error('400115', '邀请人信息不存在');
- }
- if ($input['level'] == $recom->level) {
- $agent_id = $recom->agent_id;
- }
- if ($input['level'] < $recom->level) {
- $agent_id = $recom->id;
- }
- if ($input['level'] > $recom->level) {
- if ($input['level'] == '3') {
- $agent_id = '1';
- } else {
- $recom_up=User::find($recom->agent_id);
- if($recom_up->level=='2'){
- $agent_id = $recom_up->agent_id;
- }else{
- $agent_id = $recom_up->id;
- }
- }
- }
- $agent = User::where('id', $agent_id)->first();
- if ($agent->level == 3) {
- $crown_id = $agent->id;
- } elseif ($agent->level == 2) {
- $crown_id = $agent->agent_id;
- } else {
- $crown_id = '';
- }
- $warea_id = $recom->warea_id;
- // if($crown_id){
- // $warea_id=User::where('id',$crown_id)->value('warea_id');
- // }else{
- // $warea_id='';
- // }
- DB::beginTransaction();
- try {
- $data['mobile'] = $input['mobile'];
- $data['name'] = $input['nickname'];
- $data['nickname'] = $input['nickname'];
- $data['realname'] = $input['realname'];
- $data['password'] = MD5($input['mobile']);
- $data['cre_num'] = $input['cre_num'];
- $data['level'] = $input['level'];
- $data['headimgurl'] = 'https://img.bosszhipin.com/beijin/mcs/chatphoto/20181102/e0e8b50969101987a84f1643716b41ffcfcd208495d565ef66e7dff9f98764da.jpg';
- $data['status'] = 0;
- $data['cert_status'] = '6';
- $data['agent_id'] = $agent_id;
- $data['recom_id'] = $recom->id;
- $data['crown_id'] = $crown_id;
- $data['warea_id'] = $warea_id;
- $data['recom_code'] = $code;
- $data['auth_code'] = $this->getAuthCode();
- $data['auth_startime'] = date('Y-m-01 00:00:00');
- $data['auth_endtime'] = date('Y-m-01 00:00:00', strtotime('+1 years'));
- $data['register_type'] = '2';
- $row = User::create($data);
- $recoms['title'] = '新增成员推送';
- $recoms['type'] = '1';
- $recoms['data'] = '';
- $recoms['status'] = '0';
- $recoms['user_id'] = $row->recom_id;
- $recoms['agent_id'] = '1';
- Message::create($recoms);
- $agents['title'] = '新增成员推送';
- $agents['type'] = '1';
- $agents['data'] = '';
- $agents['status'] = '0';
- $agents['user_id'] = $row->agent_id;
- $agents['agent_id'] = '1';
- Message::create($agents);
- $after = ['id' => $row->id, 'nickname' => $row->nickname, 'mobile' => $row->mobile, 'level' => $row->level, 'recom_id' => $row->recom_id, 'recom_mobile' => $input['share'], 'agent_id' => $row->agent_id];
- $log = '添加代理成功,代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
- $this->addAgentOperationLog('1', $row->id, '', $log);
- if($input['level']==3){
- event(new AddAgent($row));
- }
- DB::commit();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')添加' . $row->level . '级代理:' . $data['nickname'] . '(id=' . $row->id . ')成功,邀请人:' . $recom->nickname . '(id=' . $row->recom_id . ')');
- return $this->success([], '添加成功');
- } catch (Exception $e) {
- DB::rollBack();
- return $e->getMessage();
- return $this->error();
- }
- }
- /*授权码*/
- function getAuthCode()
- {
- $time = time();
- $three = mt_rand(100, 999);
- $res = date('ymd', $time);
- $re = mt_rand(10000000000, 99999999999);
- $data = 'DWBS00' . $three . $res . $re;
- return $data;
- }
- /* 随机字符串 邀请码*/
- function getRandomString($len, $chars = null)
- {
- if (is_null($chars)) {
- $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- }
- mt_srand(10000000 * (double)microtime());
- for ($i = 0, $str = '', $lc = strlen($chars) - 1; $i < $len; $i++) {
- $str .= $chars[mt_rand(0, $lc)];
- }
- $count = User::where('recom_code', $str)->count();
- if ($count > 0) {
- $this->getRandomString(6);
- } else {
- return $str;
- }
- }
- //修改手机号
- public function updateMobile(Request $request)
- {
- $input = $request->all();
- $rules = [
- 'mobile' => [
- 'required',
- Rule::unique('users')->ignore($input['id'], 'id')->where(function ($query) {
- $query->where('deleted_at', null);
- }),
- 'regex:/^1[345789][0-9]{9}$/'
- ],
- ];
- $uuu = new User();
- $validator = $uuu->validator($input, $rules);
- if ($validator->fails()) {
- return $this->error('400013', $validator->errors()->first());
- }
- $user = User::find($input['id']);
- $phone = $user->mobile;
- $user->mobile = $input['mobile'];
- //<<<<<<< HEAD
- DB::beginTransaction();
- $row = $user->save();
- $res = $this->addAgentOperationLog('6', $user->id);
- if ($row && $res) {
- DB::commit();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')手机号成功,原手机号:' . $phone . ',新手机号:' . $input['mobile']);
- return $this->success([], '修改成功');
- } else {
- DB::rollBack();
- return $this->error();
- }
- //=======
- // $row=$user->save();
- // if($row){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改代理:'.$user->nickname.'(id='.$user->id.')手机号成功,原手机号:'.$phone.',新手机号:'.$input['mobile']);
- // return $this->success([],'修改成功');
- // }
- // return $this->error();
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- //修改推荐人(如果该处皇冠团队,下级代理信息变更很严重)代理邀请人员后,或者成为上级后不能变更推荐人
- public function updateRecom(Request $request)
- {
- $input = $request->all();
- $rules = [
- 'mobile' => [
- 'required',
- 'regex:/^1[345789][0-9]{9}$/'
- ],
- 'remark' => ['required']
- ];
- $messages = [
- 'mobile.required' => '手机号不能为空.',
- 'mobile.regex' => '手机号格式有误.',
- 'remark.required' => '备注原因不能为空.'
- ];
- $uuu = new User();
- $validator = $uuu->validator($input, $rules, $messages);
- if ($validator->fails()) {
- return $this->error('400013', $validator->errors()->first());
- }
- $user = User::find($input['id']);//当前用户
- if ($user->recom_id) {
- $recom_id = $user->recom_id;
- } else {
- $recom_id = '暂无';
- }
- if ($user->agent_id) {
- $up_id = $user->agent_id;
- } else {
- $up_id = '暂无';
- }
- $agentCount = User::where(function ($query) use ($input) {
- $query->where('recom_id', '=', $input['id'])
- ->orWhere('agent_id', '=', $input['id']);
- })->count();
- //代理邀请人员后,或者成为上级后不能变更推荐人
- // if($agentCount>0){
- // return $this->error('400112','当前用户邀请人信息不能修改');
- // }
- $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息
- if (empty($recomUser)) {
- return $this->error('400115', '邀请人信息不存在');
- }
- if ($user->recom_id == $recomUser->id) {
- return $this->error('400111', '要更改的邀请人与当前邀请人相同');
- }
- if ($user->id == $recomUser->recom_id) {
- return $this->error('400116', '要更改的邀请人的邀请人为自己');
- }
- if ($user->id == $recomUser->id) {
- return $this->error('400116', '要更改的邀请人不能为自己');
- }
- $uuu = new User();
- $rechecking = $uuu->changeRecomSystem($input['id'], $input['mobile']);
- if ($rechecking == '222') {
- return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员');
- }
- DB::beginTransaction();
- try {
- if ($user->level == '3') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = '1';
- $user->crown_id = '';
- if ($user->warea_id != $recomUser->warea_id) {
- $user->warea_id = $recomUser->warea_id;
- $one_agent = User::where('agent_id', $user->id)->pluck('id');
- if (count($one_agent) > 0) {
- User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]);
- foreach ($one_agent as $key => $val) {
- $two_agent = User::where('agent_id', $val)->pluck('id');
- if (count($two_agent) > 0) {
- User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]);
- }
- }
- }
- }
- } else {
- if ($recomUser->level == '3') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->id;
- $user->crown_id = $recomUser->id;
- $user->warea_id = $recomUser->warea_id;
- if ($user->level == '2') {
- $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id);
- } elseif ($user->level == '1') {
- $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id);
- } elseif ($recomUser->level == '2') {
- if ($user->level == '2') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id);
- } elseif ($user->level == '1') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
- } elseif ($recomUser->level == '1') {
- $recomAgent = User::find($recomUser->agent_id);
- if ($user->level == '2') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomAgent->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id);
- } elseif ($user->level == '1') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
- }
- }
- $row = $user->save();
- $remark = $input['remark'];
- $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first();
- $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile];
- $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE);
- $this->addAgentOperationLog('3', $user->id, $remark, $log);
- event(new ChangeRecom($user));
- DB::commit();
- // if($row){
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')邀请人成功,原邀请人id=' . $recom_id . ',原上级id=' . $up_id . ',新邀请人:' . $recomUser->nickname . '(id=' . $recomUser->id . ')');
- return $this->success([]);
- // }
- // return $this->success([],'修改成功');
- } catch (Exception $e) {
- // return $e;
- //=======
- // if($user->level=='3'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id='1';
- // $user->crown_id='';
- // $user->warea_id='';
- // }else{
- // if($recomUser->level=='3'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id=$recomUser->id;
- // $user->crown_id=$recomUser->id;
- // $user->warea_id=$recomUser->warea_id;
- // if($user->level=='2'){
- // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->id);
- // }elseif($user->level=='1'){
- // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->id,$recomUser->id);
- // }
- // $uuu->changeAgentRecomCrown($user->id,$recomUser->id,$recomUser->warea_id);
- // }elseif($recomUser->level=='2'){
- // if($user->level=='2'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id=$recomUser->agent_id;
- // $user->crown_id=$recomUser->crown_id;
- // $user->warea_id=$recomUser->warea_id;
- // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->agent_id);
- // }elseif ($user->level=='1'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id=$recomUser->id;
- // $user->crown_id=$recomUser->crown_id;
- // $user->warea_id=$recomUser->warea_id;
- // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->agent_id,$recomUser->id);
- // }
- // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id);
- // }elseif($recomUser->level=='1'){
- // $recomAgent=User::find($recomUser->agent_id);
- // if($user->level=='2'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id=$recomAgent->agent_id;
- // $user->crown_id=$recomUser->crown_id;
- // $user->warea_id=$recomUser->warea_id;
- // $uuu->changeAgentLevelInfoTwo($user->id,$recomAgent->agent_id);
- // }elseif ($user->level=='1'){
- // $user->recom_id=$recomUser->id;
- // $user->agent_id=$recomUser->agent_id;
- // $user->crown_id=$recomUser->crown_id;
- // $user->warea_id=$recomUser->warea_id;
- // $uuu->changeAgentLevelInfoThree($user->id,$recomAgent->agent_id,$recomUser->agent_id);
- // }
- // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id);
- // }
- // }
- // $row=$user->save();
- // DB::commit();
- // if($row){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改代理:'.$user->nickname.'(id='.$user->id.')邀请人成功,原邀请人id='.$recom_id.',原上级id='.$up_id.',新邀请人:'.$recomUser->nickname.'(id='.$recomUser->id.')');
- // return $this->success([]);
- // }
- // return $this->success([],'修改成功');
- // }catch(Exception $e) {
- // return $e;
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- DB::rollBack();
- return $this->error();
- }
- // if($user->level==$recomUser->level){ //特级-》特级 顶级-》顶级 皇冠-》皇冠
- // $user->agent_id=$recomUser->agent_id;
- // }
- // if($user->level<$recomUser->level){ //皇冠-》顶级 皇冠-》特级 顶级-》特级
- // $user->agent_id=$recomUser->id;
- // }
- // if($user->level>$recomUser->level){ // 特级-》顶级 特级-》皇冠 顶级-》皇冠
- // if($user->level=='3'){//如果当前用户为皇冠 特级-》皇冠 顶级-》皇冠
- // $user->agent_id='1';
- // }else{ // 特级-》顶级
- // $topUser=User::find($recomUser->agent_id);//邀请人上级
- // if($topUser->level=='3'){//邀请人上级为皇冠
- // $user->agent_id=$topUser->id;
- // }else{//邀请人上级不为皇冠
- // $user->agent_id=$topUser->agent_id;
- // }
- // }
- // }
- }
- //代理升降级
- public function updateAgentLevel(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- $before_level=$user->level;
- $user_level=$user->level;
- if ($user->level==3 && $input['level']<$user->level){
- if ($user->money>0){
- return $this->error(400124,'代理公司账户中还存有余额,请将余额归零后降级');
- }
- }
- if ($user->recom_id == '1') {
- return $this->error('400116', '邀请人为公司的代理不能变更等级');
- }
- $recom = User::find($user->recom_id);//邀请人信息
- if (empty($recom)) {
- return $this->error('400115', '代理邀请人信息不存在,升降级失败');
- }
- $uuu = new User();
- DB::beginTransaction();
- try {
- $res = $uuu->changeAgentLevel($user, $input['level']);
- $message['title'] = '代理等级变更推送';
- $message['data'] = '下级代理' . $input['id'] . '已升级';
- $message['type'] = '1';
- $message['status'] = '0';
- $message['user_id'] = $user->agent_id;
- $message['agent_id'] = '1';
- Message::create($message);
- if ($user_level == 1) {
- $before = '销售主管';
- } elseif ($user_level == 2) {
- $before = '销售经理';
- } elseif ($user_level == 3) {
- $before = '代理公司';
- } else {
- $before = '无效等级';
- }
- if ($input['level'] == 1) {
- $after = '销售主管';
- } elseif ($input['level'] == 2) {
- $after = '销售经理';
- } elseif ($input['level'] == 3) {
- $after = '代理公司';
- } else {
- $after = '无效等级';
- }
- if ($input['level'] > $user->level) {
- $remark = '升级';
- $log = '(升级)变更前等级:' . $before . ',变更后等级:' . $after;
- } elseif ($input['level'] < $user->level) {
- $remark = '降级';
- $log = '(降级)变更前等级:' . $before . ',变更后等级:' . $after;
- } else {
- $remark = '等级变更错误';
- $log = '';
- }
- $result=User::find($input['id']);
- $result->before=$before_level;
- event(new ChangeUserLevel($result));
- $this->addAgentOperationLog('2', $user->id, $remark, $log);
- Log::info('代理:' . $user->nickname . '(id=' . $user->id . ')等级变更成功,原推荐人id为:' . $user->recom_id . '原上级id为:' . $user->agent_id);
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')等级成功,原等级:' . $user->level . ',新等级:' . $input['level']);
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $e->getMessage();
- Log::info($e->getMessage()) ;
- return $this->error();
- }
- }
- //皇冠战区选择
- public function crownSelectWarea(Request $request)
- {
- $input = $request->all();
- $user_id = $input['id'];
- $warea_id = $input['wid'];
- $user = User::where('id', $user_id)->first();
- $before_war=$user->warea_id;
- if ($warea_id == $user->warea_id) {
- return $this->error('450001', '不能选择当前所在战区');
- }
- $before = Warea::where('id', $user->warea_id)->select('id', 'name', 'admin_name')->first();
- DB::beginTransaction();
- try {
- $user->warea_id = $warea_id;
- $user->save();
- $one_agent = User::where('agent_id', $user_id)->pluck('id');
- if (count($one_agent) > 0) {
- User::whereIn('id', $one_agent)->update(['warea_id' => $warea_id]);
- foreach ($one_agent as $key => $val) {
- $two_agent = User::where('agent_id', $val)->pluck('id');
- if (count($two_agent) > 0) {
- User::whereIn('id', $two_agent)->update(['warea_id' => $warea_id]);
- }
- }
- }
- $after = Warea::where('id', $warea_id)->select('id', 'name', 'admin_name')->first();
- $log = '代理公司战区修改成功,修改前战区信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后战区信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
- $this->addAgentOperationLog('7', $user_id, '', $log);
- $user->before=$before_war;
- event(new ChangeUserWar($user));
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error($e->getMessage());
- }
- }
- /*后台审核*/
- public function certUserStatus(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- $usercert = UserCert::where('user_id', $input['id'])->first();
- if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建
- $userC = new UserCert;
- $d['user_id'] = $input['id'];
- $d['recom_id'] = $user->recom_id;
- $userC->create($d);
- }
- $recom = User::find($user->recom_id);//邀请人信息
- $remark = '';
- if ($input['type'] == 1) {
- if ($input['level'] == '3') {//皇冠
- $data['agent_id'] = '1';
- $user->agent_id = '1';
- $user->crown_id = '';
- $user->warea_id = '';
- //<<<<<<< HEAD
- } else {
- if ($recom->level > $input['level']) {//邀请人等级 > 代理等级
- $data['agent_id'] = $recom->id;
- $user->agent_id = $recom->id;
- if ($recom->level == '3') {
- //=======
- // }else{
- // if($recom->level>$input['level']){//邀请人等级 > 代理等级
- // $data['agent_id']=$recom->id;
- // $user->agent_id=$recom->id;
- // if($recom->level=='3'){
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- $user->crown_id = $recom->id;
- } else {
- $user->crown_id = $recom->crown_id;
- }
- $user->warea_id = $recom->warea_id;
- //<<<<<<< HEAD
- }
- if ($recom->level == $input['level']) {//邀请人等级 = 代理等级
- $data['agent_id'] = $recom->agent_id;
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- }
- if ($recom->level < $input['level']) {//邀请人等级 < 代理等级
- if ($recom->agent_id == '3') {
- $data['agent_id'] = $recom->agent_id;
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- } else {
- $agent = User::find($recom->agent_id);//邀请人上级代理信息
- $data['agent_id'] = $agent->agent_id;
- $user->agent_id = $agent->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- }
- }
- }
- $data['recom_audit'] = $input['status'];
- $data['recom_audit_desc'] = $input['remark'] ? $input['remark'] : '';
- $data['recom_updated_at'] = date("Y-m-d H:i:s");
- DB::beginTransaction();
- try {
- if ($input['status'] == '1') {//通过
- $user->cert_status = '2'; //邀请人通过
- $user->level = $input['level'];
- $user->save();
- $remark = '邀请人审核通过';
- } elseif ($input['status'] == '2') {//驳回
- $user->cert_status = '4'; //邀请人驳回
- $user->save();
- $remark = '邀请人审核驳回';
- }
- UserCert::where('user_id', $input['id'])->update($data);
- $this->addAgentOperationLog('8', $user->id, $remark);
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error();
- }
- } else {
- DB::beginTransaction();
- try {
- $data['agent_audit'] = $input['status'];
- $data['agent_audit_desc'] = $input['remark'] ? $input['remark'] : '';
- $data['agent_updated_at'] = date("Y-m-d H:i:s");
- $userCert = UserCert::where('user_id', $input['id'])->where('recom_audit', '1')->first();
- if ($userCert && $input['status'] == '1') {
- $user->cert_status = '3';
- $user->auth_code = $this->getAuthCode();
- $user->auth_startime = date("Y-m-01 00:00:00");
- $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
- $user->save();
- $remark = '上级审核通过';
- } elseif ($userCert && $input['status'] == '2') {
- $user->cert_status = '5';
- $user->save();
- $remark = '上级审核驳回';
- }
- $userCert->update($data);
- $this->addAgentOperationLog('8', $user->id, $remark);
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error();
- }
- }
- //=======
- // }
- // if($recom->level==$input['level']){//邀请人等级 = 代理等级
- // $data['agent_id']=$recom->agent_id;
- // $user->agent_id=$recom->agent_id;
- // $user->crown_id=$recom->crown_id;
- // $user->warea_id=$recom->warea_id;
- // }
- // if($recom->level<$input['level']){//邀请人等级 < 代理等级
- // if($recom->agent_id=='3'){
- // $data['agent_id']=$recom->agent_id;
- // $user->agent_id=$recom->agent_id;
- // $user->crown_id=$recom->crown_id;
- // $user->warea_id=$recom->warea_id;
- // }else{
- // $agent=User::find($recom->agent_id);//邀请人上级代理信息
- // $data['agent_id']=$agent->agent_id;
- // $user->agent_id=$agent->agent_id;
- // $user->crown_id=$recom->crown_id;
- // $user->warea_id=$recom->warea_id;
- // }
- // }
- // }
- // $data['recom_audit']=$input['status'];
- // $data['recom_audit_desc']=$input['remark']?$input['remark']:'';
- // $data['recom_updated_at']=date("Y-m-d H:i:s");
- // DB::beginTransaction();
- // try{
- // if($input['status']=='1'){//通过
- // $user->cert_status='2'; //邀请人通过
- // $user->level=$input['level'];
- // $user->save();
- // }elseif($input['status']=='2'){//驳回
- // $user->cert_status='4'; //邀请人驳回
- // $user->save();
- // }
- // UserCert::where('user_id',$input['id'])->update($data);
- // DB::commit();
- // return $this->success([]);
- // }catch(Exception $e) {
- // DB::rollBack();
- // return $this->error();
- // }
- // }else{
- // DB::beginTransaction();
- // try{
- // $data['agent_audit']=$input['status'];
- // $data['agent_audit_desc']=$input['remark']?$input['remark']:'';
- // $data['agent_updated_at']=date("Y-m-d H:i:s");
- // $userCert=UserCert::where('user_id',$input['id'])->where('recom_audit','1')->first();
- // if($userCert && $input['status']=='1'){
- // $user->cert_status='3';
- // $user->auth_code=$this->getAuthCode();
- // $user->auth_startime=date("Y-m-01 00:00:00");
- // $user->auth_endtime=date("Y-m-01 00:00:00",strtotime("+1 years"));
- // $user->save();
- // }elseif($userCert && $input['status']=='2'){
- // $user->cert_status='5';
- // $user->save();
- // }
- // $userCert->update($data);
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
- // DB::commit();
- // return $this->success([]);
- // }catch(Exception $e) {
- // DB::rollBack();
- // return $this->error();
- // }
- // }
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- /*后台批量审核*/
- public function certUserStatus_all(Request $request)
- {
- $input = $request->all();
- foreach ($input['list'] as $k => $v) {
- $user = User::find($v['id']);
- $usercert = UserCert::where('user_id', $v['id'])->first();
- if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建
- $userC = new UserCert;
- $d['user_id'] = $v['id'];
- $d['recom_id'] = $user->recom_id;
- $userC->create($d);
- }
- $recom = User::find($user->recom_id);//邀请人信息
- if ($v['type'] == 1) {
- if ($v['level'] == '3') {//皇冠
- $data['agent_id'] = '1';
- $user->agent_id = '1';
- $user->crown_id = '';
- $user->warea_id = '';
- } else {
- if ($recom->level > $v['level']) {//邀请人等级 > 代理等级
- $data['agent_id'] = $recom->id;
- $user->agent_id = $recom->id;
- if ($recom->level == '3') {
- $user->crown_id = $recom->id;
- } else {
- $user->crown_id = $recom->crown_id;
- }
- $user->warea_id = $recom->warea_id;
- }
- if ($recom->level == $v['level']) {//邀请人等级 = 代理等级
- $data['agent_id'] = $recom->agent_id;
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- }
- if ($recom->level < $v['level']) {//邀请人等级 < 代理等级
- if ($recom->agent_id == '3') {
- $data['agent_id'] = $recom->agent_id;
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- } else {
- $agent = User::find($recom->agent_id);//邀请人上级代理信息
- $data['agent_id'] = $agent->agent_id;
- $user->agent_id = $agent->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- }
- }
- }
- $data['recom_audit'] = $v['status'];
- $data['recom_audit_desc'] = $v['remark'] ? $v['remark'] : '';
- $data['recom_updated_at'] = date("Y-m-d H:i:s");
- DB::beginTransaction();
- try {
- if ($v['status'] == '1') {//通过
- $user->cert_status = '2'; //邀请人通过
- $user->level = $v['level'];
- $user->save();
- //<<<<<<< HEAD
- $remark = '邀请人批量审核通过';
- } elseif ($v['status'] == '2') {//驳回
- $user->cert_status = '4'; //邀请人驳回
- $user->save();
- $remark = '邀请人批量审核驳回';
- }
- UserCert::where('user_id', $v['id'])->update($data);
- $this->addAgentOperationLog('8', $user->id, $remark);
- //=======
- // }elseif($v['status']=='2'){//驳回
- // $user->cert_status='4'; //邀请人驳回
- // $user->save();
- // }
- // UserCert::where('user_id',$v['id'])->update($data);
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- DB::commit();
- // return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- // return $this->error();
- }
- } else {
- DB::beginTransaction();
- try {
- $data['agent_audit'] = $v['status'];
- $data['agent_audit_desc'] = $v['remark'] ? $v['remark'] : '';
- $data['agent_updated_at'] = date("Y-m-d H:i:s");
- $userCert = UserCert::where('user_id', $v['id'])->where('recom_audit', '1')->first();
- if ($userCert && $v['status'] == '1') {
- $user->cert_status = '3';
- $user->auth_code = $this->getAuthCode();
- $user->auth_startime = date("Y-m-01 00:00:00");
- $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
- $user->save();
- $remark = '上级批量审核通过';
- } elseif ($userCert && $v['status'] == '2') {
- $user->cert_status = '5';
- $user->save();
- $remark = '上级批量审核驳回';
- }
- $this->addAgentOperationLog('8', $user->id, $remark);
- $userCert->update($data);
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
- DB::commit();
- // return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- // return $this->error();
- }
- }
- }
- return $this->success([]);
- }
- //邀请人重新审核
- public function againCertRecomStatus(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- $userCert = UserCert::where('user_id', $input['id'])->first();
- if ($input['type'] == '1') {//通过
- $user->level = $input['level'];
- $recom = User::find($user->recom_id);
- if ($input['level'] == '3') {//皇冠
- $user->agent_id = '1';
- $user->crown_id = '';
- $user->warea_id = '';
- $userCert->agent_id = '1';
- } else {
- if ($recom->level > $input['level']) {//邀请人等级 > 代理等级
- $user->agent_id = $recom->id;
- if ($recom->level == '3') {
- $user->crown_id = $recom->id;
- } else {
- $user->crown_id = $recom->crown_id;
- }
- $user->warea_id = $recom->warea_id;
- $userCert->agent_id = $recom->id;
- }
- if ($recom->level == $input['level']) {//邀请人等级 = 代理等级
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- $userCert->agent_id = $recom->agent_id;
- }
- if ($recom->level < $input['level']) {//邀请人等级 < 代理等级
- if ($recom->agent_id == '3') {
- $user->agent_id = $recom->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- $userCert->agent_id = $recom->agent_id;
- } else {
- $agent = User::find($recom->agent_id);//邀请人上级代理信息
- $user->agent_id = $agent->agent_id;
- $user->crown_id = $recom->crown_id;
- $user->warea_id = $recom->warea_id;
- $userCert->agent_id = $agent->agent_id;
- }
- }
- }
- $userCert->recom_id = $user->recom_id;
- $userCert->recom_audit = '1';
- $userCert->recom_audit_desc = '';
- $userCert->agent_audit = '0';
- $userCert->agent_audit_desc = '';
- $userCert->recom_updated_at = date("Y-m-d H:i:s");
- $user->cert_status = '2';
- $remark = '邀请人重新审核通过';
- } elseif ($input['type'] == '2') {//驳回
- $userCert->recom_id = $user->recom_id;
- $userCert->agent_id = $user->agent_id;
- $userCert->recom_audit = '2';
- $userCert->recom_audit_desc = $input['desc'];
- $userCert->agent_audit = '0';
- $userCert->agent_audit_desc = '';
- $userCert->recom_updated_at = date("Y-m-d H:i:s");
- $user->cert_status = '4';
- $remark = '邀请人重新审核驳回';
- }
- DB::beginTransaction();
- try {
- $this->addAgentOperationLog('8', $user->id, $remark);
- $userCert->save();
- $user->save();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error();
- }
- }
- //上级重新审核
- //=======
- // }
- // $row=$userCert->save();
- // $rows=$user->save();
- // if($row && $rows){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
- // DB::commit();
- // return $this->success([]);
- // }else{
- // DB::rollBack();
- // return $this->error();
- // }
- // }
- // //上级重新审核
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- public function againCertAgentStatus(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- $userCert = UserCert::where('user_id', $input['id'])->first();
- if ($input['type'] == '1') {//通过
- $userCert->agent_audit = '1';
- $userCert->agent_audit_desc = '';
- $userCert->agent_updated_at = date("Y-m-d H:i:s");
- $user->cert_status = '3';
- $user->auth_code = $this->getAuthCode();
- $user->auth_startime = date("Y-m-01 00:00:00");
- $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
- //<<<<<<< HEAD
- $remark = '上级重新审核通过';
- //=======
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- } elseif ($input['type'] == '2') {//驳回
- $userCert->agent_audit = '2';
- $userCert->agent_audit_desc = $input['desc'];
- $userCert->agent_updated_at = date("Y-m-d H:i:s");
- $user->cert_status = '5';
- //<<<<<<< HEAD
- $remark = '上级重新审核驳回';
- }
- DB::beginTransaction();
- try {
- $this->addAgentOperationLog('8', $user->id, $remark);
- $userCert->save();
- $user->save();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- //=======
- // }
- // $row=$userCert->save();
- // $rows=$user->save();
- // if($row && $rows){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
- // DB::commit();
- // return $this->success([]);
- // }else{
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- DB::rollBack();
- return $this->error();
- }
- }
- /*代理库存*/
- public function getAgentGoodsNum(Request $request)
- {
- $input = $request->all();
- $goodstotal = DB::table('goods_sku_agent_total as goodsNum')->where('goodsNum.user_id', $input['id'])
- ->select('goods.name', 'goods.img_url', 'goods.tjprice', 'goods.djprice', 'goods.hgprice', DB::raw('SUM(goodsNum.total) as account'))
- ->leftJoin('users', 'users.id', '=', 'goodsNum.user_id')
- ->leftJoin('goods', 'goods.id', '=', 'goodsNum.goods_id')
- ->groupBy('goodsNum.goods_id')
- ->get();
- if ($goodstotal) {
- return $this->success($goodstotal);
- }
- return $this->error();
- }
- /* 用户禁用/启用 */
- public function shelvedUser(Request $request)
- {
- $user = User::find($request->post('id'));
- $status = ($user->status == 0) ? '启用' : '禁用';
- $user->status = ($user->status == 0) ? '1' : '0';
- //<<<<<<< HEAD
- DB::beginTransaction();
- $row = $user->save();
- if ($user->status == 0) {
- $remark = '启用';
- } else {
- $remark = '禁用';
- }
- $res = $this->addAgentOperationLog('10', $user->id, $remark);
- event(new ShelvedAgent($user));
- if ($row && $res) {
- DB::commit();
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')' . $status . '代理:' . $user->nickname . '(id=' . $user->id . ')成功');
- return $this->success([]);
- }
- DB::rollBack();
- //=======
- // $row=$user->save();
- // if($row){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')'.$status.'代理:'.$user->nickname.'(id='.$user->id.')成功');
- // return $this->success([]);
- // }
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- return $this->error();
- }
- //删除用户
- public function destoryUser(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- $recom = User::find($user->recom_id);//代理邀请人信息
- if (!$recom) {
- return $this->error('400111', '该代理邀请人信息有误,不能删除');
- }
- //获取代理邀请的人
- $recomed=User::where('recom_id',$input['id'])->pluck('id');
- $agented=User::where('agent_id',$input['id'])->pluck('id');
- //获取代理下级信息
- DB::beginTransaction();
- $userInfo=User::where('id',$input['id'])->first();
- event(new DeleteAgent($userInfo));
- try {
- if ($user->level == '3') {
- if ($recom->level == '3') {//邀请人等级信息
- User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]);
- User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
- User::where('crown_id', $input['id'])->update(['crown_id' => $recom->id, 'warea_id' => $recom->warea_id]);
- } elseif ($recom->level == '2') {
- User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $recom->agent_id]);
- User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $recom->id]);
- User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
- $recom_agent = User::where('id', $recom->agent_id)->first();
- User::where('crown_id', $input['id'])->update(['crown_id' => $recom_agent->id, 'warea_id' => $recom_agent->warea_id]);
- } elseif ($recom->level == '1') {
- $upRecom = User::find($recom->agent_id);//代理邀请人上级信息
- if (!$upRecom) {
- return $this->error('400112', '该代理邀请人上级信息有误,不能删除');
- }
- User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $upRecom->id]);
- User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $upRecom->agent_id]);
- User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
- $recom_agent = User::where('id', $upRecom->agent_id)->first();
- User::where('crown_id', $input['id'])->update(['crown_id' => $upRecom->agent_id, 'warea_id' => $recom_agent->warea_id]);
- }
- } elseif ($user->level == '2') {
- if ($recom->level == '3' || $recom->level == '2') {
- User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]);
- } elseif ($recom->level == '1') {
- User::where('agent_id', $input['id'])->update(['agent_id' => $recom->agent_id]);
- }
- User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]);
- } elseif ($user->level == '1') {
- User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]);
- }
- $user->delete();
- $remark = $input['remark'];
- $img=json_encode($input['img']);
- $after = ['id' => $user->id, 'nickname' => $user->nickname, 'mobile' => $user->mobile, 'level' => $user->level, 'recom_id' => $user->recom_id, 'agent_id' => $user->agent_id];
- $log = '删除用户成功,用户信息:' . json_encode($after, JSON_UNESCAPED_UNICODE).',用户邀请的人ID:'.json_encode($recomed).',用户下级ID:'.json_encode($agented);
- $this->addAgentOperationLog('4', $user->id, $remark, $log, $img);
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')删除代理:' . $user->nickname . '(id=' . $user->id . ')成功');
- DB::commit();
- return $this->success([]);
- } catch (Exception $e) {
- DB::rollBack();
- return $this->error();
- }
- }
- public function destroyUploadImg(Request $request){
- if(empty($request->has('file'))){
- return $this->error('450001','请选择图片!');
- }
- $path_url='delete/img';
- $path = $request->file('file')->store($path_url);
- $url = Storage::url($path);
- if($url){
- return $this->success($url);
- }
- return $this->error();
- }
- // 重置/修改密码
- public function editAgentPassword(Request $request)
- {
- $input = $request->all();
- $user = User::find($input['id']);
- //<<<<<<< HEAD
- $remark = '';
- if ($input['type'] == '1') {//重置密码
- $remark = '重置密码';
- $user->password = MD5($user->mobile);
- } elseif ($input['type'] == '2') {//修改密码
- $remark = '修改密码';
- $user->password = MD5($input['password']);
- }
- $this->addAgentOperationLog('9', $user->id, $remark);
- $row = $user->save();
- if ($row) {
- //=======
- // if($input['type']=='1'){//重置密码
- // $user->password=MD5($user->mobile);
- // }elseif($input['type']=='2'){//修改密码
- // $user->password=MD5($input['password']);
- // }
- // $row=$user->save();
- // if($row){
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')充值代理:' . $user->nickname . '(id=' . $user->id . ')密码成功');
- return $this->success([]);
- }
- return $this->error();
- }
- //导出代理信息
- public function exportUserLists(Request $request)
- {
- ini_set('memory_limit', '512M');
- $input = $request->all();
- $search_name = $input['search_name'];
- $recom_name = $input['recom_name'];
- $agent_name = $input['agent_name'];
- if ($input['level'] == '4') {
- $user = UserCopy::onlyTrashed();
- $where = [];
- } elseif ($input['level'] == 'all') {
- $user = UserCopy::withTrashed();
- $where = [];
- } else {
- $user = new UserCopy();
- $where = [];
- $where['level'] = $input['level'];
- }
- $list = $user
- ->where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- })
- ->whereIn('cert_status', [3, 6])
- ->where($where)
- ->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile'])
- ->whereHas('recom', function ($query1) use ($recom_name) {
- $query1->select('id', 'nickname', 'mobile')
- ->where(function ($recom) use ($recom_name) {
- $recom->where('nickname', 'like', '%' . $recom_name . '%')
- ->orWhere('mobile', 'like', '%' . $recom_name . '%')
- ->orWhere('cre_num', 'like', '%' . $recom_name . '%')
- ->orWhere('realname', 'like', '%' . $recom_name . '%');
- });
- })
- ->whereHas('agent', function ($query2) use ($agent_name) {
- $query2->select('id', 'nickname', 'mobile')
- ->where(function ($agent) use ($agent_name) {
- $agent->where('nickname', 'like', '%' . $agent_name . '%')
- ->orWhere('mobile', 'like', '%' . $agent_name . '%')
- ->orWhere('cre_num', 'like', '%' . $agent_name . '%')
- ->orWhere('realname', 'like', '%' . $agent_name . '%');
- });
- })
- ->orderBy('id', 'desc')
- ->get();
- if (empty($list)) {
- return $this->error('400002', '没有获取到数据');
- }
- foreach ($list as $key => $val) {
- if (!empty($val->deleted_at)) {
- $list[$key]['delete'] = 1;//已删除
- } else {
- $list[$key]['delete'] = 0;//未删除
- }
- $list[$key]['cert_status'] = 6;
- // $list[$key]['account']=$user->getAgentSalesResult($val->id);
- }
- // $search_name=$search_name?$search_name:
- // Redis::setex('User_'.$search_name.$recom_name.$agent_name.$level);
- return $this->success($list);
- }
- //获取代理列表信息
- public function getUserListass(Request $request)
- {
- $input = $request->all();
- $page_size = $input['page_size'];
- $page_index = $input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $search_name = $input['search_name'];
- $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
- $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
- $where = [];
- if ($input['level'] == '4') {
- $user = User::onlyTrashed()->where($where);
- } elseif ($input['level'] == 'all') {
- $user = User::withTrashed()->where($where);
- } else {
- $user = User::where($where);
- $where['level'] = $input['level'];
- }
- if ($search_name) {
- $user->where(function ($query) use ($search_name) {
- $query->where('nickname', 'like', '%' . $search_name . '%')
- ->orWhere('mobile', 'like', '%' . $search_name . '%')
- ->orWhere('cre_num', 'like', '%' . $search_name . '%')
- ->orWhere('realname', 'like', '%' . $search_name . '%');
- });
- }
- if ($agent_name) {
- $agent_id = User::where(function ($agent) use ($agent_name) {
- $agent->where('nickname', 'like', '%' . $agent_name . '%')
- ->orWhere('mobile', 'like', '%' . $agent_name . '%')
- ->orWhere('cre_num', 'like', '%' . $agent_name . '%')
- ->orWhere('realname', 'like', '%' . $agent_name . '%');
- })->pluck('id');
- $user->whereIn('agent_id', $agent_id);
- }
- if ($recom_name) {
- $recom_id = User::where(function ($recom) use ($recom_name) {
- $recom->where('nickname', 'like', '%' . $recom_name . '%')
- ->orWhere('mobile', 'like', '%' . $recom_name . '%')
- ->orWhere('cre_num', 'like', '%' . $recom_name . '%')
- ->orWhere('realname', 'like', '%' . $recom_name . '%');
- })->pluck('id');
- $user->whereIn('recom_id', $recom_id);
- }
- $count = $user->whereIn('cert_status', [3, 6])->where($where)->count();
- if ($count == 0) {
- $this->error('400001', '没有数据');
- }
- $list = $user->with(['recom', 'agent'])->whereIn('cert_status', [3, 6])->orderBy('id', 'desc')->skip($num)->take($page_size)->get();
- foreach ($list as $key => $val) {
- if (!empty($val->deleted_at)) {
- $list[$key]['delete'] = 1;//已删除
- } else {
- $list[$key]['delete'] = 0;//未删除
- }
- $list[$key]['cert_status'] = 6;
- // $list[$key]['account']=$user->getAgentSalesResult($val->id);
- }
- return $this->success_list($list, 'success', $count);
- }
- //<<<<<<< HEAD
- //=======
- // public function restoreAgent(Request $request){
- // $input=$request->all();
- // $student = Student::find($input['id']);
- // $row=$student->restore();
- // if($row){
- // return $this->success($list,'删除恢复成功');
- // }
- // $this->error();
- // }
- //
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- /**修改代理信息**/
- public function update_user(Request $request)
- {
- $rule = [
- 'id' => 'required',
- 'nickname' => 'required',
- 'realname' => 'required',
- 'mobile' => 'required',
- ];
- $message = [
- 'id.required' => '必填项',
- 'nickname.required' => '必填项',
- 'realname.required' => '必填项',
- 'mobile.required' => '必填项',
- ];
- $vali = Validator::make($request->all(), $rule, $message);
- if ($vali->fails()) {
- return $this->error('400013', $vali->errors()->first());
- }
- DB::beginTransaction();
- try {
- $user = User::find($request->id);
- $before_mobile=$user->mobile;
- if (!$user) {
- return $this->error(40013, '该用户不存在,请重新查询');
- }
- $before = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num];
- if ($request->mobile != $user->mobile) {
- $users = User::where('mobile', $request->mobile)->count();
- if ($users) {
- return $this->error(40013, '该手机号已被使用');
- }
- $user->mobile = $request->mobile;
- $user->auth_img = null;
- }
- if ($user->nickname != $request->nickname) {
- $user->auth_img = null;
- }
- $user->nickname = $request->nickname;
- $user->realname = $request->realname;
- $user->cre_num = $request->cre_num;
- $user->name = $request->realname;
- if (!$user->save()) {
- throw new \Exception('1');
- }
- $after = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num];
- $log = '修改代理信息成功,修改前代理信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
- $this->addAgentOperationLog('6', $user->id, '', $log);
- $user->before=$before_mobile;
- event(new ChangeUserInfo($user));
- DB::commit();
- return $this->success([], '更新成功');
- } catch (\Exception $exception) {
- Log::error('{-----修改用户信息出错-----错误信息为--}' . $exception);
- DB::rollback();
- return $this->error(40013, '修改用户信息出错');
- }
- }
- //<<<<<<< HEAD
- public function restoreAgent(Request $request)
- {
- $input = $request->all();
- $student = Student::find($input['id']);
- $row = $student->restore();
- if ($row) {
- // return $this->success($list, '删除恢复成功');
- }
- $this->error();
- }
- //添加代理操作日志
- public function addAgentOperationLog($type, $user_id, $remark = null, $log = null, $img=null)
- {
- return AgentOperationLog::create([
- 'type' => $type,
- 'admin_name' => Auth::user()->name,
- 'admin_id' => Auth::user()->id,
- 'user_id' => $user_id,
- 'remark' => $remark,
- 'log' => $log,
- 'img' => $img
- ]);
- }
- public function repair_auth(Request $request)
- {
- $rule = [
- 'id' => 'required',
- ];
- $message = [
- 'id.required' => '必填项',
- ];
- $vali = Validator::make($request->all(), $rule, $message);
- if ($vali->fails()) {
- return $this->error('400013', $vali->errors()->first());
- }
- DB::beginTransaction();
- try {
- $user = User::find($request->id);
- if (!$user) {
- return $this->error(40013, '该用户不存在,请重新查询');
- }
- $user->auth_img = null;
- if (!$user->save()) {
- throw new \Exception('1');
- }
- DB::commit();
- return $this->success([], '修复成功');
- } catch (\Exception $exception) {
- Log::error('{-----修改授权证书出错-----错误信息为--}' . $exception);
- DB::rollback();
- return $this->error(40013, '修改授权证书出错');
- }
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- //恢复误删除人员信息
- public function restoreUserInfo(Request $request){
- $input=$request->all();
- $mobile=$input['mobile'];
- $ids=$input['ids'];
- $rules = [
- 'mobile' => [
- 'required',
- 'regex:/^1[345789][0-9]{9}$/'
- ],
- ];
- $messages = [
- 'mobile.required' => '手机号不能为空.',
- 'mobile.regex' => '手机号格式有误.',
- ];
- $uuu = new User();
- $validator = $uuu->validator($input, $rules, $messages);
- if ($validator->fails()) {
- return $this->error('400013', $validator->errors()->first());
- }
- DB::beginTransaction();
- try {
- $result1=User::where('mobile',$input['mobile'])->first();
- if($result1){
- return $this->error('450001','该手机号用户未被删除,核对后再操作');
- }
- $result=User::onlyTrashed()->where('mobile',$input['mobile'])->first();
- if(!$result){
- return $this->error('450001','手机号信息有误,核对后再操作');
- }
- User::withTrashed()->where('mobile',$input['mobile'])->restore();
- $this->addAgentOperationLog('41', $result->id, '撤销删除状态', '撤销删除状态');
- Log::info('用户'.$input['mobile'].'被恢复');
- if(!empty($ids)) {
- foreach (json_decode($ids, true) as $valvv) {
- $user = User::find($valvv);//当前用户
- if ($user) {
- if ($user->recom_id) {
- $recom_id = $user->recom_id;
- } else {
- $recom_id = '暂无';
- }
- if ($user->agent_id) {
- $up_id = $user->agent_id;
- } else {
- $up_id = '暂无';
- }
- // $agentCount = User::where(function ($query) use ($input) {
- // $query->where('recom_id', '=', $input['id'])
- // ->orWhere('agent_id', '=', $input['id']);
- // })->count();
- //代理邀请人员后,或者成为上级后不能变更推荐人
- // if($agentCount>0){
- // return $this->error('400112','当前用户邀请人信息不能修改');
- // }
- $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息
- if (empty($recomUser)) {
- return $this->error('400115', '邀请人信息不存在');
- }
- if ($user->recom_id == $recomUser->id) {
- return $this->error('400111', '要更改的邀请人与当前邀请人相同');
- }
- if ($user->id == $recomUser->recom_id) {
- return $this->error('400116', '要更改的邀请人的邀请人为自己');
- }
- if ($user->id == $recomUser->id) {
- return $this->error('400116', '要更改的邀请人不能为自己');
- }
- $uuu = new User();
- $rechecking = $uuu->changeRecomSystem($valvv, $input['mobile']);
- if ($rechecking == '222') {
- return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员');
- }
- if ($user->level == '3') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = '1';
- $user->crown_id = '';
- if ($user->warea_id != $recomUser->warea_id) {
- $user->warea_id = $recomUser->warea_id;
- $one_agent = User::where('agent_id', $user->id)->pluck('id');
- if (count($one_agent) > 0) {
- User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]);
- foreach ($one_agent as $key => $val) {
- $two_agent = User::where('agent_id', $val)->pluck('id');
- if (count($two_agent) > 0) {
- User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]);
- }
- }
- }
- }
- } else {
- if ($recomUser->level == '3') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->id;
- $user->crown_id = $recomUser->id;
- $user->warea_id = $recomUser->warea_id;
- if ($user->level == '2') {
- $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id);
- } elseif ($user->level == '1') {
- $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id);
- } elseif ($recomUser->level == '2') {
- if ($user->level == '2') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id);
- } elseif ($user->level == '1') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
- } elseif ($recomUser->level == '1') {
- $recomAgent = User::find($recomUser->agent_id);
- if ($user->level == '2') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomAgent->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id);
- } elseif ($user->level == '1') {
- $user->recom_id = $recomUser->id;
- $user->agent_id = $recomUser->agent_id;
- $user->crown_id = $recomUser->crown_id;
- $user->warea_id = $recomUser->warea_id;
- $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id);
- }
- $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
- }
- }
- $row = $user->save();
- $remark = '恢复';
- $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first();
- $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile];
- $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE);
- $this->addAgentOperationLog('3', $user->id, $remark, $log);
- event(new ChangeRecom($user));
- Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')邀请人成功,原邀请人id=' . $recom_id . ',原上级id=' . $up_id . ',新邀请人:' . $recomUser->nickname . '(id=' . $recomUser->id . ')');
- }
- }
- }
- DB::commit();
- return $this->success([]);
- }catch(Exception $e){
- DB::rollBack();
- return $this->error($e->getMessage());
- }
- }
- //获取代理升级后团队信息
- public function getUpTeam($uid){
- $user=User::where('id',$uid)->first();
- $arr=[];
- $num=0;
- if($user->level==2){
- $this->getAgentLevelInfoTwo($uid,$arr,$num);
- }elseif($user->level==1){
- $this->getAgentLevelInfoOne($uid,$arr,$num);
- }
- $data['num']=$num;
- $data['list']=$arr;
- return $data;
- }
- //顶级升皇冠
- public function getAgentLevelInfoTwo($uid,&$arr,&$num){
- $list=User::where('recom_id', $uid)->select('id','nickname','realname','mobile','level','recom_id')->get();//获取所有邀请人
- if(count($list)>0){
- foreach($list as $key=>$val){
- if($val->level=='2' || $val->level=='1'){
- $num+=1;
- // array_push($arr,$val);
- $this->getAgentLevelInfoTwo($val->id,$arr,$num);
- }
- }
- }
- }
- //特级升顶级
- public function getAgentLevelInfoOne($uid,&$arr,&$num){
- $list=User::where('recom_id', $uid)->select('id','nickname','realname','mobile','level','recom_id')->get();//获取所有邀请人
- if(count($list)>0){
- foreach($list as $key=>$val){
- if($val->level=='1'){
- $num+=1;
- // array_push($arr,$val);
- $this->getAgentLevelInfoOne($val->id,$arr,$num);
- }
- }
- }
- }
- /**查找符合条件的需要审核的代理**/
- public function search_peoples(Request $request){
- $admin_user=Auth::user();
- $status=false;
- if ($admin_user->role_id==22||$admin_user->role_id==32){
- $status=true;
- }
- $warea_id=Warea::where('admin_id',$admin_user->id)->value('id');
- $input=$request->all();
- $page_index=$input['page_index'];
- $page_size=$input['page_size'];
- $num=($page_index-1)*$page_size;
- $user=User::whereNull('deleted_at')->whereIn('cert_status',[3,6])->with(['agent','recom'])->where('service_status',$input['status']);
- if (!$status){
- $user=$user->where('warea_id',$warea_id);
- }
- if ($input['search_content']){
- $search_content=$input['search_content'];
- $where=function ($q)use($search_content){
- $q->where('mobile','like','%'.$search_content.'%')
- ->orwhere('nickname','like','%'.$search_content.'%');
- };
- $user->where($where);
- }
- $user=$user->with(['get_service']);
- $count=$user->count();
- $result=$user->take($page_size)->skip($num)->get();
- return $this->success_list($result,'',$count);
- }
- /**政委审核**/
- public function service_audit(Request $request){
- $input=$request->all();
- $status=$input['status'];//0通过1未通过
- DB::beginTransaction();
- try{
- $user=User::where('id',$request->id)->first();
- if ($status==1){
- $reason=new ServiceReason();
- $reason->user_id=$input['id'];
- $reason->op_name=Auth::user()->nickname;
- $reason->reason=$input['reason'];
- if (!$reason->save()){
- throw new \Exception(1);
- }
- $user->service_status=2;
- if ($user->openid){
- $me['openid']=$user->openid;
- $me['data']=[
- 'first' => '恭喜您,您的注册申请已被政委驳回。原因'.$input['reason'],
- 'keyword1' => '政委驳回',
- 'keyword2' => date("Y-m-d H:i"),
- 'remark' => '点击链接进入系统,查看详情',
- ];
- event(new AgentAuditServiceEvent($me));
- }
- }elseif ($status==0){
- $user->service_status=0;
- if ($user->openid){
- $me['openid']=$user->openid;
- $me['data']=[
- 'first' => '恭喜您,您的注册申请已通过政委审核。',
- 'keyword1' => '政委审核成功',
- 'keyword2' => date("Y-m-d H:i"),
- 'remark' => '点击链接进入系统,查看详情',
- ];
- event(new AgentAuditServiceEvent($me));
- }
- }
- if (!$user->save()){
- throw new \Exception(1);
- }
- DB::commit();
- return $this->success([]);
- }catch (\Exception $exception){
- DB::rollBack();
- return $this->error(52201,'','');
- }
- }
- public function get_reason(){
- $re=DB::table('reason')->where('type',0)->get();
- $data=[];
- foreach ($re as $k=>$v){
- $data[$k]=$v->reason;
- }
- return $this->success_list($data);
- }
- public function add_reason(Request $request){
- DB::table('reason')->insert(['type'=>0,'reason'=>$request->reason]);
- return $this->success([]);
- }
- public function get_del_cause(){
- $re=CauseDel::where('type',0)->select('id','cause')->get();
- return $this->success($re);
- }
- public function GetUserAuthEnd(Request $request){
- $input=$request->all();
- }
- }
|