UserController(beizhu).php 92 KB

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