AuditController.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  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 App\Models\User;
  16. class AuditController extends Controller
  17. {
  18. /*---代理邀请>>>邀请人审核记录----*/
  19. public function recom_sure_record(Request $request)
  20. {
  21. $user=Auth::user();
  22. $id=$user->id;
  23. if ($request->type==0){
  24. $data = UserCert::where('recom_id', $id)->orderBy('recom_audit')->orderByDesc('created_at')->paginate(15);
  25. }elseif ($request->type==1){
  26. $data = UserCert::where('agent_id',$id)->orderBy('recom_audit')->orderByDesc('created_at')->paginate(15);
  27. }
  28. $datas=[];
  29. $total=$data->toArray();
  30. foreach ($data as $k => $v) {
  31. $datas[$k]['id'] = $v->id;
  32. $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称
  33. $datas[$k]['apply_phone'] = $v->user_info->mobile;//申请人昵称
  34. $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称
  35. $datas[$k]['apply_time'] = Carbon::parse($v->created_at)->toDateTimeString();//申请人申请时间
  36. $datas[$k]['intive_status'] = $v->recom_audit;//申请状态
  37. $datas[$k]['intive_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因
  38. $datas[$k]['up_status'] = $v->agent_audit;//申请状态
  39. $datas[$k]['up_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因
  40. $datas[$k]['level']=$v->user_info->level==null?'':judge_level($v->user_info->level);
  41. $datas[$k]['real_name']=$v->user_info->realname;
  42. $datas[$k]['id_card_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num;
  43. // $ddtas[$k]['mobile']=$v->user_info->mobile;
  44. }
  45. // Log::error('{---------}'.json_encode($datas));
  46. return $this->success_list($datas,'',$total['total']);
  47. }
  48. /**----代理邀请>>>>>上级审核记录-----**/
  49. public function agent_sure_record()
  50. {
  51. $user=Auth::user();
  52. $id=$user->id;
  53. // $id = 1;
  54. $data = UserCert::where('agent_id', $id)->where('recom_audit', 1)->orderBy('agent_audit')->orderByDesc('created_at')->paginate(15);
  55. $datas = [];
  56. foreach ($data as $k => $v) {
  57. $datas[$k]['id'] = $v->id;
  58. $datas[$k]['apply_name'] = $v->user_info->nickname;//申请人昵称
  59. $datas[$k]['invite_name'] = $v->recom_user->nickname;//邀请人昵称
  60. $datas[$k]['apply_time'] = $v->created_at;//申请人申请时间
  61. $datas[$k]['apply_status'] = $v->recom_audit;//申请状态
  62. $datas[$k]['apply_cause'] = $v->recom_audit_desc==null?'':$v->recom_audit_desc;//驳回原因
  63. $datas[$k]['agent_status'] = $v->agent_audit;//申请状态
  64. $datas[$k]['agent_cause'] = $v->agent_audit_desc==null?'':$v->agent_audit_desc;//驳回原因
  65. $datas[$k]['apply_real_name']=$v->v->user_info->realname;
  66. $datas[$k]['cre_num']=$v->user_info->cre_num==null?'':$v->user_info->cre_num;
  67. $ddtas[$k]['mobile']=$v->user_info->mobile;
  68. $ddtas[$k]['level']=judge_level($v->user_info->level);
  69. }
  70. return $this->success_list($datas);
  71. }
  72. /**---代理邀请>>>>>邀请人审核---**/
  73. public function recom_sure_show(Request $request)
  74. {
  75. $userCert = UserCert::find($request->id);
  76. $datas['id'] = $userCert->id;
  77. $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称
  78. $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称
  79. $datas['apply_time'] = $userCert->created_at;//申请人申请时间
  80. $datas['apply_status'] = $userCert->recom_audit;//申请状态
  81. $datas['nickname'] = $userCert->user_info->nickname;
  82. $datas['realname'] = $userCert->user_info->realname;
  83. $datas['id_card_num'] = $userCert->user_info->cre_num;
  84. $datas['mobile'] = $userCert->user_info->mobile;
  85. return $this->success($datas);
  86. }
  87. /**---代理邀请>>>>>邀请人审核---**/
  88. public function agent_sure_show(Request $request)
  89. {
  90. $userCert = UserCert::find($request->id);
  91. // $userCert->recom_id=1;
  92. // $userCert->save();
  93. $datas['id'] = $userCert->id;
  94. $datas['apply_name'] = $userCert->user_info->nickname;//申请人昵称
  95. $datas['nickname'] = $userCert->recom_user->nickname;//邀请人昵称
  96. $datas['apply_time'] = $userCert->created_at;//申请人申请时间
  97. $datas['agent_status'] = $userCert->agent_audit;//申请状态
  98. $datas['nickname'] = $userCert->user_info->nickname;
  99. $datas['realname'] = $userCert->user_info->realname;
  100. $datas['cre_num'] = $userCert->user_info->cre_num;
  101. $datas['mobile'] = $userCert->user_info->mobile;
  102. return $this->success($datas);
  103. }
  104. /**---代理邀请>>>>邀请人审核--**/
  105. public function recom_audit(Request $request)
  106. {
  107. Log::error('{—————————————————审核———————————————}');
  108. $users = Auth::user();
  109. $users=User::find($users->id);
  110. Log::error('{--------------}'.json_encode($request->all()));
  111. if ($request->type=='invite'){
  112. Log::error('{—————————————————审核—————————1——————}');
  113. if ($request->action=='reject'){
  114. $usercert=UserCert::find($request->id);
  115. $usercert->recom_audit=2;
  116. $usercert->recom_audit_desc=$request->cause;
  117. $usercert->save();
  118. $user=User::find($usercert->user_id);
  119. $user->cert_status=4;
  120. $user->save();
  121. if($user->openid){//通知用户
  122. $mes['openid']=$user->openid;
  123. $mes['data']=[
  124. 'first' => '很抱歉,您的注册申请在邀请人审核过程中被驳回,请核对信息后再次提交审核!',
  125. 'keyword1' => '邀请人审核失败',
  126. 'keyword2' => date("Y-m-d H:i"),
  127. 'remark' => $request->cause.PHP_EOL.'点击链接进入系统,查看详情',
  128. ];
  129. event(new UserMessageEvent($mes));
  130. }
  131. return $this->success([]);
  132. }
  133. if ($request->action=='pass'){
  134. Log::error('{—————————————————审核—————2——————————}');
  135. $level_user = $users->level;
  136. // if ($request->has('level')){
  137. // $level = $request->level;
  138. // }else{
  139. $level=1;
  140. // }
  141. if ($level == 1) {
  142. if ($level_user == 1) {
  143. $agent_id = $users->agent_id;
  144. } elseif ($level_user == 2 || $level_user == 3) {
  145. $agent_id = $users->id;
  146. }
  147. } elseif ($level == 2) {
  148. if ($level_user == 3) {
  149. $agent_id=$users->id;
  150. // $agent = $this->look_level($users->agent_id);
  151. // if ($agent['level'] == 2) {
  152. // $agent_id = $agent['agent_id'];
  153. // } elseif ($agent['level'] == 3) {
  154. // $agent_id = $agent['id'];
  155. // } else {
  156. // Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString());
  157. // }
  158. }elseif ($level_user==2){
  159. $agent_id=$users->agent_id;
  160. }else{
  161. $agent = $this->look_level($users->agent_id);
  162. if ($agent['level']==2){
  163. $agent_id=$agent['agent_id'];
  164. }else{
  165. $agent_id=$agent['id'];
  166. }
  167. }
  168. } elseif ($level == 3) {
  169. $agent_id = 1;
  170. } else {
  171. Log::error('{---AuditController/recom_audit()---数据出错-----时间为:}' . Carbon::now()->toDateTimeString());
  172. }
  173. Log::error('{—————————————————审核———3————————————}');
  174. $usercert = UserCert::find($request->id);
  175. $user_id=$usercert->user_id;
  176. $usercert->agent_id = $agent_id;
  177. $usercert->recom_audit = 1;
  178. $usercert->save();
  179. Log::error('{—————————————————审核————4———————————}');
  180. $user = User::find($user_id);
  181. $user->agent_id = $agent_id;
  182. $user->level = $level;
  183. $user->cert_status =2;
  184. $user->warea_id=$users->warea_id;
  185. $user->save();
  186. if($user->openid){//通知用户
  187. $mes['openid']=$user->openid;
  188. $mes['data']=[
  189. 'first' => '恭喜您,您的注册申请已通过邀请人审核,请等待上级审核!',
  190. 'keyword1' => '邀请人审核成功,待上级审核',
  191. 'keyword2' => date("Y-m-d H:i"),
  192. 'remark' => '点击链接进入系统,查看详情',
  193. ];
  194. event(new UserMessageEvent($mes));
  195. }
  196. //获取上级信息
  197. $agent_up=User::where('id',$user->agent_id)->first();
  198. if($agent_up->openid){//通知上级
  199. $mes['openid']=$agent_up->openid;
  200. $mes['data']=[
  201. 'first' => '您的下级代理已通过邀请人审核,等待您继续审核',
  202. 'keyword1' => $user->nickname,
  203. 'keyword2' => '通过邀请人审核,等待上级审核',
  204. 'keyword3' => date("Y-m-d H:i"),
  205. 'remark' => '点击链接进入系统,查看详情',
  206. ];
  207. event(new AgentAuditEvent($mes));
  208. }
  209. return $this->success([]);
  210. }
  211. return $this->error(300);
  212. }
  213. elseif ($request->type=='up'){
  214. if ($request->has('cause')){
  215. $code=$this->agent_audit($request->id,$request->action,$request->cause);
  216. }else{
  217. $code=$this->agent_audit($request->id,$request->action);
  218. }
  219. return $this->error($code);
  220. }
  221. }
  222. public function agent_audit($id,$action,$cause=null){
  223. $users=Auth::user();
  224. if ($action=='reject'){
  225. $usercert=UserCert::find($id);
  226. $usercert->agent_audit=2;
  227. $usercert->agent_audit_desc=$cause;
  228. $usercert->save();
  229. $user=User::find($usercert->user_id);
  230. $user->cert_status=5;
  231. $user->save();
  232. if($user->openid){//通知用户
  233. $mes['openid']=$user->openid;
  234. $mes['data']=[
  235. 'first' => '很抱歉,您的注册申请在上级审核中被驳回,请核对信息后再次提交审核',
  236. 'keyword1' => '上级审核失败',
  237. 'keyword2' => date("Y-m-d H:i"),
  238. 'remark' => $cause.PHP_EOL.'点击链接进入系统,查看详情',
  239. ];
  240. event(new UserMessageEvent($mes));
  241. }
  242. return $this->success([]);
  243. }
  244. if ($action=='pass'){
  245. $usercert = UserCert::find($id);
  246. $usercert->agent_audit = 1;
  247. $ids=$usercert->user_id;
  248. $usercert->save();
  249. $user = User::find($usercert->user_id);
  250. $user->cert_status =3;
  251. $user->auth_code=$this->user_certs($ids);
  252. $user->auth_startime=Carbon::now()->toDateTimeString();
  253. $user->auth_endtime=Carbon::now()->addYear('1')->toDateTimeString();
  254. // $user=User::find($user->id);
  255. $user->save();
  256. if($user->openid){//通知用户
  257. $mes['openid']=$user->openid;
  258. $mes['data']=[
  259. 'first' => '恭喜您,您的注册申请已通过上级审核,现正在等待政委审核!',
  260. 'keyword1' => '上级审核成功,待政委审核',
  261. 'keyword2' => date("Y-m-d H:i"),
  262. 'remark' => '点击链接进入系统,查看详情',
  263. ];
  264. event(new UserMessageEvent($mes));
  265. }
  266. if ($user->warea_id){
  267. $me['id']=$user->warea_id;
  268. $me['data']=[
  269. 'first' => '您有新的代理需要审核!',
  270. 'keyword1' => $user->nickname,
  271. 'keyword2' => '上级审核成功,待政委审核',
  272. 'keyword3' => date("Y-m-d H:i"),
  273. 'remark' => '点击链接进入系统,查看详情',
  274. ];
  275. event(new AgentAuditServiceEvent($me));
  276. }
  277. //获取邀请人信息
  278. $agent_recom=User::where('id',$user->recom_id)->first();
  279. if($agent_recom->openid){//通知上级
  280. $mes['openid']=$agent_recom->openid;
  281. $mes['data']=[
  282. 'first' => '您邀请的代理已通过上级审核,现正在等待政委审核',
  283. 'keyword1' => $user->nickname,
  284. 'keyword2' => '通过上级审核,待政委审核',
  285. 'keyword3' => date("Y-m-d H:i"),
  286. 'remark' => '点击链接进入系统,查看详情',
  287. ];
  288. event(new AgentAuditEvent($mes));
  289. }
  290. return 200;
  291. }
  292. return 300;
  293. }
  294. public function look_level($id)
  295. {
  296. $user = User::find($id);
  297. return ['level' => $user->level, 'agent_id' => $user->agent_id, 'id' => $user->id];
  298. }
  299. /*
  300. * 用户确认审核通过,并生成授权码
  301. * */
  302. public function user_cert(){
  303. $user=Auth::user();
  304. $user->cert_status=6;
  305. $user->save();
  306. return $this->success([]);
  307. }
  308. public function user_certs($id){
  309. $code=auth_code($id);
  310. return $code;
  311. }
  312. }