DHApplyController.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. <?php
  2. namespace Modules\Service\Http\Controllers;
  3. use Modules\Service\Events\DHLogEvent;
  4. use App\Handlers\ImageUploadHandler;
  5. use App\Handlers\UploadFilesHandler;
  6. use Modules\Service\Jobs\ReckonDHMoneyInfoJob;
  7. use App\Models\DHActivityInfo;
  8. use App\Models\DHApply;
  9. use App\Models\DHGoodInfo;
  10. use App\Models\DHGoodTime;
  11. use App\Models\DHMoney;
  12. use App\Models\DHMoneyPct;
  13. use App\Models\Ordertest;
  14. use App\Models\SendGoodLog;
  15. use GuzzleHttp\Client;
  16. use Illuminate\Support\Facades\Cache;
  17. use Illuminate\Support\Facades\Log;
  18. use App\Models\Trace;
  19. use App\Models\User;
  20. use Carbon\Carbon;
  21. use Illuminate\Http\Request;
  22. use Illuminate\Support\Facades\Auth;
  23. class DHApplyController extends Controller
  24. {
  25. /*
  26. * 退货登记单编码
  27. * **/
  28. private function DHNumber(){
  29. $str='DH_';
  30. $str=$str.random_int(11,99).time().random_int(111,999).Auth::user()->id;
  31. return $str;
  32. }
  33. /*
  34. *获取代理信息
  35. **/
  36. public function GetUser(Request $request){
  37. $search_name=$request->input('search_name');
  38. $user=User::query();
  39. $user=$user->withTrashed()->where('mobile','like',"%$search_name%")
  40. ->orwhere('nickname','like',"%$search_name%")
  41. ->orwhere('realname','like',"%$search_name%")->select('id','nickname','headimgurl','realname')->get();
  42. return $this->success($user);
  43. }
  44. /**
  45. 获取用户的进货关系
  46. **/
  47. public function GetInfo(Request $request){
  48. $id=$request->input('id');
  49. $user=User::where('id',$id)->with(['agent'])->withTrashed()->first();
  50. $jingli=[];
  51. $crown=[];
  52. if ($user->level==1){
  53. if ($user->agent->level==2){
  54. $jingli=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl];
  55. $users=User::where('id',$user->agent->agent_id)->first();
  56. $crown=['id'=>$users->id,'mobile'=>$users->mobile,'nickname'=>$users->nickname,'avatar'=>$users->headimgurl];
  57. $data['crown']=$crown;
  58. $data['jingli']=$jingli;
  59. }else{
  60. $crown=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl];
  61. $data['crown']=$crown;
  62. $data['jingli']=$jingli;
  63. }
  64. }elseif ($user->level==2){
  65. if ($user->agent->level==3){
  66. $crown=['id'=>$user->agent->id,'mobile'=>$user->agent->mobile,'nickname'=>$user->agent->nickname,'avatar'=>$user->agent->headimgurl];
  67. $data['crown']=$crown;
  68. $data['jingli']=$jingli;
  69. }
  70. }elseif($user->level==3){
  71. $data['crown']=$crown;
  72. $data['jingli']=$jingli;
  73. }
  74. return $this->success($data);
  75. }
  76. /**
  77. * 代理退货登记
  78. */
  79. public function CheckIn(Request $request){
  80. if (Auth::user()->id!='45' && Auth::user()->role_id ==23){
  81. return $this->error(500214,'该功能暂停使用');
  82. }
  83. $user_id=$request->input('user_id');
  84. $user_name=$request->input('user_name');
  85. $level=$request->input('level');
  86. $crown_id=$request->input('crown_id');
  87. $jingli_id=$request->input('jingli_id');
  88. $return_log=$request->input('return_log');
  89. $phone=$request->input('phone');
  90. $express_number=$request->input('express_number')??null;
  91. $express_arr=$request->input('express_arr');
  92. if ($express_number){
  93. $status=1;
  94. }else{
  95. $status=0;
  96. }
  97. $express_name=$request->input('express_name')??null;
  98. $express_code=$request->input('express_code')??null;
  99. $op_name=Auth::user()->name;
  100. $warea_id=Auth::user()->id;
  101. $dh_number=$this->DHNumber();
  102. $apply=new DHApply();
  103. $apply->user_id=$user_id;
  104. $apply->user_name=$user_name;
  105. $apply->level=$level;
  106. $apply->crown_id=$crown_id;
  107. $apply->jingli_id=$jingli_id;
  108. $apply->return_log=$return_log;
  109. $apply->phone=$phone;
  110. $apply->op_name=$op_name;
  111. $apply->warea_id=$warea_id;
  112. $apply->dh_number=$dh_number;
  113. $apply->express_num=$express_number;
  114. $apply->express_name=$express_name;
  115. $apply->express_code=$express_code;
  116. if (!is_null($express_arr)){
  117. $apply->express_json=json_encode($express_arr);
  118. }
  119. $apply->status=$status;
  120. $apply->save();
  121. // $data=[
  122. // 'log'=>'',
  123. // 'op_name'=>'',
  124. // 'dh_id'=>$apply->id,
  125. // 'type'=>0
  126. // ];
  127. // event(new DHLogEvent($data));
  128. return $this->success([]);
  129. }
  130. /*
  131. * 登记快递信息
  132. **/
  133. public function EditExpressInfo(Request $request){
  134. $express_num=$request->input('express_number');
  135. $express_name=$request->input('express_name');
  136. $express_code=$request->input('express_code');
  137. $express_arr=$request->input('express_arr');
  138. $id=$request->input('id');
  139. $apply=DHApply::find($id);
  140. $apply->express_num=$express_num;
  141. $apply->express_name=$express_name;
  142. $apply->express_code=$express_code;
  143. $apply->express_json=json_encode($express_arr);
  144. $apply->status=1;
  145. $apply->save();
  146. return $this->success([]);
  147. }
  148. /*
  149. *快递公司简称
  150. */
  151. public function GetExpressInfo(){
  152. $express_name=['顺丰速运', '百世快递', '中通快递', '申通快递', '圆通速递', '韵达速递', '邮政快递包裹', 'EMS', '京东快递', '优速快递', '德邦快递', '极兔速递', '众邮快递', '宅急送'];
  153. $express_code=['SF', 'HTKY', 'ZTO', 'STO', 'YTO', 'YD', 'YZPY', 'EMS', 'JD', 'UC', 'DBL', 'JTSD', 'ZYE', 'ZJS'];
  154. $data=[];
  155. foreach ($express_name as $k=>$v){
  156. $data[$express_code[$k]]=$v;
  157. }
  158. return $this->success($data);
  159. }
  160. /*
  161. *获取货物信息
  162. **/
  163. public function GetGoodInfo(Request $request){
  164. $id=$request->input('id');
  165. $good=DHGoodInfo::find($id);
  166. return $this->success(json_decode($good->depot_record_info));
  167. }
  168. /*
  169. * 用户签字
  170. * ***/
  171. public function UserSign(Request $request){
  172. $base64=$request->input('img');
  173. $id=$request->input('id');
  174. $status=5;
  175. $apply=DHApply::find($id);
  176. $apply->user_confirm_sign=$base64;
  177. $apply->status=$status;
  178. $apply->user_confirm_time=Carbon::now();
  179. $apply->user_confirm_status=0;
  180. $apply->save();
  181. $re=DHGoodInfo::where('dh_id',$id)->first();
  182. $re->user_record_info=$re->depot_record_info;
  183. $re->save();
  184. $data['id']=$re->id;
  185. ReckonDHMoneyInfoJob::dispatch($data);
  186. return $this->success([]);
  187. }
  188. /*
  189. *计算金额(当用户确认完成后,金额应该自动确认完成)
  190. * ****/
  191. /*
  192. * 代理公司确认金额
  193. * ***/
  194. public function SureMoney(Request $request){
  195. $id=$request->input('id');
  196. $apply=DHApply::find($id);
  197. $money_log=DHMoney::where('dh_id',$id)->orderBy('id')->get();
  198. return $this->success($money_log);
  199. }
  200. /*
  201. * 代理公司签字确认金额
  202. * ***/
  203. public function CrownMoneySign(Request $request){
  204. $base64=$request->input('img');
  205. $id=$request->input('id');
  206. $status=7;
  207. $apply=DHApply::find($id);
  208. $apply->crown_confirm_money_sign=$base64;
  209. $apply->status=$status;
  210. $apply->crown_confirm_money_time=Carbon::now();
  211. $apply->save();
  212. return $this->success([]);
  213. }
  214. /*
  215. * 上传退款截图
  216. * ***/
  217. public function UploadImg(Request $request){
  218. $img=$request->input('img');
  219. $id=$request->input('id');
  220. DHApply::where('id',$id)->update(['dh_money_img'=>$img,'status'=>8]);
  221. return $this->success([]);
  222. }
  223. /*
  224. * 代理公司查看退款截图
  225. * ****/
  226. public function CrownLookMoney(Request $request){
  227. $id=$request->input('id');
  228. $apply=DHApply::where('id',$id)->select('dh_money_img')->first();
  229. return $this->success($apply);
  230. }
  231. /*
  232. * 代理公司签字确认收到退款
  233. * ***/
  234. public function CrownLookMoneySign(Request $request){
  235. $base64=$request->input('img');
  236. $id=$request->input('id');
  237. $status=9;
  238. $apply=DHApply::find($id);
  239. $apply->crown_receive_money_sign=$base64;
  240. $apply->status=$status;
  241. $apply->crown_receive_money_time=Carbon::now();
  242. $apply->save();
  243. return $this->success([]);
  244. }
  245. /*
  246. * 代理签字确认收到钱,签字完成后,整个过程都已经完成
  247. * ***/
  248. public function UserConfirmMoneySign(Request $request){
  249. $base64=$request->input('img');
  250. $id=$request->input('id');
  251. $apply=DHApply::find($id);
  252. $apply->user_cofirm_money_sign=$base64;
  253. $apply->status=10;
  254. $apply->user_confirm_money_time=Carbon::now();
  255. $apply->save();
  256. return $this->success([]);
  257. }
  258. /*
  259. *登记信息列表
  260. * ***/
  261. public function GetApplyList(Request $request){
  262. $page_index=$request->input('page_index');
  263. $page_size=$request->input('page_size');
  264. $type=$request->input('status')??null;
  265. $num=($page_index-1)*$page_size;
  266. $query=DHApply::query();
  267. if (Auth::user()->id!='45' && Auth::user()->role_id ==23){
  268. return $this->error(500214,'该功能暂停使用');
  269. }
  270. if (is_numeric($type)){
  271. $query->where('status',$type);
  272. }
  273. $count=$query->count();
  274. $list=$query->with(['user','jingli','crown'])->orderByDesc('id')->take($page_size)->skip($num)->get();
  275. return $this->success_list($list,'',$count);
  276. }
  277. /*
  278. * 货物详情
  279. * ***/
  280. public function GoodDetail(Request $request)
  281. {
  282. $re=DHGoodInfo::where('dh_id',$request->input('id'))->first();
  283. if (!$re){
  284. return $this->error(40021,'暂无信息');
  285. }
  286. if ($re->status>4){
  287. $res=json_decode($re->user_record_info);
  288. }else{
  289. $res=json_decode($re->depot_record_info);
  290. }
  291. $data['good_info']=$res;
  292. $data['wear_info']=json_decode($re->wear_info);
  293. $data['nowear_info']=json_decode($re->nowear_info);
  294. $data['lack_soap']=$re->lack_soap;
  295. $data['lack_tote']=$re->lack_tote;
  296. // $data=[
  297. // [
  298. // 'good_name'=>'精装版',
  299. // 'list'=>[
  300. // ['time'=>'2021-01-11','sex'=>1,'size'=>'XL','num'=>2],
  301. // ['time'=>'2021-10-11','sex'=>0,'size'=>'XL','num'=>2],
  302. // ['time'=>'2021-01-11','sex'=>1,'size'=>'2XL','num'=>2],
  303. // ]
  304. // ],
  305. // [
  306. // 'good_name'=>'简约版',
  307. // 'list'=>[
  308. // ['time'=>'2021-01-11','sex'=>1,'size'=>'XL','num'=>2],
  309. // ['time'=>'2021-10-11','sex'=>0,'size'=>'XL','num'=>2],
  310. // ['time'=>'2021-01-11','sex'=>1,'size'=>'@XL','num'=>2],
  311. // ]
  312. // ]
  313. // ];
  314. return $this->success($data);
  315. }
  316. /***修改货物信息**/
  317. public function UpdateApplyInfo(Request $request){
  318. $id=$request->input('id');
  319. $info=$request->input('info');
  320. $total=$request->input('total');
  321. $remark=$request->input('remark');
  322. $input=$request->all();
  323. $info=json_encode($info);
  324. $dh=DHApply::find($id);
  325. $goodinfo=DHGoodInfo::where('dh_id',$dh->id)->first();
  326. $data['good_info']=json_decode($goodinfo->depot_record_info,true);
  327. $data['wear_info']=json_decode($goodinfo->wear_info);
  328. $data['nowear_info']=json_decode($goodinfo->nowear_info);
  329. $data['lack_soap']=$goodinfo->lack_soap;
  330. $data['lack_tote']=$goodinfo->lack_tote;
  331. $goodinfo->update_info=json_encode($data);
  332. $goodinfo->depot_record_info=$info;
  333. $goodinfo->total=$total;
  334. $goodinfo->wear_info=json_encode($input['wear']);
  335. $goodinfo->nowear_info=json_encode($input['not_wear']);
  336. $goodinfo->lack_soap=$data['lack_soap'];
  337. $goodinfo->lack_tote=$data['lack_tote'];
  338. $goodinfo->remark=Auth::user()->name.'修改了商品的信息,原因是'.$remark;
  339. $goodinfo->save();
  340. return $this->success([]);
  341. }
  342. // public function UploadMoneyImg(Request $request,ImageUploadHandler $imageUploadHandler){
  343. //// return $this->error(50021,'','暂停使用,开放时间另行通知');
  344. // if ($request->file('img')){
  345. // $re=$imageUploadHandler->save($request->img,'ReturnGood',Auth::user()->id);
  346. // if ($re){
  347. // return $this->success(['imgUrl'=>$re['path']]);
  348. // }
  349. // }
  350. // return $this->error(500236,'','上传失败');
  351. // }
  352. public function UploadMoneyImg(Request $request){
  353. // return $this->error(50021,'','暂停使用,开放时间另行通知');
  354. $file= $request->file('img');
  355. if($file){
  356. $path_url='dh_apply/return_goods';
  357. $upload= new UploadFilesHandler();
  358. $result= $upload->save($file, $path_url, Auth::user()->id, 'image');
  359. if($result){
  360. return $this->success(['imgUrl'=>$result['path']]);
  361. }
  362. }
  363. return $this->error(500236,'','上传失败');
  364. }
  365. public function GetStatus(Request $request){
  366. $id=$request->input('id');
  367. $re=DHApply::find($id);
  368. return $this->success($re);
  369. }
  370. /*
  371. * 获取信息
  372. * **/
  373. public function GetExpress(Request $request){
  374. $express=$request->input('express_number');
  375. $type=$request->input('type');
  376. if (!$type){
  377. // $re=DHApply::where('express_num',$express)->first();
  378. $re=DHApply::where('express_json','like',"%$express%")->first();
  379. }else{
  380. $re=DHApply::where('phone',$express)->limit(1)->orderByDesc('id')->first();
  381. }
  382. if ($re){
  383. if ($re->status>=4){
  384. return $this->error(500215,'当前快递信息已经登记!');
  385. }
  386. return $this->success(['id'=>$re->id]);
  387. }else{
  388. return $this->error(500215,'请还一个快递单号扫描');
  389. }
  390. }
  391. /*
  392. * 获取信息
  393. * ***/
  394. public function GetCodeInfo(Request $request){
  395. $code=$request->input('code');
  396. // $nums=stripos($code,'daweiboshi');
  397. $nums=stripos($code,'bid');
  398. if (is_numeric($nums)){
  399. $n=strripos($code,'bid');
  400. $m=strripos($code,'&');
  401. $id=mb_substr($code,$n+4,$m-$n-4);
  402. $number=mb_substr($code,$m+3);
  403. $client=new Client();
  404. $re=$client->get($code);
  405. $res=$re->getBody()->getContents();
  406. $data['name']='';
  407. $data['num']=1;
  408. $data['type']=1;
  409. $numbers=stripos($res,'精装版');
  410. if (!$numbers){
  411. $numbers=stripos($res,'简约版');
  412. if ($numbers){
  413. $data['name']='简约版';
  414. }else{
  415. $numbers=stripos($res,'老人版');
  416. if ($numbers){
  417. $data['name']='高腰版';
  418. }else{
  419. $numbers=stripos($res,'纯棉版');
  420. if ($numbers){
  421. $data['name']='纯棉版';
  422. }
  423. }
  424. }
  425. }else{
  426. $data['name']='精装版';
  427. }
  428. $client=new Client();
  429. $array=[
  430. 'form_params'=>[
  431. 'action'=>'customergetcustomjson',
  432. 'ID'=>$id,
  433. 'parameter1'=>$number
  434. ]
  435. ];
  436. $re=$client->post('http://fangwei.jiuweiyun.cn/ServiceAPI/usercenter/Manager.aspx',$array);
  437. $res=$re->getBody()->getContents();
  438. $e=json_decode($res,true);
  439. $array=json_decode($e['messages'],true);
  440. $len=count($array[0]);
  441. if (isset($array[0][$len-1])){
  442. if (isset($array[0][$len-1]['newtime'])){
  443. $data['time']=$array[0][$len-1]['newtime'];
  444. }
  445. }
  446. }else{
  447. // $nums=stripos($code,'auth');
  448. // if (!is_numeric($nums)){
  449. // return $this->error();
  450. // }
  451. // $n=strripos($code,'/');
  452. // $code=mb_substr($code,$n+1);
  453. $code=trim($code);
  454. $re=Trace::where('code',$code)->first();
  455. $data=[];
  456. if ($re){
  457. $data['type']=0;
  458. $data['goods_id']=$re->good_select_id;
  459. if ($re->model=='1:10'){
  460. if ($re->is_lowest==1){
  461. $data['num']=1;
  462. }else{
  463. $data['num']=10;
  464. }
  465. }elseif ($re->model=='1:12'){
  466. if ($re->is_lowest==1){
  467. $data['num']=1;
  468. }else{
  469. $data['num']=12;
  470. }
  471. }elseif ($re->model=='1:6:24'){
  472. if ($re->is_lowest==1){
  473. $data['num']=1;
  474. }else{
  475. if ($re->level==2){
  476. $data['num']=4;
  477. }else{
  478. $data['num']=24;
  479. }
  480. }
  481. }else{
  482. if ($re->is_lowest==1){
  483. $data['num']=1;
  484. }else{
  485. if ($re->level==2){
  486. $data['num']=6;
  487. }else{
  488. $data['num']=36;
  489. }
  490. }
  491. }
  492. $res=SendGoodLog::where('select_id',$re->id)->limit(1)->orderBy('id')->first();
  493. $data['time']=$res->created_at->toDateTimeString();
  494. $name=\DB::table('good_select')->where('id',$re->good_select_id)->value('name');
  495. $data['name']=$name;
  496. }else{
  497. return $this->error(500214,'请手动输入');
  498. }
  499. }
  500. Log::error($data);
  501. return $this->success($data);
  502. }
  503. /*
  504. * 提交信息
  505. * **/
  506. public function InsertGoodInfo(Request $request){
  507. $data=$request->all();
  508. $info=$request->input('info');
  509. $dh_id=$request->input('id');
  510. $total=$request->input('total');
  511. $info=json_encode($info);
  512. $apply=DHApply::find($dh_id);
  513. $apply->status=4;
  514. $apply->save();
  515. $goodinfo=new DHGoodInfo();
  516. $goodinfo->depot_record_info=$info;
  517. $goodinfo->dh_id=$dh_id;
  518. $goodinfo->total=$total;
  519. $goodinfo->crown_id=$apply->crown_id;
  520. $goodinfo->wear_info=json_encode($data['wear']);
  521. $goodinfo->nowear_info=json_encode($data['not_wear']);
  522. $goodinfo->lack_soap=$data['lack_soap'];
  523. $goodinfo->lack_tote=$data['lack_tote'];
  524. $goodinfo->save();
  525. return $this->success([]);
  526. }
  527. /*
  528. * 计算金额
  529. * ***/
  530. public function ReckonMoney(){
  531. $id='11';
  532. $data=DHGoodInfo::find($id);
  533. $data=json_decode($data->depot_record_info);
  534. $re=[];
  535. foreach ($data as $k=>$v){
  536. $good_name=$v->good_name;
  537. foreach ($v->list as $ke=>$va){
  538. $time=DHActivityInfo::where('time_end','<',$va->time)->orderByDesc('time_end')->limit(1)->value('time_end');
  539. if (is_null($time)){
  540. $time=$va->time;
  541. }
  542. $price=DHGoodTime::where('good_name',$good_name)
  543. ->where('time_start','<',$time)->where('time_end','>',$time)->where('level',3)->value('price');
  544. $data[$k]->list[$ke]->price=$price;
  545. }
  546. }
  547. dd($data);
  548. }
  549. /*
  550. * 修改退款明细
  551. * ***/
  552. public function UpdateReturnMoney(Request $request){
  553. $id=$request->input('id');
  554. $money=$request->input('money');
  555. $remark=$request->input('remark');
  556. $num=$request->input('num',null);
  557. $DHmoney=DHMoney::where('id',$id)->first();
  558. $DHmoney->money_log='修改了物品单价,原价格为:'.$DHmoney->money;
  559. $DHmoney->money=$money;
  560. if ($num){
  561. $DHmoney->good_num=$num;
  562. }
  563. $DHmoney->remark=$remark;
  564. $DHmoney->save();
  565. return $this->success([]);
  566. }
  567. /*
  568. * 增加退款明细
  569. * **/
  570. public function AddReturnMoney(Request $request){
  571. $money=$request->input('money');
  572. $num=$request->input('num');
  573. $good_name=$request->input('good_name');
  574. $dh_id=$request->input('dh_id');
  575. $dhmoney=new DHMoney();
  576. $dhmoney->dh_id=$dh_id;
  577. $dhmoney->money=$money;
  578. $dhmoney->type=$request->input('type');
  579. $dhmoney->good_num=$num;
  580. $dhmoney->good_name=$good_name;
  581. $dhmoney->is_recoup=$request->input('is_recoup');
  582. $dhmoney->save();
  583. return $this->success([]);
  584. }
  585. /**获取百度api的access_token**/
  586. public function GetAccessToken(){
  587. if (!Cache::get('BDaccesstoken')){
  588. $appkey='ck4R4Ek4Zw6phprGg2GvwxuZ';
  589. $secret='8tmI0IsPDFDAxlMmkGty70NFXGx2uA4g';
  590. $url='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='.$appkey.'&client_secret='.$secret;
  591. $client=new Client();
  592. $result=$client->post($url);
  593. $re=$result->getBody()->getContents();
  594. $re=json_decode($re,true);
  595. $minutes=30*24*60-1;
  596. Cache::put('BDaccesstoken',$re['access_token'],$minutes);
  597. }
  598. return Cache::get('BDaccesstoken');
  599. }
  600. // public function UploadImage(Request $request,ImageUploadHandler $imageUploadHandler){
  601. // if ($request->file('img')){
  602. // $re=$imageUploadHandler->save($request->file('img'),'QrCode',time());
  603. // return $this->success($re);
  604. // }
  605. // return $this->error(40012,'上传错误!');
  606. // }
  607. public function UploadImage(Request $request){
  608. $file= $request->file('img');
  609. if($file){
  610. $path_url='dh_apply/qr_code';
  611. $upload= new UploadFilesHandler();
  612. $result= $upload->save($file, $path_url, time(), 'image');
  613. if($result){
  614. return $this->success($result);
  615. }
  616. }
  617. return $this->error(40012,'上传错误!');
  618. }
  619. /**获取信息**/
  620. public function GetQrCode(Request $request){
  621. Log::error($request->all());
  622. $input=$request->input('arr');
  623. $access_token=$this->GetAccessToken();
  624. $data=[];
  625. foreach ($input as $k=>$v){
  626. $client=new Client();
  627. $array=[
  628. 'form_params'=>[
  629. 'url'=>$v,
  630. ],
  631. 'headers'=>[
  632. 'Content-Type'=>'application/x-www-form-urlencoded'
  633. ]
  634. ];
  635. $url='https://aip.baidubce.com/rest/2.0/ocr/v1/qrcode?access_token='.$access_token;
  636. $res=$client->post($url,$array);
  637. $re=json_decode($res->getBody()->getContents(),true);
  638. if (isset($re['codes_result'])){
  639. foreach ($re['codes_result'] as $ke=>$va){
  640. if (isset($va['text'])){
  641. $data[]=$va['text'][0];
  642. }
  643. }
  644. }
  645. $link=mb_substr($v,35);
  646. unlink(public_path($link));
  647. }
  648. return $this->success($data);
  649. }
  650. }