AuditController.php 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678
  1. <?php
  2. namespace App\Http\Controllers;
  3. /*----代理邀请控制器----*/
  4. //use App\Http\Requests\UserRequest;
  5. use App\Events\AgentAuditEvent;
  6. use App\Events\AgentAuditServiceEvent;
  7. use App\Events\UserMessageEvent;
  8. use App\Models\UserCert;
  9. //use App\User;
  10. use Carbon\Carbon;
  11. use Illuminate\Http\Request;
  12. use Illuminate\Support\Facades\Auth;
  13. use Illuminate\Support\Facades\DB;
  14. use Illuminate\Support\Facades\Log;
  15. use Illuminate\Support\Facades\Storage;
  16. use App\Models\User;
  17. class AuditController extends Controller
  18. {
  19. /*---代理邀请>>>邀请人审核记录----*/
  20. public function recom_sure_record(Request $request)
  21. {
  22. $user=Auth::user();
  23. $id=$user->id;
  24. if ($request->type==0){//:id,nickname,mobile,level,cre_num
  25. $data = UserCert::where('recom_id', $id)->orderBy('recom_audit')->orderByDesc('created_at')->paginate(15);
  26. }elseif ($request->type==1){
  27. $data = UserCert::where('agent_id',$id)->orderBy('agent_audit')->orderByDesc('created_at')->paginate(15);
  28. }else{
  29. $data = UserCert::whereHas('user_info',function($query)use($id){
  30. $query->where('crown_id',$id);
  31. })->orderBy('company_audit')->orderByDesc('created_at')->paginate(15);
  32. // $data = User::with(['recom_user','agent_user','cert_info'])->where('crown_id',$id)->orderBy('service_status')->orderByDesc('created_at')->paginate(15);
  33. }
  34. $datas=[];
  35. $total=$data->toArray();
  36. foreach ($data as $k => $v) {
  37. $datas[$k]['id'] = $v->id;
  38. $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称
  39. $datas[$k]['apply_phone'] = $v->user_info->mobile;//申请人昵称
  40. $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称
  41. $datas[$k]['apply_time'] = Carbon::parse($v->created_at)->toDateTimeString();//申请人申请时间
  42. $datas[$k]['intive_status'] = $v->recom_audit;//申请状态
  43. $datas[$k]['intive_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因
  44. $datas[$k]['up_status'] = $v->agent_audit;//申请状态
  45. $datas[$k]['up_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因
  46. $datas[$k]['level']=$v->user_info->level==null?'':judge_level($v->user_info->level);
  47. $datas[$k]['real_name']=$v->user_info->realname;
  48. $datas[$k]['id_card_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num;
  49. $company_status=$v->company_audit;
  50. if(empty($v->company_audit)){
  51. // return $v->user_info->service_status;
  52. if($v->user_info->service_status==0){
  53. $company_status=1;
  54. UserCert::where('id',$v->id)->update(['company_audit'=>1]);
  55. }elseif($v->user_info->service_status==2){
  56. $company_status=2;
  57. UserCert::where('id',$v->id)->update(['company_audit'=>2]);
  58. }else{
  59. $company_status=0;
  60. UserCert::where('id',$v->id)->update(['company_audit'=>0]);
  61. }
  62. }
  63. $datas[$k]['company_status'] = $company_status;//申请状态
  64. $datas[$k]['company_cause'] = $v->company_audit_desc?:'';//驳回原因
  65. $datas[$k]['is_five_type'] = $v->is_five_type?:1;//满5套
  66. $datas[$k]['five_amount_img'] = $v->five_amount_img?:'';//满5套收款截图
  67. $datas[$k]['five_sale_img'] = $v->five_sale_img?:'';//满5套销售截图
  68. $datas[$k]['five_img_remark'] = $v->five_img_remark?:'';//满5套截图备注
  69. }
  70. return $this->success_list($datas,'',$total['total']);
  71. }
  72. public function recom_sure_record_num(Request $request)
  73. {
  74. $user=Auth::user();
  75. $id=$user->id;
  76. $data['recom_num'] =UserCert::where('recom_id',$id)->where('recom_audit',0)->count();
  77. $data['agent_num']=UserCert::where('agent_id',$id)->where('recom_audit',1)->where('agent_audit',0)->count();
  78. if($user->level==3){
  79. $data['company_num'] = UserCert::whereHas('user_info',function($query)use($id){
  80. $query->where('crown_id',$id)->where('service_status',1);
  81. })->where('agent_audit',1)->count();
  82. }
  83. return $this->success($data);
  84. }
  85. /**----代理邀请>>>>>上级审核记录-----**/
  86. public function agent_sure_record()
  87. {
  88. $user=Auth::user();
  89. $id=$user->id;
  90. // $id = 1;
  91. $data = UserCert::where('agent_id', $id)->where('recom_audit', 1)->orderBy('agent_audit')->orderByDesc('created_at')->paginate(15);
  92. $datas = [];
  93. foreach ($data as $k => $v) {
  94. $datas[$k]['id'] = $v->id;
  95. $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称
  96. $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称
  97. $datas[$k]['apply_time'] = $v->created_at;//申请人申请时间
  98. $datas[$k]['apply_status'] = $v->recom_audit;//申请状态
  99. $datas[$k]['apply_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因
  100. $datas[$k]['agent_status'] = $v->agent_audit;//申请状态
  101. $datas[$k]['agent_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因
  102. $datas[$k]['apply_real_name']=$v->v->user_info->realname;
  103. $datas[$k]['cre_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num;
  104. $ddtas[$k]['mobile']=$v->user_info->mobile;
  105. $ddtas[$k]['level']=judge_level($v->user_info->level);
  106. }
  107. return $this->success_list($datas);
  108. }
  109. /**---代理邀请>>>>>邀请人审核---**/
  110. public function recom_sure_show(Request $request)
  111. {
  112. $userCert = UserCert::find($request->id);
  113. $datas['id'] = $userCert->id;
  114. $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称
  115. $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称
  116. $datas['apply_time'] = $userCert->created_at;//申请人申请时间
  117. $datas['apply_status'] = $userCert->recom_audit;//申请状态
  118. $datas['nickname'] = $userCert->user_info->nickname;
  119. $datas['realname'] = $userCert->user_info->realname;
  120. $datas['id_card_num'] = $userCert->user_info->cre_num;
  121. $datas['mobile'] = $userCert->user_info->mobile;
  122. return $this->success($datas);
  123. }
  124. /**---代理邀请>>>>>邀请人审核---**/
  125. public function agent_sure_show(Request $request)
  126. {
  127. $userCert = UserCert::find($request->id);
  128. // $userCert->recom_id=1;
  129. // $userCert->save();
  130. $datas['id'] = $userCert->id;
  131. $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称
  132. $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称
  133. $datas['apply_time'] = $userCert->created_at;//申请人申请时间
  134. $datas['agent_status'] = $userCert->agent_audit;//申请状态
  135. $datas['nickname'] = $userCert->user_info->nickname;
  136. $datas['realname'] = $userCert->user_info->realname;
  137. $datas['cre_num'] = $userCert->user_info->cre_num;
  138. $datas['mobile'] = $userCert->user_info->mobile;
  139. return $this->success($datas);
  140. }
  141. /**---代理邀请>>>>邀请人审核--**/
  142. public function recom_audit(Request $request)
  143. {
  144. // Log::info($request);
  145. $users = Auth::user();
  146. $users=User::find($users->id);
  147. $usercert=UserCert::find($request->id);
  148. //邀请人审核
  149. if ($request->type=='invite'){
  150. //邀请人审核驳回
  151. if ($request->action=='reject'){
  152. $usercert->recom_audit=2;
  153. $usercert->recom_audit_desc=$request->cause;
  154. $usercert->save();
  155. $user=User::find($usercert->user_id);
  156. $user->cert_status=4;
  157. $user->save();
  158. //通知用户邀请人审核驳回
  159. if($user->openid){
  160. Log::info('很抱歉,您的注册申请在邀请人审核过程中被驳回,请核对信息后再次提交审核!');
  161. $mes['openid']=$user->openid;
  162. $mes['data']=[
  163. 'first' => '很抱歉,您的注册申请在邀请人审核过程中被驳回,请核对信息后再次提交审核!',
  164. 'keyword1' => '邀请人审核失败',
  165. 'keyword2' => date("Y-m-d H:i"),
  166. 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情',
  167. ];
  168. event(new UserMessageEvent($mes));
  169. }
  170. return $this->success([]);
  171. }
  172. //邀请人审核通过
  173. if ($request->action=='pass'){
  174. $level_user = $users->level; //当前代理等级
  175. $user=User::find($usercert->user_id);
  176. // $level=$user->level;//被审核代理等级
  177. // if ($request->has('level')){
  178. // $level = $request->level; //被审核代理等级
  179. // }else{
  180. $level=1; //新注册代理等级都为 1
  181. // }
  182. if ($level == 1) {
  183. if ($level_user == 1) {
  184. $agent_id = $users->agent_id;
  185. } elseif ($level_user == 2 || $level_user == 3) {
  186. $agent_id = $users->id;
  187. }
  188. } elseif ($level == 2) {
  189. if ($level_user == 3) {
  190. $agent_id=$users->id;
  191. // $agent = $this->look_level($users->agent_id);
  192. // if ($agent['level'] == 2) {
  193. // $agent_id = $agent['agent_id'];
  194. // } elseif ($agent['level'] == 3) {
  195. // $agent_id = $agent['id'];
  196. // } else {
  197. // Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString());
  198. // }
  199. }elseif ($level_user==2){
  200. $agent_id=$users->agent_id;
  201. }else{
  202. $agent = $this->look_level($users->agent_id);
  203. if ($agent['level']==2){
  204. $agent_id=$agent['agent_id'];
  205. }else{
  206. $agent_id=$agent['id'];
  207. }
  208. }
  209. } elseif ($level == 3) {
  210. $agent_id = 1;
  211. } else {
  212. Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString());
  213. return $this->error('400','本次审核的代理等级有误,不能继续审核');
  214. }
  215. $usercert->agent_id = $agent_id;
  216. $usercert->recom_audit = 1;
  217. $usercert->five_amount_img = $request->input('amount_img',null)?json_encode($request->input('amount_img',null)):null;
  218. $usercert->five_sale_img = $request->input('sale_img',null)?json_encode($request->input('sale_img',null)):null;
  219. $usercert->five_img_remark = $request->input('remark',null)?:null;
  220. $usercert->save();
  221. $user->crown_id = $users->crown_id;
  222. if($users->level==3){
  223. $user->crown_id =$users->id;
  224. }
  225. $user->agent_id = $agent_id;
  226. $user->level = $level;
  227. $user->cert_status =2;
  228. $user->warea_id=$users->warea_id;
  229. $user->save();
  230. /**如果上级和邀请人一样,直接通过审核**/
  231. if ($user->agent_id==$user->recom_id){
  232. $res=$this->agent_audit($request->id,'pass',null,1);
  233. if($res['status']){
  234. if($res['n']==1){
  235. //通过邀请人和上级审核,通知代理公司审核
  236. if($user->openid){//通知用户
  237. Log::info('恭喜您,您的注册申请已通过邀请人和上级审核,请等待代理公司审核!');
  238. $mes['openid']=$user->openid;
  239. $mes['data']=[
  240. 'first' => '恭喜您,您的注册申请已通过邀请人和上级审核,请等待代理公司审核!',
  241. 'keyword1' => '上级审核成功,待代理公司审核',
  242. 'keyword2' => date("Y-m-d H:i"),
  243. 'remark' => '点击链接进入系统,查看详情',
  244. ];
  245. event(new UserMessageEvent($mes));
  246. }
  247. //通知代理公司审核
  248. if($openid=User::where('id',$user->crown_id)->value('openid')){
  249. Log::info('您的团队代理已通过上级审核,等待您继续审核!');
  250. $mes['openid']=$openid;
  251. $mes['data']=[
  252. 'first' => '您的团队代理已通过上级审核,等待您继续审核!',
  253. 'keyword1' => $user->nickname,
  254. 'keyword2' => '上级审核成功,待代理公司审核',
  255. 'keyword3' => date("Y-m-d H:i"),
  256. 'remark' => '点击链接进入系统,查看详情',
  257. ];
  258. event(new AgentAuditEvent($mes));
  259. };
  260. }
  261. if($res['n']==2){
  262. //通过邀请人和上级审核和代理公司审核
  263. if($user->openid){//通知用户
  264. Log::info('恭喜您,您的注册申请已全部通过审核!');
  265. $mes['openid']=$user->openid;
  266. $mes['data']=[
  267. 'first' => '恭喜您,您的注册申请已全部通过审核!',
  268. 'keyword1' => '代理公司审核成功',
  269. 'keyword2' => date("Y-m-d H:i"),
  270. 'remark' => '点击链接进入系统,查看详情',
  271. ];
  272. event(new UserMessageEvent($mes));
  273. }
  274. if ($user->warea_id){//通知政委
  275. $me['id']=$user->warea_id;
  276. $me['data']=[
  277. 'first' => '您有新的代理已完成代理公司审核!',
  278. 'keyword1' => $user->nickname.' ('.$user->mobile.')',
  279. 'keyword2' => '代理公司审核成功',
  280. 'keyword3' => date("Y-m-d H:i"),
  281. 'remark' => '点击链接进入系统,查看详情',
  282. ];
  283. event(new AgentAuditServiceEvent($me));
  284. }
  285. }
  286. }
  287. }else{
  288. if($user->openid){//通知用户
  289. Log::info('恭喜您,您的注册申请已通过邀请人审核,请等待上级审核!');
  290. $mes['openid']=$user->openid;
  291. $mes['data']=[
  292. 'first' => '恭喜您,您的注册申请已通过邀请人审核,请等待上级审核!',
  293. 'keyword1' => '邀请人审核成功,待上级审核',
  294. 'keyword2' => date("Y-m-d H:i"),
  295. 'remark' => '点击链接进入系统,查看详情',
  296. ];
  297. event(new UserMessageEvent($mes));
  298. }
  299. $agent_up=User::where('id',$user->agent_id)->first();
  300. if($agent_up->openid){//通知上级
  301. Log::info('您的下级代理已通过邀请人审核,等待您继续审核');
  302. $mes['openid']=$agent_up->openid;
  303. $mes['data']=[
  304. 'first' => '您的下级代理已通过邀请人审核,等待您继续审核',
  305. 'keyword1' => $user->nickname,
  306. 'keyword2' => '通过邀请人审核,等待上级审核',
  307. 'keyword3' => date("Y-m-d H:i"),
  308. 'remark' => '点击链接进入系统,查看详情',
  309. ];
  310. event(new AgentAuditEvent($mes));
  311. }
  312. }
  313. return $this->success([]);
  314. }
  315. } elseif ($request->type=='up'){
  316. if ($request->has('cause')){
  317. $res=$this->agent_audit($request->id,$request->action,$request->cause,1);
  318. if($res['status']){
  319. $usercert=UserCert::where('id',$request->id)->first();
  320. $user=User::find($usercert->user_id);
  321. if($user->openid){//通知用户
  322. Log::info('很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核');
  323. $mes['openid']=$user->openid;
  324. $mes['data']=[
  325. 'first' => '很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核',
  326. 'keyword1' => '上级审核失败',
  327. 'keyword2' => date("Y-m-d H:i"),
  328. 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情',
  329. ];
  330. event(new UserMessageEvent($mes));
  331. }
  332. return $this->success([]);
  333. }else{
  334. return $this->error();
  335. }
  336. }else{
  337. $usercert=UserCert::where('id',$request->id)->first();
  338. if ($usercert->recom_audit!=1){
  339. return $this->error(50021,'','请先通过邀请人审核');
  340. }
  341. $res=$this->agent_audit($request->id,$request->action,null,1);
  342. if($res['status']){
  343. $usercert=UserCert::where('id',$request->id)->first();
  344. $user=User::find($usercert->user_id);
  345. //通知
  346. if($res['n']==1){
  347. //仅通过上级审核,通知代理公司审核
  348. if($user->openid){//通知用户
  349. Log::info('恭喜您,您的注册申请已通过上级审核,请等待代理公司审核!');
  350. $mes['openid']=$user->openid;
  351. $mes['data']=[
  352. 'first' => '恭喜您,您的注册申请已通过上级审核,请等待代理公司审核!',
  353. 'keyword1' => '上级审核成功,待代理公司审核',
  354. 'keyword2' => date("Y-m-d H:i"),
  355. 'remark' => '点击链接进入系统,查看详情',
  356. ];
  357. event(new UserMessageEvent($mes));
  358. }
  359. //通知代理公司审核
  360. if($openid=User::where('id',$user->crown_id)->value('openid')){
  361. Log::info('您的团队代理已通过上级审核,等待您继续审核!');
  362. $mes['openid']=$openid;
  363. $mes['data']=[
  364. 'first' => '您的团队代理已通过上级审核,等待您继续审核!',
  365. 'keyword1' => $user->nickname,
  366. 'keyword2' => '上级审核成功,待代理公司审核',
  367. 'keyword3' => date("Y-m-d H:i"),
  368. 'remark' => '点击链接进入系统,查看详情',
  369. ];
  370. event(new AgentAuditEvent($mes));
  371. };
  372. }
  373. if($res['n']==2){
  374. //通过上级和代理公司审核
  375. if($user->openid){//通知用户
  376. Log::info('恭喜您,您的注册申请已通过上级和代理公司审核!');
  377. $mes['openid']=$user->openid;
  378. $mes['data']=[
  379. 'first' => '恭喜您,您的注册申请已通过上级和代理公司审核!',
  380. 'keyword1' => '待代理公司审核成功',
  381. 'keyword2' => date("Y-m-d H:i"),
  382. 'remark' => '点击链接进入系统,查看详情',
  383. ];
  384. event(new UserMessageEvent($mes));
  385. }
  386. if ($user->warea_id){//通知政委
  387. $me['id']=$user->warea_id;
  388. $me['data']=[
  389. 'first' => '您有新的代理已完成代理公司审核!',
  390. 'keyword1' => $user->nickname.' ('.$user->mobile.')',
  391. 'keyword2' => '代理公司审核成功',
  392. 'keyword3' => date("Y-m-d H:i"),
  393. 'remark' => '点击链接进入系统,查看详情',
  394. ];
  395. event(new AgentAuditServiceEvent($me));
  396. }
  397. }
  398. return $this->success([]);
  399. }else{
  400. return $this->error();
  401. }
  402. }
  403. } elseif($request->type=='company') {
  404. if ($request->has('cause')){
  405. // return $this->error('450001','代理公司暂时不能驳回!');
  406. $res=$this->company_audit($request->id,$request->action,$request->cause,1);
  407. if($res['status']){
  408. $usercert=UserCert::where('id',$request->id)->first();
  409. $user=User::find($usercert->user_id);
  410. if($user->openid){//通知用户
  411. Log::info('很抱歉,您的注册申请在代理公司审核中被驳回,请核对信息后再次提交审核');
  412. $mes['openid']=$user->openid;
  413. $mes['data']=[
  414. 'first' => '很抱歉,您的注册申请在代理公司审核中被驳回,请核对信息后再次提交审核',
  415. 'keyword1' => '代理公司审核失败',
  416. 'keyword2' => date("Y-m-d H:i"),
  417. 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情',
  418. ];
  419. event(new UserMessageEvent($mes));
  420. }
  421. return $this->success([]);
  422. }else{
  423. return $this->error();
  424. }
  425. }else{
  426. $res=$this->company_audit($request->id,$request->action,null,1);
  427. Log::info($res);
  428. if($res['status']){
  429. $usercert=UserCert::where('id',$request->id)->first();
  430. $user=User::find($usercert->user_id);
  431. //通知
  432. if($user->openid){//通知用户
  433. Log::info('恭喜您,您的注册申请已通过代理公司审核');
  434. $mes['openid']=$user->openid;
  435. $mes['data']=[
  436. 'first' => '恭喜您,您的注册申请已通过代理公司审核',
  437. 'keyword1' => '代理公司审核成功',
  438. 'keyword2' => date("Y-m-d H:i"),
  439. 'remark' => '点击链接进入系统,查看详情',
  440. ];
  441. event(new UserMessageEvent($mes));
  442. }
  443. if ($user->warea_id){//通知政委
  444. $me['id']=$user->warea_id;
  445. $me['data']=[
  446. 'first' => '您有新的代理已完成代理公司审核!',
  447. 'keyword1' => $user->nickname.' ('.$user->mobile.')',
  448. 'keyword2' => '代理公司审核成功',
  449. 'keyword3' => date("Y-m-d H:i"),
  450. 'remark' => '点击链接进入系统,查看详情',
  451. ];
  452. event(new AgentAuditServiceEvent($me));
  453. }
  454. return $this->success([]);
  455. }else{
  456. return $this->error();
  457. }
  458. }
  459. }
  460. }
  461. //上级审核
  462. public function agent_audit($id,$action,$cause=null,$n){
  463. $users=Auth::user();
  464. if ($action=='reject'){
  465. try{
  466. $usercert=UserCert::find($id);
  467. $usercert->agent_audit=2;
  468. $usercert->agent_audit_desc=$cause;
  469. $user=User::find($usercert->user_id);
  470. $user->cert_status=5;
  471. DB::transaction(function()use($usercert,$user){
  472. $usercert->save();
  473. $user->save();
  474. },5);
  475. return ['status'=>true,'n'=>$n];
  476. }catch(\Exception $e){
  477. Log::info($e->getMessage());
  478. return ['status'=>false,'n'=>$n];
  479. }
  480. // if($user->openid){//通知用户
  481. // $mes['openid']=$user->openid;
  482. // $mes['data']=[
  483. // 'first' => '很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核',
  484. // 'keyword1' => '上级审核失败',
  485. // 'keyword2' => date("Y-m-d H:i"),
  486. // 'remark' => $cause.PHP_EOL.'点击链接进入系统,查看详情',
  487. // ];
  488. // event(new UserMessageEvent($mes));
  489. // }
  490. // return $this->success([]);
  491. }
  492. if ($action=='pass'){
  493. try{
  494. $usercert = UserCert::find($id);
  495. $usercert->agent_audit = 1;
  496. $ids=$usercert->user_id;
  497. $user = User::find($usercert->user_id);
  498. $user->cert_status =3;
  499. $user->auth_code=$this->user_certs($ids);
  500. $user->auth_startime=Carbon::now()->toDateTimeString();
  501. $user->auth_endtime=Carbon::now()->addYear('1')->toDateTimeString();
  502. $user->created_at=Carbon::now();
  503. $user->service_time=Carbon::now();
  504. DB::transaction(function()use($usercert,$user){
  505. $usercert->save();
  506. $user->save();
  507. },5);
  508. if($user->agent_id == $user->crown_id){
  509. $res=$this->company_audit($id,'pass',null,$n++);//n==2
  510. if($res['status']){
  511. return ['status'=>true,'n'=>$n];//n==2
  512. }
  513. }
  514. return ['status'=>true,'n'=>$n];//n==1
  515. }catch(\Exception $e){
  516. Log::info($e->getMessage());
  517. return ['status'=>false,'n'=>$n];
  518. }
  519. // if($user->openid){//通知用户
  520. // $mes['openid']=$user->openid;
  521. // $mes['data']=[
  522. // 'first' => '恭喜您,您的注册申请已通过上级审核,现正在等待政委审核!',
  523. // 'keyword1' => '上级审核成功,待政委审核',
  524. // 'keyword2' => date("Y-m-d H:i"),
  525. // 'remark' => '点击链接进入系统,查看详情',
  526. // ];
  527. // event(new UserMessageEvent($mes));
  528. // }
  529. // if ($user->warea_id){
  530. // $me['id']=$user->warea_id;
  531. // $me['data']=[
  532. // 'first' => '您有新的代理需要审核!',
  533. // 'keyword1' => $user->nickname,
  534. // 'keyword2' => '上级审核成功,待政委审核',
  535. // 'keyword3' => date("Y-m-d H:i"),
  536. // 'remark' => '点击链接进入系统,查看详情',
  537. // ];
  538. // event(new AgentAuditServiceEvent($me));
  539. // }
  540. //获取邀请人信息
  541. // $agent_recom=User::where('id',$user->recom_id)->first();
  542. // if($agent_recom->openid){//通知上级
  543. // $mes['openid']=$agent_recom->openid;
  544. // $mes['data']=[
  545. // 'first' => '您邀请的代理已通过上级审核,现正在等待政委审核',
  546. // 'keyword1' => $user->nickname,
  547. // 'keyword2' => '通过上级审核,待政委审核',
  548. // 'keyword3' => date("Y-m-d H:i"),
  549. // 'remark' => '点击链接进入系统,查看详情',
  550. // ];
  551. // event(new AgentAuditEvent($mes));
  552. // }
  553. return 200;
  554. }
  555. return 300;
  556. }
  557. //代理公司审核
  558. public function company_audit($id,$type,$cause=null,$n){
  559. $usercert = UserCert::find($id);
  560. $user=User::find($usercert->user_id);
  561. if($type == 'pass'){
  562. try{
  563. $usercert->company_audit=1;
  564. $usercert->company_updated_at=Carbon::now();
  565. $user->service_status=0;
  566. Log::info($usercert);
  567. DB::transaction(function()use($usercert,$user){
  568. $user->save();
  569. $usercert->save();
  570. },5);
  571. return ['status'=>true,'n'=>$n];
  572. }catch(\Exception $e){
  573. Log::info($e->getMessage());
  574. return ['status'=>false,'n'=>$n];
  575. }
  576. }
  577. if($type == 'reject'){
  578. try{
  579. $usercert->recom_audit=0;
  580. $usercert->recom_audit_desc=null;
  581. $usercert->recom_updated_at=null;
  582. $usercert->agent_id=null;
  583. $usercert->agent_audit=0;
  584. $usercert->agent_audit_desc=null;
  585. $usercert->agent_updated_at=null;
  586. $usercert->company_audit=0;
  587. $usercert->company_audit_desc=null;
  588. $usercert->company_updated_at=null;
  589. $usercert->notice_in_group_at=null;
  590. $usercert->notice_remark=Carbon::now()->toDateTimeString().'-代理公司(id:'.$user->crown_id.')审核驳回';
  591. $user->cert_status=1;
  592. $user->service_status=1;
  593. $user->agent_id=null;
  594. $user->crown_id=null;
  595. $user->warea_id=null;
  596. // $usercert->company_audit=2;
  597. // $usercert->company_updated_at=Carbon::now();
  598. // $usercert->company_audit_desc=$cause;
  599. // $user->service_status=2;
  600. DB::transaction(function()use($usercert,$user){
  601. $user->save();
  602. $usercert->save();
  603. },5);
  604. return ['status'=>true,'n'=>$n];
  605. }catch(\Exception $e){
  606. Log::info($e->getMessage());
  607. return ['status'=>false,'n'=>$n];
  608. }
  609. }
  610. }
  611. public function look_level($id)
  612. {
  613. $user = User::find($id);
  614. return ['level' => $user->level, 'agent_id' => $user->agent_id, 'id' => $user->id];
  615. }
  616. //上传5套截图
  617. public function uploadFiveImage(Request $request){
  618. $path_url = 'public/audit/' . date("ymd");
  619. $path = $request->file('img')->store($path_url);
  620. if ($path) {
  621. $url = Storage::url($path);
  622. return $this->success($url);
  623. } else {
  624. return $this->error();
  625. }
  626. }
  627. /*
  628. * 用户确认审核通过,并生成授权码
  629. * */
  630. public function user_cert(){
  631. $user=Auth::user();
  632. $user->cert_status=6;
  633. $user->save();
  634. return $this->success([]);
  635. }
  636. public function user_certs($id){
  637. $phone=User::where('id',$id)->value('mobile');
  638. $code=auth_code($phone);
  639. $re=User::where('auth_code',$code)->first();
  640. if ($re){
  641. $code=$this->user_certs();
  642. return $code;
  643. }
  644. return $code;
  645. }
  646. }