UserController.php 92 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Events\AddAgent;
  4. use App\Events\ShelvedAgent;
  5. use App\Events\ChangeUserInfo;
  6. use App\Events\ChangeUserLevel;
  7. use App\Events\ChangeUserWar;
  8. use App\Events\ChangeRecom;
  9. use App\Events\DeleteAgent;
  10. use App\Models\Warea;
  11. use Illuminate\Support\Facades\DB;
  12. use App\Models\User;
  13. use App\Models\Admin;
  14. use App\Models\UserCopy;
  15. use App\Models\UserCert;
  16. use App\Models\AgentOperationLog;
  17. use App\Models\Message;
  18. use Illuminate\Support\Facades\Validator;
  19. use Illuminate\Validation\Rule;
  20. use Illuminate\Support\Facades\Log;
  21. use Illuminate\Support\Facades\Auth;
  22. use Jxlwqq\IdValidator\IdValidator;
  23. use Illuminate\Support\Facades\Cache;
  24. use Illuminate\Support\Facades\Redis;
  25. use Illuminate\Support\Facades\Storage;
  26. use Illuminate\Http\Request;
  27. use \Exception;
  28. class UserController extends Controller
  29. {
  30. //获取代理列表信息
  31. public function getUserList(Request $request)
  32. {
  33. $input = $request->all();
  34. $page_size = $input['page_size'];
  35. $page_index = $input['page_index'];
  36. $num = ($page_index - 1) * $page_size;
  37. $search_name = $input['search_name'];
  38. $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
  39. $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
  40. $commissar_id = $input['commissar'];
  41. $warea_id = $input['warea_id'];
  42. $where = [];
  43. if ($input['level'] == '4') {
  44. $user = User::onlyTrashed()->where($where);
  45. } elseif ($input['level'] == 'all') {
  46. $user = User::withTrashed()->where($where);
  47. } else {
  48. $where['level'] = $input['level'];
  49. $user = User::where($where);
  50. }
  51. $user->whereIn('cert_status', [3, 6]);
  52. if ($search_name) {
  53. $user->where(function ($query) use ($search_name) {
  54. $query->where('nickname', 'like', '%' . $search_name . '%')
  55. ->orWhere('mobile', $search_name)
  56. ->orWhere('cre_num', $search_name)
  57. ->orWhere('realname', 'like', '%' . $search_name . '%');
  58. });
  59. }
  60. if ($agent_name) {
  61. $agent_id = $this->getUserInfo($agent_name);
  62. $user->whereIn('agent_id', $agent_id);
  63. }
  64. if ($recom_name) {
  65. $recom_id = $this->getUserInfo($recom_name);
  66. $user->whereIn('recom_id', $recom_id);
  67. }
  68. //<<<<<<< HEAD
  69. if ($warea_id && $commissar_id) {
  70. $user->where('warea_id', $warea_id);
  71. }
  72. if ($commissar_id && empty($warea_id)) {
  73. $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id');
  74. $user->whereIn('warea_id', $warea_ids);
  75. }
  76. $count = $user->where($where)->count();
  77. if ($count == 0) {
  78. $this->error('400001', '没有数据');
  79. }
  80. $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'warea:id,name,admin_name'])
  81. ->select('id', 'nickname', 'realname', 'level', 'headimgurl','remark', 'mobile', 'recom_id', 'agent_id', 'warea_id', 'status',
  82. DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'))
  83. ->orderBy('id', 'desc')->skip($num)->take($page_size)->get();
  84. foreach ($list as $k=>$v){
  85. if (empty($v->remark)){
  86. $list[$k]['remark']='';
  87. }
  88. }
  89. return $this->success_list($list, '获取数据成功', $count);
  90. }
  91. //根据输入条件查询用户
  92. public function getUserInfo($search = null)
  93. {
  94. return User::where('nickname', 'like', '%' . $search . '%')
  95. ->orWhere('mobile', $search)
  96. ->orWhere('cre_num', $search)
  97. ->orWhere('realname', 'like', '%' . $search . '%')
  98. ->pluck('id');
  99. }
  100. //导出代理信息
  101. public function exportUserList(Request $request)
  102. {
  103. ini_set('memory_limit', '1024M');
  104. $input = $request->all();
  105. $page_size = $input['page_size'];
  106. $page_index = $input['page_index'];
  107. $num = ($page_index - 1) * $page_size;
  108. $search_name = $input['search_name'];
  109. $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
  110. $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
  111. $commissar_id = $input['commissar'];
  112. $warea_id = $input['warea_id'];
  113. $where = [];
  114. if ($input['level'] == '4') {
  115. $user = User::onlyTrashed()->where($where);
  116. } elseif ($input['level'] == 'all') {
  117. $user = User::withTrashed()->where($where);
  118. } else {
  119. $where['level'] = $input['level'];
  120. $user = User::where($where);
  121. }
  122. $user->whereIn('cert_status', [3, 6]);
  123. if ($search_name) {
  124. $user->where(function ($query) use ($search_name) {
  125. $query->where('nickname', 'like', '%' . $search_name . '%')
  126. ->orWhere('mobile', $search_name)
  127. ->orWhere('cre_num', $search_name)
  128. ->orWhere('realname', 'like', '%' . $search_name . '%');
  129. });
  130. }
  131. if ($agent_name) {
  132. $agent_id = $this->getUserInfo($agent_name);
  133. $user->whereIn('agent_id', $agent_id);
  134. }
  135. if ($recom_name) {
  136. $recom_id = $this->getUserInfo($recom_name);
  137. $user->whereIn('recom_id', $recom_id);
  138. }
  139. if ($warea_id && $commissar_id) {
  140. $user->where('warea_id', $warea_id);
  141. }
  142. if ($commissar_id && empty($warea_id)) {
  143. $warea_ids = Warea::where('admin_id', $commissar_id)->pluck('id');
  144. $user->whereIn('warea_id', $warea_ids);
  145. }
  146. $list = $user->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'warea:id,name,admin_name'])
  147. ->select('id', 'nickname', 'realname', 'cre_num', 'remark', 'level', 'mobile', 'recom_id', 'agent_id', 'warea_id', 'auth_code', 'auth_startime', 'auth_endtime', 'recom_code', 'status',
  148. DB::raw('if(cert_status=3,6,6) as cert_status'), DB::raw('if(deleted_at,1,0) as deleted'))
  149. ->orderBy('id', 'desc')
  150. // ->skip($num)->take(10000)
  151. ->get();
  152. if ($list) {
  153. return $this->success($list);
  154. } else {
  155. return $this->error();
  156. }
  157. //=======
  158. //// if($warea_id && $commissar_id){
  159. //// $user->where('warea_id',$warea_id);
  160. //// }
  161. //// if($commissar_id && empty($warea_id)){
  162. //// $warea_ids=Warea::where('admin_id',$commissar_id)->pluck('id');
  163. //// $user->whereIn('warea_id',$warea_ids);
  164. //// }
  165. //// $list = Cache::remember($keys, 60, function () use ($user){
  166. // $ll = $user->with(['recom:id,nickname,mobile','agent:id,nickname,mobile'])
  167. //// ->select('nickname','name','mobile','cre_num','level','auth_code','auth_startime','auth_endtime','created_at','recom_code','status','cert_status')
  168. // ->orderBy('id','desc')
  169. // ->skip($num)->take(10000)
  170. // ->get();
  171. // if($ll){
  172. // foreach($ll as $key=>$val){
  173. // if(!empty($val->deleted_at)){
  174. // $ll[$key]['delete']=1;//已删除
  175. // }else{
  176. // $ll[$key]['delete']=0;//未删除
  177. // }
  178. // $ll[$key]['cert_status']=6;
  179. //
  180. //// $ll[$key]['warea']=$this->getWareaInfo($val->warea_id);
  181. //// $list[$key]['account']=$user->getAgentSalesResult($val->id);
  182. // }
  183. // return $this->success($ll);
  184. // }else{
  185. // return $this->error();
  186. // }
  187. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  188. }
  189. //代理详情
  190. public function getUserDetails(Request $request)
  191. {
  192. $input = $request->all();
  193. $user = User::withTrashed()->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile'
  194. ])->where('id', $input['id'])->first();
  195. if ($user) {
  196. if ($user->level == '3') {
  197. $childAgent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
  198. $childAgentIds = array_column($childAgent, 'id');
  199. if ($childAgentIds) {
  200. $childChildAgent = User::whereIn('agent_id', $childAgentIds)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
  201. $user->child_agent = array_merge($childAgent, $childChildAgent);
  202. } else {
  203. $user->child_agent = $childAgent;
  204. }
  205. $user->childAgentCount = count($user->child_agent);
  206. } elseif ($user->level == '2') {
  207. $user->child_agent = User::where('agent_id', $user->id)->select('id', 'nickname', 'level', 'mobile')->get()->toArray();
  208. $user->childAgentCount = count($user->child_agent);
  209. } else {
  210. $user->child_agent = [];
  211. $user->childAgentCount = 0;
  212. }
  213. if ($user->warea_id) {
  214. $warea = Warea::where('id', $user->warea_id)->first();
  215. $user['warea']->warea_name = $warea->name;
  216. if ($warea->admin_id) {
  217. $user['warea']->commissar = Admin::where('id', $warea->admin_id)->value('name');
  218. }
  219. }
  220. if (!empty($user->deleted_at)) {
  221. $user->delete = '1';//已删除
  222. } else {
  223. $user->delete = '0';//未删除
  224. }
  225. // event(new ChangeUserInfo($user));
  226. return $this->success($user);
  227. } else {
  228. return $this->error('400004', '代理信息不存在');
  229. }
  230. }
  231. //获取战区政委信息
  232. public function getWareaInfo($warea_id)
  233. {
  234. $data = [];
  235. if ($warea_id) {
  236. $warea = Warea::where('id', $warea_id)->first();
  237. if ($warea) {
  238. $data['warea_name'] = $warea->name;
  239. if ($warea->admin_id) {
  240. $data['commissar'] = Admin::where('id', $warea->admin_id)->value('name');
  241. }
  242. }
  243. }
  244. return $data;
  245. }
  246. //获取未审核代理列表信息
  247. public function getNocertUserList(Request $request)
  248. {
  249. $input = $request->all();
  250. $page_size = $input['page_size'];
  251. $page_index = $input['page_index'];
  252. $num = ($page_index - 1) * $page_size;
  253. $search_name = $input['search_name'];
  254. if ($input['cert'] == 'all') {
  255. $where = [];
  256. } else {
  257. $where['cert_status'] = $input['cert'];
  258. }
  259. $count = User::where(function ($query) use ($search_name) {
  260. $query->where('nickname', 'like', '%' . $search_name . '%')
  261. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  262. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  263. ->orWhere('realname', 'like', '%' . $search_name . '%');
  264. })
  265. ->where($where)
  266. ->where('id', '<>', 1)
  267. ->count();
  268. if ($count == 0) {
  269. $this->error('400001', '没有数据');
  270. }
  271. // DB::enableQueryLog();
  272. $list = User::where(function ($query) use ($search_name) {
  273. $query->where('nickname', 'like', '%' . $search_name . '%')
  274. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  275. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  276. ->orWhere('realname', 'like', '%' . $search_name . '%');
  277. })
  278. ->where($where)
  279. ->where('id', '<>', 1)
  280. ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
  281. ->skip($num)->take($page_size)
  282. ->get();
  283. if (empty($list)) {
  284. return $this->error('400002', '没有获取到数据');
  285. }
  286. return $this->success_list($list, '获取数据成功', $count);
  287. }
  288. //获取代理授权信息
  289. public function getAuthUserList(Request $request)
  290. {
  291. $input = $request->all();
  292. $page_size = $input['page_size'];
  293. $page_index = $input['page_index'];
  294. $num = ($page_index - 1) * $page_size;
  295. $search_name = $input['search_name'];
  296. $status = $input['status'];
  297. $where = [];
  298. switch ($status) {
  299. case '0': //未授权
  300. $auth_status = 0;
  301. $count = User::where(function ($query) use ($search_name) {
  302. $query->where('nickname', 'like', '%' . $search_name . '%')
  303. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  304. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  305. ->orWhere('realname', 'like', '%' . $search_name . '%');
  306. })->whereNull('auth_code')
  307. ->where('id', '<>', 1)
  308. ->count();
  309. if ($count == 0) {
  310. $this->error('400001', '没有数据');
  311. }
  312. $list = User::where(function ($query) use ($search_name) {
  313. $query->where('nickname', 'like', '%' . $search_name . '%')
  314. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  315. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  316. ->orWhere('realname', 'like', '%' . $search_name . '%');
  317. })
  318. ->whereNull('auth_code')
  319. ->where('id', '<>', 1)
  320. ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
  321. ->skip($num)->take($page_size)
  322. ->get();
  323. break;
  324. case '1': //已授权
  325. $auth_status = 1;
  326. $nowDate = date("Y-m-d H:i:s", time());
  327. $count = User::where(function ($query) use ($search_name) {
  328. $query->where('nickname', 'like', '%' . $search_name . '%')
  329. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  330. ->orWhere('auth_code', 'like', '%' . $search_name . '%');
  331. })
  332. ->where($where)
  333. ->where('id', '<>', 1)
  334. // ->where('auth_startime','<=',$nowDate)
  335. ->where('auth_endtime', '>=', $nowDate)
  336. ->count();
  337. if ($count == 0) {
  338. $this->error('400001', '没有数据');
  339. }
  340. $list = User::where(function ($query) use ($search_name) {
  341. $query->where('nickname', 'like', '%' . $search_name . '%')
  342. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  343. ->orWhere('auth_code', 'like', '%' . $search_name . '%');
  344. })
  345. ->where($where)
  346. ->where('id', '<>', 1)
  347. // ->where('auth_startime','<=',$nowDate)
  348. ->where('auth_endtime', '>=', $nowDate)
  349. ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
  350. ->skip($num)->take($page_size)
  351. ->get();
  352. break;
  353. case '2': //已过期
  354. $auth_status = 2;
  355. $nowDate = date("Y-m-d H:i:s", time());
  356. // if($input['auth_time']){
  357. // $where['auth_startime']=$input['auth_time'];
  358. // }
  359. $count = User::where(function ($query) use ($search_name) {
  360. $query->where('nickname', 'like', '%' . $search_name . '%')
  361. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  362. ->orWhere('auth_code', 'like', '%' . $search_name . '%');
  363. })
  364. ->where($where)
  365. ->where('id', '<>', 1)
  366. ->where('auth_endtime', '<', $nowDate)
  367. ->count();
  368. if ($count == 0) {
  369. $this->error('400001', '没有数据');
  370. }
  371. $list = User::where(function ($query) use ($search_name) {
  372. $query->where('nickname', 'like', '%' . $search_name . '%')
  373. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  374. ->orWhere('auth_code', 'like', '%' . $search_name . '%');
  375. })
  376. ->where($where)
  377. ->where('id', '<>', 1)
  378. ->where('auth_endtime', '<', $nowDate)
  379. ->with('recom:id,nickname,mobile', 'agent:id,nickname,mobile', 'usercert:id,user_id,recom_audit,recom_audit_desc,agent_audit,agent_audit_desc')
  380. ->skip($num)->take($page_size)
  381. ->get();
  382. break;
  383. }
  384. if ($list) {
  385. foreach ($list as $key => $val) {
  386. $list[$key]['auth_status'] = $auth_status;
  387. }
  388. }
  389. return $this->success_list($list, '获取数据成功', $count);
  390. }
  391. //代理重新授权
  392. public function updateUserAuthInfo(Request $request)
  393. {
  394. $input = $request->all();
  395. $userInfo = User::find($input['id']);
  396. if (empty($userInfo)) {
  397. return $this->error('400213', '代理信息不存在');
  398. }
  399. $auth_code = $this->getAuthCode();
  400. $data['auth_code'] = $auth_code;
  401. $data['auth_startime'] = $input['auth_startime'];
  402. $data['auth_endtime'] = $input['auth_endtime'];
  403. DB::beginTransaction();
  404. $row = User::where('id', $input['id'])->update($data);
  405. $remark = '单个授权';
  406. $res = $this->addAgentOperationLog('5', $input['id'], $remark);
  407. if ($row && $res) {
  408. DB::commit();
  409. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理id=' . $input['id']);
  410. return $this->success([], '授权成功');
  411. }
  412. DB::rollBack();
  413. return $this->error();
  414. }
  415. //代理批量授权
  416. public function updateUserManyAuthInfo(Request $request)
  417. {
  418. $input = $request->all();
  419. $userId = $input['userId'];
  420. DB::beginTransaction();
  421. try {
  422. foreach ($userId as $key => $val) {
  423. $userInfo = User::find($val);
  424. if (empty($userInfo)) {
  425. return $this->error('400213', '代理(id=' . $val . ')信息不存在');
  426. }
  427. $auth_code = $this->getAuthCode();
  428. $data['auth_code'] = $auth_code;
  429. $data['auth_startime'] = $input['auth_startime'];
  430. $data['auth_endtime'] = $input['auth_endtime'];
  431. User::where('id', $val)->update($data);
  432. $remark = '批量授权';
  433. $this->addAgentOperationLog('5', $val, $remark);
  434. }
  435. DB::commit();
  436. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')授权代理信息成功,代理ids=' . json_encode($userId));
  437. return $this->success([], '授权成功');
  438. } catch (Exception $e) {
  439. DB::rollBack();
  440. return $this->error();
  441. }
  442. }
  443. // public function updateBatch($multipleData = [])
  444. // {
  445. // try {
  446. // if (empty($multipleData)) {
  447. // throw new \Exception("数据不能为空");
  448. // }
  449. // $tableName = DB::getTablePrefix() . $this->getTable(); // 表名
  450. // $firstRow = current($multipleData);
  451. // $updateColumn = array_keys($firstRow);
  452. // // 默认以id为条件更新,如果没有ID则以第一个字段为条件
  453. // $referenceColumn = isset($firstRow['id']) ? 'id' : current($updateColumn);
  454. // unset($updateColumn[0]);
  455. // // 拼接sql语句
  456. // $updateSql = "UPDATE " . $tableName . " SET ";
  457. // $sets = [];
  458. // $bindings = [];
  459. // foreach ($updateColumn as $uColumn) {
  460. // $setSql = "`" . $uColumn . "` = CASE ";
  461. // foreach ($multipleData as $data) {
  462. // $setSql .= "WHEN `" . $referenceColumn . "` = ? THEN ? ";
  463. // $bindings[] = $data[$referenceColumn];
  464. // $bindings[] = $data[$uColumn];
  465. // }
  466. // $setSql .= "ELSE `" . $uColumn . "` END ";
  467. // $sets[] = $setSql;
  468. // }
  469. // $updateSql .= implode(', ', $sets);
  470. // $whereIn = collect($multipleData)->pluck($referenceColumn)->values()->all();
  471. // $bindings = array_merge($bindings, $whereIn);
  472. // $whereIn = rtrim(str_repeat('?,', count($whereIn)), ',');
  473. // $updateSql = rtrim($updateSql, ", ") . " WHERE `" . $referenceColumn . "` IN (" . $whereIn . ")";
  474. // // 传入预处理sql语句和对应绑定数据
  475. // return DB::update($updateSql, $bindings);
  476. // } catch (\Exception $e) {
  477. // return false;
  478. // }
  479. // }
  480. // }
  481. //添加代理信息
  482. public function uploadUser(Request $request)
  483. {
  484. $input = $request->all();
  485. $rules = [
  486. 'mobile' => ['required',
  487. Rule::unique('users')->where(function ($query) {
  488. $query->where('deleted_at', null);
  489. }),
  490. 'regex:/^1[0-9][0-9]{9}$/'],
  491. 'cre_num' => ['nullable',
  492. Rule::unique('users')->where(function ($query) {
  493. $query->where('deleted_at', null);
  494. })],
  495. 'share' => 'required | regex:/^1[345789][0-9]{9}$/',
  496. 'nickname' => 'required',
  497. 'level' => 'required | numeric',
  498. ];
  499. $uuu = new User();
  500. $validator = User::validator($input, $rules);
  501. if ($validator->fails()) {
  502. return $this->error('400013', $validator->errors()->first());
  503. }
  504. $idValidator = new IdValidator();
  505. if ($input['cre_num']) {
  506. if (!$idValidator->isValid($input['cre_num'])) {
  507. return $this->error('400013', '身份证号有误');
  508. }
  509. }
  510. $code = $this->getRandomString(6);
  511. $recom = User::where('mobile', $input['share'])->first();
  512. if (empty($recom)) {
  513. return $this->error('400115', '邀请人信息不存在');
  514. }
  515. if ($input['level'] == $recom->level) {
  516. $agent_id = $recom->agent_id;
  517. }
  518. if ($input['level'] < $recom->level) {
  519. $agent_id = $recom->id;
  520. }
  521. if ($input['level'] > $recom->level) {
  522. if ($input['level'] == '3') {
  523. $agent_id = '1';
  524. } else {
  525. $recom_up=User::find($recom->agent_id);
  526. if($recom_up->level=='2'){
  527. $agent_id = $recom_up->agent_id;
  528. }else{
  529. $agent_id = $recom_up->id;
  530. }
  531. }
  532. }
  533. $agent = User::where('id', $agent_id)->first();
  534. if ($agent->level == 3) {
  535. $crown_id = $agent->id;
  536. } elseif ($agent->level == 2) {
  537. $crown_id = $agent->agent_id;
  538. } else {
  539. $crown_id = '';
  540. }
  541. $warea_id = $recom->warea_id;
  542. // if($crown_id){
  543. // $warea_id=User::where('id',$crown_id)->value('warea_id');
  544. // }else{
  545. // $warea_id='';
  546. // }
  547. DB::beginTransaction();
  548. try {
  549. $data['mobile'] = $input['mobile'];
  550. $data['name'] = $input['nickname'];
  551. $data['nickname'] = $input['nickname'];
  552. $data['realname'] = $input['realname'];
  553. $data['password'] = MD5($input['mobile']);
  554. $data['cre_num'] = $input['cre_num'];
  555. $data['level'] = $input['level'];
  556. $data['headimgurl'] = 'https://img.bosszhipin.com/beijin/mcs/chatphoto/20181102/e0e8b50969101987a84f1643716b41ffcfcd208495d565ef66e7dff9f98764da.jpg';
  557. $data['status'] = 0;
  558. $data['cert_status'] = '6';
  559. $data['agent_id'] = $agent_id;
  560. $data['recom_id'] = $recom->id;
  561. $data['crown_id'] = $crown_id;
  562. $data['warea_id'] = $warea_id;
  563. $data['recom_code'] = $code;
  564. $data['auth_code'] = $this->getAuthCode();
  565. $data['auth_startime'] = date('Y-m-01 00:00:00');
  566. $data['auth_endtime'] = date('Y-m-01 00:00:00', strtotime('+1 years'));
  567. $data['register_type'] = '2';
  568. $row = User::create($data);
  569. $recoms['title'] = '新增成员推送';
  570. $recoms['type'] = '1';
  571. $recoms['data'] = '';
  572. $recoms['status'] = '0';
  573. $recoms['user_id'] = $row->recom_id;
  574. $recoms['agent_id'] = '1';
  575. Message::create($recoms);
  576. $agents['title'] = '新增成员推送';
  577. $agents['type'] = '1';
  578. $agents['data'] = '';
  579. $agents['status'] = '0';
  580. $agents['user_id'] = $row->agent_id;
  581. $agents['agent_id'] = '1';
  582. Message::create($agents);
  583. $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];
  584. $log = '添加代理成功,代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
  585. $this->addAgentOperationLog('1', $row->id, '', $log);
  586. if($input['level']==3){
  587. event(new AddAgent($row));
  588. }
  589. DB::commit();
  590. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')添加' . $row->level . '级代理:' . $data['nickname'] . '(id=' . $row->id . ')成功,邀请人:' . $recom->nickname . '(id=' . $row->recom_id . ')');
  591. return $this->success([], '添加成功');
  592. } catch (Exception $e) {
  593. DB::rollBack();
  594. return $e->getMessage();
  595. return $this->error();
  596. }
  597. }
  598. /*授权码*/
  599. function getAuthCode()
  600. {
  601. $time = time();
  602. $three = mt_rand(100, 999);
  603. $res = date('ymd', $time);
  604. $re = mt_rand(10000000000, 99999999999);
  605. $data = 'DWBS00' . $three . $res . $re;
  606. return $data;
  607. }
  608. /* 随机字符串 邀请码*/
  609. function getRandomString($len, $chars = null)
  610. {
  611. if (is_null($chars)) {
  612. $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  613. }
  614. mt_srand(10000000 * (double)microtime());
  615. for ($i = 0, $str = '', $lc = strlen($chars) - 1; $i < $len; $i++) {
  616. $str .= $chars[mt_rand(0, $lc)];
  617. }
  618. $count = User::where('recom_code', $str)->count();
  619. if ($count > 0) {
  620. $this->getRandomString(6);
  621. } else {
  622. return $str;
  623. }
  624. }
  625. //修改手机号
  626. public function updateMobile(Request $request)
  627. {
  628. $input = $request->all();
  629. $rules = [
  630. 'mobile' => [
  631. 'required',
  632. Rule::unique('users')->ignore($input['id'], 'id')->where(function ($query) {
  633. $query->where('deleted_at', null);
  634. }),
  635. 'regex:/^1[345789][0-9]{9}$/'
  636. ],
  637. ];
  638. $uuu = new User();
  639. $validator = $uuu->validator($input, $rules);
  640. if ($validator->fails()) {
  641. return $this->error('400013', $validator->errors()->first());
  642. }
  643. $user = User::find($input['id']);
  644. $phone = $user->mobile;
  645. $user->mobile = $input['mobile'];
  646. //<<<<<<< HEAD
  647. DB::beginTransaction();
  648. $row = $user->save();
  649. $res = $this->addAgentOperationLog('6', $user->id);
  650. if ($row && $res) {
  651. DB::commit();
  652. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')手机号成功,原手机号:' . $phone . ',新手机号:' . $input['mobile']);
  653. return $this->success([], '修改成功');
  654. } else {
  655. DB::rollBack();
  656. return $this->error();
  657. }
  658. //=======
  659. // $row=$user->save();
  660. // if($row){
  661. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改代理:'.$user->nickname.'(id='.$user->id.')手机号成功,原手机号:'.$phone.',新手机号:'.$input['mobile']);
  662. // return $this->success([],'修改成功');
  663. // }
  664. // return $this->error();
  665. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  666. }
  667. //修改推荐人(如果该处皇冠团队,下级代理信息变更很严重)代理邀请人员后,或者成为上级后不能变更推荐人
  668. public function updateRecom(Request $request)
  669. {
  670. $input = $request->all();
  671. $rules = [
  672. 'mobile' => [
  673. 'required',
  674. 'regex:/^1[345789][0-9]{9}$/'
  675. ],
  676. 'remark' => ['required']
  677. ];
  678. $messages = [
  679. 'mobile.required' => '手机号不能为空.',
  680. 'mobile.regex' => '手机号格式有误.',
  681. 'remark.required' => '备注原因不能为空.'
  682. ];
  683. $uuu = new User();
  684. $validator = $uuu->validator($input, $rules, $messages);
  685. if ($validator->fails()) {
  686. return $this->error('400013', $validator->errors()->first());
  687. }
  688. $user = User::find($input['id']);//当前用户
  689. if ($user->recom_id) {
  690. $recom_id = $user->recom_id;
  691. } else {
  692. $recom_id = '暂无';
  693. }
  694. if ($user->agent_id) {
  695. $up_id = $user->agent_id;
  696. } else {
  697. $up_id = '暂无';
  698. }
  699. $agentCount = User::where(function ($query) use ($input) {
  700. $query->where('recom_id', '=', $input['id'])
  701. ->orWhere('agent_id', '=', $input['id']);
  702. })->count();
  703. //代理邀请人员后,或者成为上级后不能变更推荐人
  704. // if($agentCount>0){
  705. // return $this->error('400112','当前用户邀请人信息不能修改');
  706. // }
  707. $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息
  708. if (empty($recomUser)) {
  709. return $this->error('400115', '邀请人信息不存在');
  710. }
  711. if ($user->recom_id == $recomUser->id) {
  712. return $this->error('400111', '要更改的邀请人与当前邀请人相同');
  713. }
  714. if ($user->id == $recomUser->recom_id) {
  715. return $this->error('400116', '要更改的邀请人的邀请人为自己');
  716. }
  717. if ($user->id == $recomUser->id) {
  718. return $this->error('400116', '要更改的邀请人不能为自己');
  719. }
  720. $uuu = new User();
  721. $rechecking = $uuu->changeRecomSystem($input['id'], $input['mobile']);
  722. if ($rechecking == '222') {
  723. return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员');
  724. }
  725. DB::beginTransaction();
  726. try {
  727. if ($user->level == '3') {
  728. $user->recom_id = $recomUser->id;
  729. $user->agent_id = '1';
  730. $user->crown_id = '';
  731. if ($user->warea_id != $recomUser->warea_id) {
  732. $user->warea_id = $recomUser->warea_id;
  733. $one_agent = User::where('agent_id', $user->id)->pluck('id');
  734. if (count($one_agent) > 0) {
  735. User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]);
  736. foreach ($one_agent as $key => $val) {
  737. $two_agent = User::where('agent_id', $val)->pluck('id');
  738. if (count($two_agent) > 0) {
  739. User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]);
  740. }
  741. }
  742. }
  743. }
  744. } else {
  745. if ($recomUser->level == '3') {
  746. $user->recom_id = $recomUser->id;
  747. $user->agent_id = $recomUser->id;
  748. $user->crown_id = $recomUser->id;
  749. $user->warea_id = $recomUser->warea_id;
  750. if ($user->level == '2') {
  751. $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id);
  752. } elseif ($user->level == '1') {
  753. $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id);
  754. }
  755. $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id);
  756. } elseif ($recomUser->level == '2') {
  757. if ($user->level == '2') {
  758. $user->recom_id = $recomUser->id;
  759. $user->agent_id = $recomUser->agent_id;
  760. $user->crown_id = $recomUser->crown_id;
  761. $user->warea_id = $recomUser->warea_id;
  762. $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id);
  763. } elseif ($user->level == '1') {
  764. $user->recom_id = $recomUser->id;
  765. $user->agent_id = $recomUser->id;
  766. $user->crown_id = $recomUser->crown_id;
  767. $user->warea_id = $recomUser->warea_id;
  768. $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id);
  769. }
  770. $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
  771. } elseif ($recomUser->level == '1') {
  772. $recomAgent = User::find($recomUser->agent_id);
  773. if ($user->level == '2') {
  774. $user->recom_id = $recomUser->id;
  775. $user->agent_id = $recomAgent->agent_id;
  776. $user->crown_id = $recomUser->crown_id;
  777. $user->warea_id = $recomUser->warea_id;
  778. $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id);
  779. } elseif ($user->level == '1') {
  780. $user->recom_id = $recomUser->id;
  781. $user->agent_id = $recomUser->agent_id;
  782. $user->crown_id = $recomUser->crown_id;
  783. $user->warea_id = $recomUser->warea_id;
  784. $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id);
  785. }
  786. $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
  787. }
  788. }
  789. $row = $user->save();
  790. $remark = $input['remark'];
  791. $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first();
  792. $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile];
  793. $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE);
  794. $this->addAgentOperationLog('3', $user->id, $remark, $log);
  795. event(new ChangeRecom($user));
  796. DB::commit();
  797. // if($row){
  798. 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 . ')');
  799. return $this->success([]);
  800. // }
  801. // return $this->success([],'修改成功');
  802. } catch (Exception $e) {
  803. // return $e;
  804. //=======
  805. // if($user->level=='3'){
  806. // $user->recom_id=$recomUser->id;
  807. // $user->agent_id='1';
  808. // $user->crown_id='';
  809. // $user->warea_id='';
  810. // }else{
  811. // if($recomUser->level=='3'){
  812. // $user->recom_id=$recomUser->id;
  813. // $user->agent_id=$recomUser->id;
  814. // $user->crown_id=$recomUser->id;
  815. // $user->warea_id=$recomUser->warea_id;
  816. // if($user->level=='2'){
  817. // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->id);
  818. // }elseif($user->level=='1'){
  819. // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->id,$recomUser->id);
  820. // }
  821. // $uuu->changeAgentRecomCrown($user->id,$recomUser->id,$recomUser->warea_id);
  822. // }elseif($recomUser->level=='2'){
  823. // if($user->level=='2'){
  824. // $user->recom_id=$recomUser->id;
  825. // $user->agent_id=$recomUser->agent_id;
  826. // $user->crown_id=$recomUser->crown_id;
  827. // $user->warea_id=$recomUser->warea_id;
  828. // $uuu->changeAgentLevelInfoTwo($user->id,$recomUser->agent_id);
  829. // }elseif ($user->level=='1'){
  830. // $user->recom_id=$recomUser->id;
  831. // $user->agent_id=$recomUser->id;
  832. // $user->crown_id=$recomUser->crown_id;
  833. // $user->warea_id=$recomUser->warea_id;
  834. // $uuu->changeAgentLevelInfoThree($user->id,$recomUser->agent_id,$recomUser->id);
  835. // }
  836. // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id);
  837. // }elseif($recomUser->level=='1'){
  838. // $recomAgent=User::find($recomUser->agent_id);
  839. // if($user->level=='2'){
  840. // $user->recom_id=$recomUser->id;
  841. // $user->agent_id=$recomAgent->agent_id;
  842. // $user->crown_id=$recomUser->crown_id;
  843. // $user->warea_id=$recomUser->warea_id;
  844. // $uuu->changeAgentLevelInfoTwo($user->id,$recomAgent->agent_id);
  845. // }elseif ($user->level=='1'){
  846. // $user->recom_id=$recomUser->id;
  847. // $user->agent_id=$recomUser->agent_id;
  848. // $user->crown_id=$recomUser->crown_id;
  849. // $user->warea_id=$recomUser->warea_id;
  850. // $uuu->changeAgentLevelInfoThree($user->id,$recomAgent->agent_id,$recomUser->agent_id);
  851. // }
  852. // $uuu->changeAgentRecomCrown($user->id,$recomUser->crown_id,$recomUser->warea_id);
  853. // }
  854. // }
  855. // $row=$user->save();
  856. // DB::commit();
  857. // if($row){
  858. // 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.')');
  859. // return $this->success([]);
  860. // }
  861. // return $this->success([],'修改成功');
  862. // }catch(Exception $e) {
  863. // return $e;
  864. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  865. DB::rollBack();
  866. return $this->error();
  867. }
  868. // if($user->level==$recomUser->level){ //特级-》特级 顶级-》顶级 皇冠-》皇冠
  869. // $user->agent_id=$recomUser->agent_id;
  870. // }
  871. // if($user->level<$recomUser->level){ //皇冠-》顶级 皇冠-》特级 顶级-》特级
  872. // $user->agent_id=$recomUser->id;
  873. // }
  874. // if($user->level>$recomUser->level){ // 特级-》顶级 特级-》皇冠 顶级-》皇冠
  875. // if($user->level=='3'){//如果当前用户为皇冠 特级-》皇冠 顶级-》皇冠
  876. // $user->agent_id='1';
  877. // }else{ // 特级-》顶级
  878. // $topUser=User::find($recomUser->agent_id);//邀请人上级
  879. // if($topUser->level=='3'){//邀请人上级为皇冠
  880. // $user->agent_id=$topUser->id;
  881. // }else{//邀请人上级不为皇冠
  882. // $user->agent_id=$topUser->agent_id;
  883. // }
  884. // }
  885. // }
  886. }
  887. //代理升降级
  888. public function updateAgentLevel(Request $request)
  889. {
  890. $auth_id=Auth::user()->role_id;
  891. $input = $request->all();
  892. if ($input['level']==3){
  893. if ($auth_id!=22){
  894. return $this->error('400115', '升级为代理公司只能由超级管理员进行操作');
  895. }
  896. }
  897. $user = User::find($input['id']);
  898. $before_level=$user->level;
  899. $user_level=$user->level;
  900. if ($user->recom_id == '1') {
  901. return $this->error('400116', '邀请人为公司的代理不能变更等级');
  902. }
  903. $recom = User::find($user->recom_id);//邀请人信息
  904. if (empty($recom)) {
  905. return $this->error('400115', '代理邀请人信息不存在,升降级失败');
  906. }
  907. $uuu = new User();
  908. DB::beginTransaction();
  909. try {
  910. $res = $uuu->changeAgentLevel($user, $input['level']);
  911. $message['title'] = '代理等级变更推送';
  912. $message['data'] = '下级代理' . $input['id'] . '已升级';
  913. $message['type'] = '1';
  914. $message['status'] = '0';
  915. $message['user_id'] = $user->agent_id;
  916. $message['agent_id'] = '1';
  917. Message::create($message);
  918. if ($user_level == 1) {
  919. $before = '销售主管';
  920. } elseif ($user_level == 2) {
  921. $before = '销售经理';
  922. } elseif ($user_level == 3) {
  923. $before = '代理公司';
  924. } else {
  925. $before = '无效等级';
  926. }
  927. if ($input['level'] == 1) {
  928. $after = '销售主管';
  929. } elseif ($input['level'] == 2) {
  930. $after = '销售经理';
  931. } elseif ($input['level'] == 3) {
  932. $after = '代理公司';
  933. } else {
  934. $after = '无效等级';
  935. }
  936. if ($input['level'] > $user->level) {
  937. $remark = '升级';
  938. $log = '(升级)变更前等级:' . $before . ',变更后等级:' . $after;
  939. } elseif ($input['level'] < $user->level) {
  940. $remark = '降级';
  941. $log = '(降级)变更前等级:' . $before . ',变更后等级:' . $after;
  942. } else {
  943. $remark = '等级变更错误';
  944. $log = '';
  945. }
  946. $result=User::find($input['id']);
  947. $result->before=$before_level;
  948. event(new ChangeUserLevel($result));
  949. $this->addAgentOperationLog('2', $user->id, $remark, $log);
  950. Log::info('代理:' . $user->nickname . '(id=' . $user->id . ')等级变更成功,原推荐人id为:' . $user->recom_id . '原上级id为:' . $user->agent_id);
  951. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')修改代理:' . $user->nickname . '(id=' . $user->id . ')等级成功,原等级:' . $user->level . ',新等级:' . $input['level']);
  952. DB::commit();
  953. return $this->success([]);
  954. } catch (Exception $e) {
  955. DB::rollBack();
  956. return $e->getMessage();
  957. Log::info($e->getMessage()) ;
  958. return $this->error();
  959. }
  960. }
  961. //皇冠战区选择
  962. public function crownSelectWarea(Request $request)
  963. {
  964. $input = $request->all();
  965. $user_id = $input['id'];
  966. $warea_id = $input['wid'];
  967. $user = User::where('id', $user_id)->first();
  968. $before_war=$user->warea_id;
  969. if ($warea_id == $user->warea_id) {
  970. return $this->error('450001', '不能选择当前所在战区');
  971. }
  972. $before = Warea::where('id', $user->warea_id)->select('id', 'name', 'admin_name')->first();
  973. DB::beginTransaction();
  974. try {
  975. $user->warea_id = $warea_id;
  976. $user->save();
  977. $one_agent = User::where('agent_id', $user_id)->pluck('id');
  978. if (count($one_agent) > 0) {
  979. User::whereIn('id', $one_agent)->update(['warea_id' => $warea_id]);
  980. foreach ($one_agent as $key => $val) {
  981. $two_agent = User::where('agent_id', $val)->pluck('id');
  982. if (count($two_agent) > 0) {
  983. User::whereIn('id', $two_agent)->update(['warea_id' => $warea_id]);
  984. }
  985. }
  986. }
  987. $after = Warea::where('id', $warea_id)->select('id', 'name', 'admin_name')->first();
  988. $log = '代理公司战区修改成功,修改前战区信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后战区信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
  989. $this->addAgentOperationLog('7', $user_id, '', $log);
  990. $user->before=$before_war;
  991. event(new ChangeUserWar($user));
  992. DB::commit();
  993. return $this->success([]);
  994. } catch (Exception $e) {
  995. DB::rollBack();
  996. return $this->error($e->getMessage());
  997. }
  998. }
  999. /*后台审核*/
  1000. public function certUserStatus(Request $request)
  1001. {
  1002. $input = $request->all();
  1003. $user = User::find($input['id']);
  1004. $usercert = UserCert::where('user_id', $input['id'])->first();
  1005. if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建
  1006. $userC = new UserCert;
  1007. $d['user_id'] = $input['id'];
  1008. $d['recom_id'] = $user->recom_id;
  1009. $userC->create($d);
  1010. }
  1011. $recom = User::find($user->recom_id);//邀请人信息
  1012. $remark = '';
  1013. if ($input['type'] == 1) {
  1014. if ($input['level'] == '3') {//皇冠
  1015. $data['agent_id'] = '1';
  1016. $user->agent_id = '1';
  1017. $user->crown_id = '';
  1018. $user->warea_id = '';
  1019. //<<<<<<< HEAD
  1020. } else {
  1021. if ($recom->level > $input['level']) {//邀请人等级 > 代理等级
  1022. $data['agent_id'] = $recom->id;
  1023. $user->agent_id = $recom->id;
  1024. if ($recom->level == '3') {
  1025. //=======
  1026. // }else{
  1027. // if($recom->level>$input['level']){//邀请人等级 > 代理等级
  1028. // $data['agent_id']=$recom->id;
  1029. // $user->agent_id=$recom->id;
  1030. // if($recom->level=='3'){
  1031. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1032. $user->crown_id = $recom->id;
  1033. } else {
  1034. $user->crown_id = $recom->crown_id;
  1035. }
  1036. $user->warea_id = $recom->warea_id;
  1037. //<<<<<<< HEAD
  1038. }
  1039. if ($recom->level == $input['level']) {//邀请人等级 = 代理等级
  1040. $data['agent_id'] = $recom->agent_id;
  1041. $user->agent_id = $recom->agent_id;
  1042. $user->crown_id = $recom->crown_id;
  1043. $user->warea_id = $recom->warea_id;
  1044. }
  1045. if ($recom->level < $input['level']) {//邀请人等级 < 代理等级
  1046. if ($recom->agent_id == '3') {
  1047. $data['agent_id'] = $recom->agent_id;
  1048. $user->agent_id = $recom->agent_id;
  1049. $user->crown_id = $recom->crown_id;
  1050. $user->warea_id = $recom->warea_id;
  1051. } else {
  1052. $agent = User::find($recom->agent_id);//邀请人上级代理信息
  1053. $data['agent_id'] = $agent->agent_id;
  1054. $user->agent_id = $agent->agent_id;
  1055. $user->crown_id = $recom->crown_id;
  1056. $user->warea_id = $recom->warea_id;
  1057. }
  1058. }
  1059. }
  1060. $data['recom_audit'] = $input['status'];
  1061. $data['recom_audit_desc'] = $input['remark'] ? $input['remark'] : '';
  1062. $data['recom_updated_at'] = date("Y-m-d H:i:s");
  1063. DB::beginTransaction();
  1064. try {
  1065. if ($input['status'] == '1') {//通过
  1066. $user->cert_status = '2'; //邀请人通过
  1067. $user->level = $input['level'];
  1068. $user->save();
  1069. $remark = '邀请人审核通过';
  1070. } elseif ($input['status'] == '2') {//驳回
  1071. $user->cert_status = '4'; //邀请人驳回
  1072. $user->save();
  1073. $remark = '邀请人审核驳回';
  1074. }
  1075. UserCert::where('user_id', $input['id'])->update($data);
  1076. $this->addAgentOperationLog('8', $user->id, $remark);
  1077. DB::commit();
  1078. return $this->success([]);
  1079. } catch (Exception $e) {
  1080. DB::rollBack();
  1081. return $this->error();
  1082. }
  1083. } else {
  1084. DB::beginTransaction();
  1085. try {
  1086. $data['agent_audit'] = $input['status'];
  1087. $data['agent_audit_desc'] = $input['remark'] ? $input['remark'] : '';
  1088. $data['agent_updated_at'] = date("Y-m-d H:i:s");
  1089. $userCert = UserCert::where('user_id', $input['id'])->where('recom_audit', '1')->first();
  1090. if ($userCert && $input['status'] == '1') {
  1091. $user->cert_status = '3';
  1092. $user->auth_code = $this->getAuthCode();
  1093. $user->auth_startime = date("Y-m-01 00:00:00");
  1094. $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
  1095. $user->save();
  1096. $remark = '上级审核通过';
  1097. } elseif ($userCert && $input['status'] == '2') {
  1098. $user->cert_status = '5';
  1099. $user->save();
  1100. $remark = '上级审核驳回';
  1101. }
  1102. $userCert->update($data);
  1103. $this->addAgentOperationLog('8', $user->id, $remark);
  1104. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
  1105. DB::commit();
  1106. return $this->success([]);
  1107. } catch (Exception $e) {
  1108. DB::rollBack();
  1109. return $this->error();
  1110. }
  1111. }
  1112. //=======
  1113. // }
  1114. // if($recom->level==$input['level']){//邀请人等级 = 代理等级
  1115. // $data['agent_id']=$recom->agent_id;
  1116. // $user->agent_id=$recom->agent_id;
  1117. // $user->crown_id=$recom->crown_id;
  1118. // $user->warea_id=$recom->warea_id;
  1119. // }
  1120. // if($recom->level<$input['level']){//邀请人等级 < 代理等级
  1121. // if($recom->agent_id=='3'){
  1122. // $data['agent_id']=$recom->agent_id;
  1123. // $user->agent_id=$recom->agent_id;
  1124. // $user->crown_id=$recom->crown_id;
  1125. // $user->warea_id=$recom->warea_id;
  1126. // }else{
  1127. // $agent=User::find($recom->agent_id);//邀请人上级代理信息
  1128. // $data['agent_id']=$agent->agent_id;
  1129. // $user->agent_id=$agent->agent_id;
  1130. // $user->crown_id=$recom->crown_id;
  1131. // $user->warea_id=$recom->warea_id;
  1132. // }
  1133. // }
  1134. // }
  1135. // $data['recom_audit']=$input['status'];
  1136. // $data['recom_audit_desc']=$input['remark']?$input['remark']:'';
  1137. // $data['recom_updated_at']=date("Y-m-d H:i:s");
  1138. // DB::beginTransaction();
  1139. // try{
  1140. // if($input['status']=='1'){//通过
  1141. // $user->cert_status='2'; //邀请人通过
  1142. // $user->level=$input['level'];
  1143. // $user->save();
  1144. // }elseif($input['status']=='2'){//驳回
  1145. // $user->cert_status='4'; //邀请人驳回
  1146. // $user->save();
  1147. // }
  1148. // UserCert::where('user_id',$input['id'])->update($data);
  1149. // DB::commit();
  1150. // return $this->success([]);
  1151. // }catch(Exception $e) {
  1152. // DB::rollBack();
  1153. // return $this->error();
  1154. // }
  1155. // }else{
  1156. // DB::beginTransaction();
  1157. // try{
  1158. // $data['agent_audit']=$input['status'];
  1159. // $data['agent_audit_desc']=$input['remark']?$input['remark']:'';
  1160. // $data['agent_updated_at']=date("Y-m-d H:i:s");
  1161. // $userCert=UserCert::where('user_id',$input['id'])->where('recom_audit','1')->first();
  1162. // if($userCert && $input['status']=='1'){
  1163. // $user->cert_status='3';
  1164. // $user->auth_code=$this->getAuthCode();
  1165. // $user->auth_startime=date("Y-m-01 00:00:00");
  1166. // $user->auth_endtime=date("Y-m-01 00:00:00",strtotime("+1 years"));
  1167. // $user->save();
  1168. // }elseif($userCert && $input['status']=='2'){
  1169. // $user->cert_status='5';
  1170. // $user->save();
  1171. // }
  1172. // $userCert->update($data);
  1173. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
  1174. // DB::commit();
  1175. // return $this->success([]);
  1176. // }catch(Exception $e) {
  1177. // DB::rollBack();
  1178. // return $this->error();
  1179. // }
  1180. // }
  1181. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1182. }
  1183. /*后台批量审核*/
  1184. public function certUserStatus_all(Request $request)
  1185. {
  1186. $input = $request->all();
  1187. foreach ($input['list'] as $k => $v) {
  1188. $user = User::find($v['id']);
  1189. $usercert = UserCert::where('user_id', $v['id'])->first();
  1190. if (empty($usercert)) {//判断user_cert表信息是否存在,不存在则创建
  1191. $userC = new UserCert;
  1192. $d['user_id'] = $v['id'];
  1193. $d['recom_id'] = $user->recom_id;
  1194. $userC->create($d);
  1195. }
  1196. $recom = User::find($user->recom_id);//邀请人信息
  1197. if ($v['type'] == 1) {
  1198. if ($v['level'] == '3') {//皇冠
  1199. $data['agent_id'] = '1';
  1200. $user->agent_id = '1';
  1201. $user->crown_id = '';
  1202. $user->warea_id = '';
  1203. } else {
  1204. if ($recom->level > $v['level']) {//邀请人等级 > 代理等级
  1205. $data['agent_id'] = $recom->id;
  1206. $user->agent_id = $recom->id;
  1207. if ($recom->level == '3') {
  1208. $user->crown_id = $recom->id;
  1209. } else {
  1210. $user->crown_id = $recom->crown_id;
  1211. }
  1212. $user->warea_id = $recom->warea_id;
  1213. }
  1214. if ($recom->level == $v['level']) {//邀请人等级 = 代理等级
  1215. $data['agent_id'] = $recom->agent_id;
  1216. $user->agent_id = $recom->agent_id;
  1217. $user->crown_id = $recom->crown_id;
  1218. $user->warea_id = $recom->warea_id;
  1219. }
  1220. if ($recom->level < $v['level']) {//邀请人等级 < 代理等级
  1221. if ($recom->agent_id == '3') {
  1222. $data['agent_id'] = $recom->agent_id;
  1223. $user->agent_id = $recom->agent_id;
  1224. $user->crown_id = $recom->crown_id;
  1225. $user->warea_id = $recom->warea_id;
  1226. } else {
  1227. $agent = User::find($recom->agent_id);//邀请人上级代理信息
  1228. $data['agent_id'] = $agent->agent_id;
  1229. $user->agent_id = $agent->agent_id;
  1230. $user->crown_id = $recom->crown_id;
  1231. $user->warea_id = $recom->warea_id;
  1232. }
  1233. }
  1234. }
  1235. $data['recom_audit'] = $v['status'];
  1236. $data['recom_audit_desc'] = $v['remark'] ? $v['remark'] : '';
  1237. $data['recom_updated_at'] = date("Y-m-d H:i:s");
  1238. DB::beginTransaction();
  1239. try {
  1240. if ($v['status'] == '1') {//通过
  1241. $user->cert_status = '2'; //邀请人通过
  1242. $user->level = $v['level'];
  1243. $user->save();
  1244. //<<<<<<< HEAD
  1245. $remark = '邀请人批量审核通过';
  1246. } elseif ($v['status'] == '2') {//驳回
  1247. $user->cert_status = '4'; //邀请人驳回
  1248. $user->save();
  1249. $remark = '邀请人批量审核驳回';
  1250. }
  1251. UserCert::where('user_id', $v['id'])->update($data);
  1252. $this->addAgentOperationLog('8', $user->id, $remark);
  1253. //=======
  1254. // }elseif($v['status']=='2'){//驳回
  1255. // $user->cert_status='4'; //邀请人驳回
  1256. // $user->save();
  1257. // }
  1258. // UserCert::where('user_id',$v['id'])->update($data);
  1259. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1260. DB::commit();
  1261. // return $this->success([]);
  1262. } catch (Exception $e) {
  1263. DB::rollBack();
  1264. // return $this->error();
  1265. }
  1266. } else {
  1267. DB::beginTransaction();
  1268. try {
  1269. $data['agent_audit'] = $v['status'];
  1270. $data['agent_audit_desc'] = $v['remark'] ? $v['remark'] : '';
  1271. $data['agent_updated_at'] = date("Y-m-d H:i:s");
  1272. $userCert = UserCert::where('user_id', $v['id'])->where('recom_audit', '1')->first();
  1273. if ($userCert && $v['status'] == '1') {
  1274. $user->cert_status = '3';
  1275. $user->auth_code = $this->getAuthCode();
  1276. $user->auth_startime = date("Y-m-01 00:00:00");
  1277. $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
  1278. $user->save();
  1279. $remark = '上级批量审核通过';
  1280. } elseif ($userCert && $v['status'] == '2') {
  1281. $user->cert_status = '5';
  1282. $user->save();
  1283. $remark = '上级批量审核驳回';
  1284. }
  1285. $this->addAgentOperationLog('8', $user->id, $remark);
  1286. $userCert->update($data);
  1287. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
  1288. DB::commit();
  1289. // return $this->success([]);
  1290. } catch (Exception $e) {
  1291. DB::rollBack();
  1292. // return $this->error();
  1293. }
  1294. }
  1295. }
  1296. return $this->success([]);
  1297. }
  1298. //邀请人重新审核
  1299. public function againCertRecomStatus(Request $request)
  1300. {
  1301. $input = $request->all();
  1302. $user = User::find($input['id']);
  1303. $userCert = UserCert::where('user_id', $input['id'])->first();
  1304. if ($input['type'] == '1') {//通过
  1305. $user->level = $input['level'];
  1306. $recom = User::find($user->recom_id);
  1307. if ($input['level'] == '3') {//皇冠
  1308. $user->agent_id = '1';
  1309. $user->crown_id = '';
  1310. $user->warea_id = '';
  1311. $userCert->agent_id = '1';
  1312. } else {
  1313. if ($recom->level > $input['level']) {//邀请人等级 > 代理等级
  1314. $user->agent_id = $recom->id;
  1315. if ($recom->level == '3') {
  1316. $user->crown_id = $recom->id;
  1317. } else {
  1318. $user->crown_id = $recom->crown_id;
  1319. }
  1320. $user->warea_id = $recom->warea_id;
  1321. $userCert->agent_id = $recom->id;
  1322. }
  1323. if ($recom->level == $input['level']) {//邀请人等级 = 代理等级
  1324. $user->agent_id = $recom->agent_id;
  1325. $user->crown_id = $recom->crown_id;
  1326. $user->warea_id = $recom->warea_id;
  1327. $userCert->agent_id = $recom->agent_id;
  1328. }
  1329. if ($recom->level < $input['level']) {//邀请人等级 < 代理等级
  1330. if ($recom->agent_id == '3') {
  1331. $user->agent_id = $recom->agent_id;
  1332. $user->crown_id = $recom->crown_id;
  1333. $user->warea_id = $recom->warea_id;
  1334. $userCert->agent_id = $recom->agent_id;
  1335. } else {
  1336. $agent = User::find($recom->agent_id);//邀请人上级代理信息
  1337. $user->agent_id = $agent->agent_id;
  1338. $user->crown_id = $recom->crown_id;
  1339. $user->warea_id = $recom->warea_id;
  1340. $userCert->agent_id = $agent->agent_id;
  1341. }
  1342. }
  1343. }
  1344. $userCert->recom_id = $user->recom_id;
  1345. $userCert->recom_audit = '1';
  1346. $userCert->recom_audit_desc = '';
  1347. $userCert->agent_audit = '0';
  1348. $userCert->agent_audit_desc = '';
  1349. $userCert->recom_updated_at = date("Y-m-d H:i:s");
  1350. $user->cert_status = '2';
  1351. $remark = '邀请人重新审核通过';
  1352. } elseif ($input['type'] == '2') {//驳回
  1353. $userCert->recom_id = $user->recom_id;
  1354. $userCert->agent_id = $user->agent_id;
  1355. $userCert->recom_audit = '2';
  1356. $userCert->recom_audit_desc = $input['desc'];
  1357. $userCert->agent_audit = '0';
  1358. $userCert->agent_audit_desc = '';
  1359. $userCert->recom_updated_at = date("Y-m-d H:i:s");
  1360. $user->cert_status = '4';
  1361. $remark = '邀请人重新审核驳回';
  1362. }
  1363. DB::beginTransaction();
  1364. try {
  1365. $this->addAgentOperationLog('8', $user->id, $remark);
  1366. $userCert->save();
  1367. $user->save();
  1368. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
  1369. DB::commit();
  1370. return $this->success([]);
  1371. } catch (Exception $e) {
  1372. DB::rollBack();
  1373. return $this->error();
  1374. }
  1375. }
  1376. //上级重新审核
  1377. //=======
  1378. // }
  1379. // $row=$userCert->save();
  1380. // $rows=$user->save();
  1381. // if($row && $rows){
  1382. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
  1383. // DB::commit();
  1384. // return $this->success([]);
  1385. // }else{
  1386. // DB::rollBack();
  1387. // return $this->error();
  1388. // }
  1389. // }
  1390. // //上级重新审核
  1391. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1392. public function againCertAgentStatus(Request $request)
  1393. {
  1394. $input = $request->all();
  1395. $user = User::find($input['id']);
  1396. $userCert = UserCert::where('user_id', $input['id'])->first();
  1397. if ($input['type'] == '1') {//通过
  1398. $userCert->agent_audit = '1';
  1399. $userCert->agent_audit_desc = '';
  1400. $userCert->agent_updated_at = date("Y-m-d H:i:s");
  1401. $user->cert_status = '3';
  1402. $user->auth_code = $this->getAuthCode();
  1403. $user->auth_startime = date("Y-m-01 00:00:00");
  1404. $user->auth_endtime = date("Y-m-01 00:00:00", strtotime("+1 years"));
  1405. //<<<<<<< HEAD
  1406. $remark = '上级重新审核通过';
  1407. //=======
  1408. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1409. } elseif ($input['type'] == '2') {//驳回
  1410. $userCert->agent_audit = '2';
  1411. $userCert->agent_audit_desc = $input['desc'];
  1412. $userCert->agent_updated_at = date("Y-m-d H:i:s");
  1413. $user->cert_status = '5';
  1414. //<<<<<<< HEAD
  1415. $remark = '上级重新审核驳回';
  1416. }
  1417. DB::beginTransaction();
  1418. try {
  1419. $this->addAgentOperationLog('8', $user->id, $remark);
  1420. $userCert->save();
  1421. $user->save();
  1422. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')重新审核代理:' . $user->nickname . '(id=' . $user->id . ')成功,审核状态:' . $user->cert_status);
  1423. DB::commit();
  1424. return $this->success([]);
  1425. } catch (Exception $e) {
  1426. //=======
  1427. // }
  1428. // $row=$userCert->save();
  1429. // $rows=$user->save();
  1430. // if($row && $rows){
  1431. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')重新审核代理:'.$user->nickname.'(id='.$user->id.')成功,审核状态:'.$user->cert_status);
  1432. // DB::commit();
  1433. // return $this->success([]);
  1434. // }else{
  1435. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1436. DB::rollBack();
  1437. return $this->error();
  1438. }
  1439. }
  1440. /*代理库存*/
  1441. public function getAgentGoodsNum(Request $request)
  1442. {
  1443. $input = $request->all();
  1444. $goodstotal = DB::table('goods_sku_agent_total as goodsNum')->where('goodsNum.user_id', $input['id'])
  1445. ->select('goods.name', 'goods.img_url', 'goods.tjprice', 'goods.djprice', 'goods.hgprice', DB::raw('SUM(goodsNum.total) as account'))
  1446. ->leftJoin('users', 'users.id', '=', 'goodsNum.user_id')
  1447. ->leftJoin('goods', 'goods.id', '=', 'goodsNum.goods_id')
  1448. ->groupBy('goodsNum.goods_id')
  1449. ->get();
  1450. if ($goodstotal) {
  1451. return $this->success($goodstotal);
  1452. }
  1453. return $this->error();
  1454. }
  1455. /* 用户禁用/启用 */
  1456. public function shelvedUser(Request $request)
  1457. {
  1458. $user = User::find($request->post('id'));
  1459. $status = ($user->status == 0) ? '启用' : '禁用';
  1460. $user->status = ($user->status == 0) ? '1' : '0';
  1461. //<<<<<<< HEAD
  1462. DB::beginTransaction();
  1463. $row = $user->save();
  1464. if ($user->status == 0) {
  1465. $remark = '启用';
  1466. } else {
  1467. $remark = '禁用';
  1468. }
  1469. $res = $this->addAgentOperationLog('10', $user->id, $remark);
  1470. event(new ShelvedAgent($user));
  1471. if ($row && $res) {
  1472. DB::commit();
  1473. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')' . $status . '代理:' . $user->nickname . '(id=' . $user->id . ')成功');
  1474. return $this->success([]);
  1475. }
  1476. DB::rollBack();
  1477. //=======
  1478. // $row=$user->save();
  1479. // if($row){
  1480. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')'.$status.'代理:'.$user->nickname.'(id='.$user->id.')成功');
  1481. // return $this->success([]);
  1482. // }
  1483. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1484. return $this->error();
  1485. }
  1486. //删除用户
  1487. public function destoryUser(Request $request)
  1488. {
  1489. $input = $request->all();
  1490. $user = User::find($input['id']);
  1491. $recom = User::find($user->recom_id);//代理邀请人信息
  1492. if (!$recom) {
  1493. return $this->error('400111', '该代理邀请人信息有误,不能删除');
  1494. }
  1495. //获取代理邀请的人
  1496. $recomed=User::where('recom_id',$input['id'])->pluck('id');
  1497. $agented=User::where('agent_id',$input['id'])->pluck('id');
  1498. //获取代理下级信息
  1499. DB::beginTransaction();
  1500. $userInfo=User::where('id',$input['id'])->first();
  1501. // event(new DeleteAgent($userInfo));
  1502. try {
  1503. if ($user->level == '3') {
  1504. if ($recom->level == '3') {//邀请人等级信息
  1505. User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]);
  1506. User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
  1507. User::where('crown_id', $input['id'])->update(['crown_id' => $recom->id, 'warea_id' => $recom->warea_id]);
  1508. } elseif ($recom->level == '2') {
  1509. User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $recom->agent_id]);
  1510. User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $recom->id]);
  1511. User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
  1512. $recom_agent = User::where('id', $recom->agent_id)->first();
  1513. User::where('crown_id', $input['id'])->update(['crown_id' => $recom_agent->id, 'warea_id' => $recom_agent->warea_id]);
  1514. } elseif ($recom->level == '1') {
  1515. $upRecom = User::find($recom->agent_id);//代理邀请人上级信息
  1516. if (!$upRecom) {
  1517. return $this->error('400112', '该代理邀请人上级信息有误,不能删除');
  1518. }
  1519. User::where('agent_id', $input['id'])->where('level', 1)->update(['agent_id' => $upRecom->id]);
  1520. User::where('agent_id', $input['id'])->where('level', 2)->update(['agent_id' => $upRecom->agent_id]);
  1521. User::where('recom_id', $input['id'])->update(['recom_id' => $recom->id]);
  1522. $recom_agent = User::where('id', $upRecom->agent_id)->first();
  1523. User::where('crown_id', $input['id'])->update(['crown_id' => $upRecom->agent_id, 'warea_id' => $recom_agent->warea_id]);
  1524. }
  1525. } elseif ($user->level == '2') {
  1526. if ($recom->level == '3' || $recom->level == '2') {
  1527. User::where('agent_id', $input['id'])->update(['agent_id' => $recom->id]);
  1528. } elseif ($recom->level == '1') {
  1529. User::where('agent_id', $input['id'])->update(['agent_id' => $recom->agent_id]);
  1530. }
  1531. User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]);
  1532. } elseif ($user->level == '1') {
  1533. User::where('recom_id', $input['id'])->update(['recom_id' => $user->recom_id]);
  1534. }
  1535. $user->delete();
  1536. $remark = $input['remark'];
  1537. $after = ['id' => $user->id, 'nickname' => $user->nickname, 'mobile' => $user->mobile, 'level' => $user->level, 'recom_id' => $user->recom_id, 'agent_id' => $user->agent_id];
  1538. $log = '删除用户成功,用户信息:' . json_encode($after, JSON_UNESCAPED_UNICODE).',用户邀请的人ID:'.json_encode($recomed).',用户下级ID:'.json_encode($agented);
  1539. $this->addAgentOperationLog('4', $user->id, $remark, $log);
  1540. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')删除代理:' . $user->nickname . '(id=' . $user->id . ')成功');
  1541. DB::commit();
  1542. return $this->success([]);
  1543. } catch (Exception $e) {
  1544. DB::rollBack();
  1545. return $this->error();
  1546. }
  1547. }
  1548. public function destroyUploadImg(Request $request){
  1549. if(empty($request->has('file'))){
  1550. return $this->error('450001','请选择图片!');
  1551. }
  1552. $path_url='delete/img';
  1553. $path = $request->file('file')->store($path_url);
  1554. $url = Storage::url($path);
  1555. if($url){
  1556. return $this->success($url);
  1557. }
  1558. return $this->error();
  1559. }
  1560. // 重置/修改密码
  1561. public function editAgentPassword(Request $request)
  1562. {
  1563. $input = $request->all();
  1564. $user = User::find($input['id']);
  1565. //<<<<<<< HEAD
  1566. $remark = '';
  1567. if ($input['type'] == '1') {//重置密码
  1568. $remark = '重置密码';
  1569. $user->password = MD5($user->mobile);
  1570. } elseif ($input['type'] == '2') {//修改密码
  1571. $remark = '修改密码';
  1572. $user->password = MD5($input['password']);
  1573. }
  1574. $this->addAgentOperationLog('9', $user->id, $remark);
  1575. $row = $user->save();
  1576. if ($row) {
  1577. //=======
  1578. // if($input['type']=='1'){//重置密码
  1579. // $user->password=MD5($user->mobile);
  1580. // }elseif($input['type']=='2'){//修改密码
  1581. // $user->password=MD5($input['password']);
  1582. // }
  1583. // $row=$user->save();
  1584. // if($row){
  1585. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1586. Log::info('管理员:' . Auth::user()->name . '(id=' . Auth::user()->id . ')充值代理:' . $user->nickname . '(id=' . $user->id . ')密码成功');
  1587. return $this->success([]);
  1588. }
  1589. return $this->error();
  1590. }
  1591. //导出代理信息
  1592. public function exportUserLists(Request $request)
  1593. {
  1594. ini_set('memory_limit', '512M');
  1595. $input = $request->all();
  1596. $search_name = $input['search_name'];
  1597. $recom_name = $input['recom_name'];
  1598. $agent_name = $input['agent_name'];
  1599. if ($input['level'] == '4') {
  1600. $user = UserCopy::onlyTrashed();
  1601. $where = [];
  1602. } elseif ($input['level'] == 'all') {
  1603. $user = UserCopy::withTrashed();
  1604. $where = [];
  1605. } else {
  1606. $user = new UserCopy();
  1607. $where = [];
  1608. $where['level'] = $input['level'];
  1609. }
  1610. $list = $user
  1611. ->where(function ($query) use ($search_name) {
  1612. $query->where('nickname', 'like', '%' . $search_name . '%')
  1613. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  1614. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  1615. ->orWhere('realname', 'like', '%' . $search_name . '%');
  1616. })
  1617. ->whereIn('cert_status', [3, 6])
  1618. ->where($where)
  1619. ->with(['recom:id,nickname,mobile', 'agent:id,nickname,mobile'])
  1620. ->whereHas('recom', function ($query1) use ($recom_name) {
  1621. $query1->select('id', 'nickname', 'mobile')
  1622. ->where(function ($recom) use ($recom_name) {
  1623. $recom->where('nickname', 'like', '%' . $recom_name . '%')
  1624. ->orWhere('mobile', 'like', '%' . $recom_name . '%')
  1625. ->orWhere('cre_num', 'like', '%' . $recom_name . '%')
  1626. ->orWhere('realname', 'like', '%' . $recom_name . '%');
  1627. });
  1628. })
  1629. ->whereHas('agent', function ($query2) use ($agent_name) {
  1630. $query2->select('id', 'nickname', 'mobile')
  1631. ->where(function ($agent) use ($agent_name) {
  1632. $agent->where('nickname', 'like', '%' . $agent_name . '%')
  1633. ->orWhere('mobile', 'like', '%' . $agent_name . '%')
  1634. ->orWhere('cre_num', 'like', '%' . $agent_name . '%')
  1635. ->orWhere('realname', 'like', '%' . $agent_name . '%');
  1636. });
  1637. })
  1638. ->orderBy('id', 'desc')
  1639. ->get();
  1640. if (empty($list)) {
  1641. return $this->error('400002', '没有获取到数据');
  1642. }
  1643. foreach ($list as $key => $val) {
  1644. if (!empty($val->deleted_at)) {
  1645. $list[$key]['delete'] = 1;//已删除
  1646. } else {
  1647. $list[$key]['delete'] = 0;//未删除
  1648. }
  1649. $list[$key]['cert_status'] = 6;
  1650. // $list[$key]['account']=$user->getAgentSalesResult($val->id);
  1651. }
  1652. // $search_name=$search_name?$search_name:
  1653. // Redis::setex('User_'.$search_name.$recom_name.$agent_name.$level);
  1654. return $this->success($list);
  1655. }
  1656. //获取代理列表信息
  1657. public function getUserListass(Request $request)
  1658. {
  1659. $input = $request->all();
  1660. $page_size = $input['page_size'];
  1661. $page_index = $input['page_index'];
  1662. $num = ($page_index - 1) * $page_size;
  1663. $search_name = $input['search_name'];
  1664. $recom_name = $request->has('recom_name') ? $input['recom_name'] : '';
  1665. $agent_name = $request->has('agent_name') ? $input['agent_name'] : '';
  1666. $where = [];
  1667. if ($input['level'] == '4') {
  1668. $user = User::onlyTrashed()->where($where);
  1669. } elseif ($input['level'] == 'all') {
  1670. $user = User::withTrashed()->where($where);
  1671. } else {
  1672. $user = User::where($where);
  1673. $where['level'] = $input['level'];
  1674. }
  1675. if ($search_name) {
  1676. $user->where(function ($query) use ($search_name) {
  1677. $query->where('nickname', 'like', '%' . $search_name . '%')
  1678. ->orWhere('mobile', 'like', '%' . $search_name . '%')
  1679. ->orWhere('cre_num', 'like', '%' . $search_name . '%')
  1680. ->orWhere('realname', 'like', '%' . $search_name . '%');
  1681. });
  1682. }
  1683. if ($agent_name) {
  1684. $agent_id = User::where(function ($agent) use ($agent_name) {
  1685. $agent->where('nickname', 'like', '%' . $agent_name . '%')
  1686. ->orWhere('mobile', 'like', '%' . $agent_name . '%')
  1687. ->orWhere('cre_num', 'like', '%' . $agent_name . '%')
  1688. ->orWhere('realname', 'like', '%' . $agent_name . '%');
  1689. })->pluck('id');
  1690. $user->whereIn('agent_id', $agent_id);
  1691. }
  1692. if ($recom_name) {
  1693. $recom_id = User::where(function ($recom) use ($recom_name) {
  1694. $recom->where('nickname', 'like', '%' . $recom_name . '%')
  1695. ->orWhere('mobile', 'like', '%' . $recom_name . '%')
  1696. ->orWhere('cre_num', 'like', '%' . $recom_name . '%')
  1697. ->orWhere('realname', 'like', '%' . $recom_name . '%');
  1698. })->pluck('id');
  1699. $user->whereIn('recom_id', $recom_id);
  1700. }
  1701. $count = $user->whereIn('cert_status', [3, 6])->where($where)->count();
  1702. if ($count == 0) {
  1703. $this->error('400001', '没有数据');
  1704. }
  1705. $list = $user->with(['recom', 'agent'])->whereIn('cert_status', [3, 6])->orderBy('id', 'desc')->skip($num)->take($page_size)->get();
  1706. foreach ($list as $key => $val) {
  1707. if (!empty($val->deleted_at)) {
  1708. $list[$key]['delete'] = 1;//已删除
  1709. } else {
  1710. $list[$key]['delete'] = 0;//未删除
  1711. }
  1712. $list[$key]['cert_status'] = 6;
  1713. // $list[$key]['account']=$user->getAgentSalesResult($val->id);
  1714. }
  1715. return $this->success_list($list, 'success', $count);
  1716. }
  1717. //<<<<<<< HEAD
  1718. //=======
  1719. // public function restoreAgent(Request $request){
  1720. // $input=$request->all();
  1721. // $student = Student::find($input['id']);
  1722. // $row=$student->restore();
  1723. // if($row){
  1724. // return $this->success($list,'删除恢复成功');
  1725. // }
  1726. // $this->error();
  1727. // }
  1728. //
  1729. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1730. /**修改代理信息**/
  1731. public function update_user(Request $request)
  1732. {
  1733. $rule = [
  1734. 'id' => 'required',
  1735. 'nickname' => 'required',
  1736. 'realname' => 'required',
  1737. 'mobile' => 'required',
  1738. ];
  1739. $message = [
  1740. 'id.required' => '必填项',
  1741. 'nickname.required' => '必填项',
  1742. 'realname.required' => '必填项',
  1743. 'mobile.required' => '必填项',
  1744. ];
  1745. $vali = Validator::make($request->all(), $rule, $message);
  1746. if ($vali->fails()) {
  1747. return $this->error('400013', $vali->errors()->first());
  1748. }
  1749. DB::beginTransaction();
  1750. try {
  1751. $user = User::find($request->id);
  1752. $before_mobile=$user->mobile;
  1753. if (!$user) {
  1754. return $this->error(40013, '该用户不存在,请重新查询');
  1755. }
  1756. $before = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num];
  1757. if ($request->mobile != $user->mobile) {
  1758. $users = User::where('mobile', $request->mobile)->count();
  1759. if ($users) {
  1760. return $this->error(40013, '该手机号已被使用');
  1761. }
  1762. $user->mobile = $request->mobile;
  1763. $user->auth_img = null;
  1764. }
  1765. if ($user->nickname != $request->nickname) {
  1766. $user->auth_img = null;
  1767. }
  1768. $user->nickname = $request->nickname;
  1769. $user->realname = $request->realname;
  1770. $user->cre_num = $request->cre_num;
  1771. $user->name = $request->realname;
  1772. $user->remark = $request->remark;
  1773. if (!$user->save()) {
  1774. throw new \Exception('1');
  1775. }
  1776. $after = ['id' => $user->id, 'nickname' => $user->nickname, 'realname' => $user->realname, 'mobile' => $user->mobile, 'cre_num' => $user->cre_num, 'remark'=> $user->remark];
  1777. $log = '修改代理信息成功,修改前代理信息:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',修改后代理信息:' . json_encode($after, JSON_UNESCAPED_UNICODE);
  1778. $this->addAgentOperationLog('6', $user->id, '', $log);
  1779. $user->before=$before_mobile;
  1780. event(new ChangeUserInfo($user));
  1781. DB::commit();
  1782. return $this->success([], '更新成功');
  1783. } catch (\Exception $exception) {
  1784. Log::error('{-----修改用户信息出错-----错误信息为--}' . $exception);
  1785. DB::rollback();
  1786. return $this->error(40013, '修改用户信息出错');
  1787. }
  1788. }
  1789. //<<<<<<< HEAD
  1790. public function restoreAgent(Request $request)
  1791. {
  1792. $input = $request->all();
  1793. $student = Student::find($input['id']);
  1794. $row = $student->restore();
  1795. if ($row) {
  1796. // return $this->success($list, '删除恢复成功');
  1797. }
  1798. $this->error();
  1799. }
  1800. //添加代理操作日志
  1801. public function addAgentOperationLog($type, $user_id, $remark = null, $log = null)
  1802. {
  1803. return AgentOperationLog::create([
  1804. 'type' => $type,
  1805. 'admin_name' => Auth::user()->name,
  1806. 'admin_id' => Auth::user()->id,
  1807. 'user_id' => $user_id,
  1808. 'remark' => $remark,
  1809. 'log' => $log,
  1810. ]);
  1811. }
  1812. //=======
  1813. public function repair_auth(Request $request)
  1814. {
  1815. $rule = [
  1816. 'id' => 'required',
  1817. ];
  1818. $message = [
  1819. 'id.required' => '必填项',
  1820. ];
  1821. $vali = Validator::make($request->all(), $rule, $message);
  1822. if ($vali->fails()) {
  1823. return $this->error('400013', $vali->errors()->first());
  1824. }
  1825. DB::beginTransaction();
  1826. try {
  1827. $user = User::find($request->id);
  1828. if (!$user) {
  1829. return $this->error(40013, '该用户不存在,请重新查询');
  1830. }
  1831. $user->auth_img = null;
  1832. if (!$user->save()) {
  1833. throw new \Exception('1');
  1834. }
  1835. DB::commit();
  1836. return $this->success([], '修复成功');
  1837. } catch (\Exception $exception) {
  1838. Log::error('{-----修改授权证书出错-----错误信息为--}' . $exception);
  1839. DB::rollback();
  1840. return $this->error(40013, '修改授权证书出错');
  1841. }
  1842. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  1843. }
  1844. //恢复误删除人员信息
  1845. public function restoreUserInfo(Request $request){
  1846. $input=$request->all();
  1847. $mobile=$input['mobile'];
  1848. $ids=$input['ids'];
  1849. $rules = [
  1850. 'mobile' => [
  1851. 'required',
  1852. 'regex:/^1[3456789][0-9]{9}$/'
  1853. ],
  1854. ];
  1855. $messages = [
  1856. 'mobile.required' => '手机号不能为空.',
  1857. 'mobile.regex' => '手机号格式有误.',
  1858. ];
  1859. $uuu = new User();
  1860. $validator = $uuu->validator($input, $rules, $messages);
  1861. if ($validator->fails()) {
  1862. return $this->error('400013', $validator->errors()->first());
  1863. }
  1864. DB::beginTransaction();
  1865. try {
  1866. $result1=User::where('mobile',$input['mobile'])->first();
  1867. if($result1){
  1868. return $this->error('450001','该手机号用户未被删除,核对后再操作');
  1869. }
  1870. $result=User::onlyTrashed()->where('mobile',$input['mobile'])->first();
  1871. if(!$result){
  1872. return $this->error('450001','手机号信息有误,核对后再操作');
  1873. }
  1874. User::withTrashed()->where('mobile',$input['mobile'])->restore();
  1875. $this->addAgentOperationLog('41', $result->id, '撤销删除状态', '撤销删除状态');
  1876. Log::info('用户'.$input['mobile'].'被恢复');
  1877. foreach(json_decode($ids,true) as $valvv){
  1878. $user = User::find($valvv);//当前用户
  1879. if ($user->recom_id) {
  1880. $recom_id = $user->recom_id;
  1881. } else {
  1882. $recom_id = '暂无';
  1883. }
  1884. if ($user->agent_id) {
  1885. $up_id = $user->agent_id;
  1886. } else {
  1887. $up_id = '暂无';
  1888. }
  1889. // $agentCount = User::where(function ($query) use ($input) {
  1890. // $query->where('recom_id', '=', $input['id'])
  1891. // ->orWhere('agent_id', '=', $input['id']);
  1892. // })->count();
  1893. //代理邀请人员后,或者成为上级后不能变更推荐人
  1894. // if($agentCount>0){
  1895. // return $this->error('400112','当前用户邀请人信息不能修改');
  1896. // }
  1897. $recomUser = User::where("mobile", $input['mobile'])->first();//新邀请人信息
  1898. if (empty($recomUser)) {
  1899. return $this->error('400115', '邀请人信息不存在');
  1900. }
  1901. if ($user->recom_id == $recomUser->id) {
  1902. return $this->error('400111', '要更改的邀请人与当前邀请人相同');
  1903. }
  1904. if ($user->id == $recomUser->recom_id) {
  1905. return $this->error('400116', '要更改的邀请人的邀请人为自己');
  1906. }
  1907. if ($user->id == $recomUser->id) {
  1908. return $this->error('400116', '要更改的邀请人不能为自己');
  1909. }
  1910. $uuu = new User();
  1911. $rechecking = $uuu->changeRecomSystem($valvv, $input['mobile']);
  1912. if ($rechecking == '222') {
  1913. return $this->error('400116', '要更改的邀请人为当前代理邀请人系统体系内部成员');
  1914. }
  1915. if ($user->level == '3') {
  1916. $user->recom_id = $recomUser->id;
  1917. $user->agent_id = '1';
  1918. $user->crown_id = '';
  1919. if ($user->warea_id != $recomUser->warea_id) {
  1920. $user->warea_id = $recomUser->warea_id;
  1921. $one_agent = User::where('agent_id', $user->id)->pluck('id');
  1922. if (count($one_agent) > 0) {
  1923. User::whereIn('id', $one_agent)->update(['warea_id' => $recomUser->warea_id]);
  1924. foreach ($one_agent as $key => $val) {
  1925. $two_agent = User::where('agent_id', $val)->pluck('id');
  1926. if (count($two_agent) > 0) {
  1927. User::whereIn('id', $two_agent)->update(['warea_id' => $recomUser->warea_id]);
  1928. }
  1929. }
  1930. }
  1931. }
  1932. } else {
  1933. if ($recomUser->level == '3') {
  1934. $user->recom_id = $recomUser->id;
  1935. $user->agent_id = $recomUser->id;
  1936. $user->crown_id = $recomUser->id;
  1937. $user->warea_id = $recomUser->warea_id;
  1938. if ($user->level == '2') {
  1939. $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->id);
  1940. } elseif ($user->level == '1') {
  1941. $uuu->changeAgentLevelInfoThree($user->id, $recomUser->id, $recomUser->id);
  1942. }
  1943. $uuu->changeAgentRecomCrown($user->id, $recomUser->id, $recomUser->warea_id);
  1944. } elseif ($recomUser->level == '2') {
  1945. if ($user->level == '2') {
  1946. $user->recom_id = $recomUser->id;
  1947. $user->agent_id = $recomUser->agent_id;
  1948. $user->crown_id = $recomUser->crown_id;
  1949. $user->warea_id = $recomUser->warea_id;
  1950. $uuu->changeAgentLevelInfoTwo($user->id, $recomUser->agent_id);
  1951. } elseif ($user->level == '1') {
  1952. $user->recom_id = $recomUser->id;
  1953. $user->agent_id = $recomUser->id;
  1954. $user->crown_id = $recomUser->crown_id;
  1955. $user->warea_id = $recomUser->warea_id;
  1956. $uuu->changeAgentLevelInfoThree($user->id, $recomUser->agent_id, $recomUser->id);
  1957. }
  1958. $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
  1959. } elseif ($recomUser->level == '1') {
  1960. $recomAgent = User::find($recomUser->agent_id);
  1961. if ($user->level == '2') {
  1962. $user->recom_id = $recomUser->id;
  1963. $user->agent_id = $recomAgent->agent_id;
  1964. $user->crown_id = $recomUser->crown_id;
  1965. $user->warea_id = $recomUser->warea_id;
  1966. $uuu->changeAgentLevelInfoTwo($user->id, $recomAgent->agent_id);
  1967. } elseif ($user->level == '1') {
  1968. $user->recom_id = $recomUser->id;
  1969. $user->agent_id = $recomUser->agent_id;
  1970. $user->crown_id = $recomUser->crown_id;
  1971. $user->warea_id = $recomUser->warea_id;
  1972. $uuu->changeAgentLevelInfoThree($user->id, $recomAgent->agent_id, $recomUser->agent_id);
  1973. }
  1974. $uuu->changeAgentRecomCrown($user->id, $recomUser->crown_id, $recomUser->warea_id);
  1975. }
  1976. }
  1977. $row = $user->save();
  1978. $remark = '恢复';
  1979. $before = User::where('id', $recom_id)->select('id', 'nickname', 'mobile')->first();
  1980. $after = ['id' => $recomUser->id, 'nickname' => $recomUser->nickname, 'mobile' => $recomUser->mobile];
  1981. $log = '变更前邀请人:' . json_encode($before, JSON_UNESCAPED_UNICODE) . ',变更后邀请人:' . json_encode($after, JSON_UNESCAPED_UNICODE);
  1982. $this->addAgentOperationLog('3', $user->id, $remark, $log);
  1983. event(new ChangeRecom($user));
  1984. 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 . ')');
  1985. }
  1986. DB::commit();
  1987. return $this->success([]);
  1988. }catch(Exception $e){
  1989. DB::rollBack();
  1990. return $this->error($e->getMessage());
  1991. }
  1992. }
  1993. }