123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565 |
- <?php
- namespace App\Http\Controllers;
- use App\Events\WechatMessageEvent;
- use App\Http\Requests\UserRequest;
- use App\Models\Address;
- use App\Models\Banner;
- use App\Models\Demo;
- use App\Models\Demodemo;
- use App\Models\DemoTest;
- use App\Models\Infos;
- use App\Models\MoneyUser;
- use App\Models\Notice;
- use App\Models\OrderDetailW;
- use App\Models\Ordertest;
- use App\Models\OrderW;
- use App\Models\RecomCodeExpire;
- use App\Models\ShareUser;
- use App\Models\Store;
- use App\Models\User;
- use App\Models\UserPay;
- use App\Models\UserW;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use GuzzleHttp\Client;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\Config;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\File;
- use Illuminate\Support\Facades\Log;
- use Qiniu\Storage\UploadManager;
- use Qiniu\Auth as Auths;
- use Validator;
- use Intervention\Image\Facades\Image as Image;
- use Endroid\QrCode\LabelAlignment;
- use Endroid\QrCode\ErrorCorrectionLevel;
- use Endroid\QrCode\QrCode;
- class IndexController extends Controller{
- public function AddQrCodeStatus(){
- $time=Carbon::now()->toDateTimeString();
- if ($time>'2022-03-18 09:00:00'){
- return $this->success([]);
- }
- return $this->error(50021);
- }
- public function AddQrCode(Request $request){
- // $imgA=Image::make(env('APP_URL').'/public/uploads/weihu.png');
- // return $imgA->response("png");
- $id=Auth::user()->id;
- $user=User::find($id);
- $phone=$request->input('phone');
- $share=ShareUser::where('phone',$phone)->first();
- if ($share->imgurl){
- $data=$share->imgurl;
- }else{
- $data=$this->make_code($phone);
- }
- $imgA=Image::canvas(343,552,'#FFFFFF');
- $img=Image::make($data)->resize(160,160);
- $imgB=Image::make(env('APP_URL').'/bg_red.png')->resize(343,552);
- $imgC=Image::make(env('APP_URL').'/bg_white.png')->resize(283,365);
- $imgL=Image::make(env('APP_URL').'/bg_logo.png')->resize(267,44);
- $imgA->insert($imgB,'',0,0);
- $imgA->insert($imgC,'',30,100);
- $imgA->insert($imgL,'',38,32);
- $imgA->insert($img,'',91,237);
- //匹配Unicode编码表对应字符
- $nickname=preg_replace("/[^\x{4e00}-\x{9fa5}^\x{0021}-\x{007e}]+/u", '', $user->nickname);
- if (mb_strlen($nickname)>6){
- $nickname=mb_substr($nickname,0,6);
- }
- if(empty($nickname)){
- $nickname=substr_replace($user->mobile,'****',3,4);
- }
- $imgA->text($nickname, 178, 160,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(24);
- $font->color('333333');
- $font->align('center');
- $font->angle(0);
- });
- $imgA->text('邀请你('.hide_phone($phone).')加入大卫博士', 72, 190,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(12);
- $font->color('333333');
- $font->angle(0);
- });
- $imgA->text('识别图中二维码填写信息', 85, 429,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(14);
- $font->color('333333');
- $font->angle(0);
- });
- // $imgA->text('有效期至:'.$expire_time, 75, 480,function ($font){
- // $font->file('./ziti/fangzheng.TTF');
- // $font->size(12);
- // $font->color('FFFFFF');
- // $font->angle(0);
- // });
- return $imgA->response("png");
- }
- public function AddQrCodeUp(Request $request){
- $user_id=$request->input('id');
- if(empty($user_id)){
- return $this->error('450001','','未获取到客户信息');
- }
- $id=Auth::user()->id;
- $expire_time=Carbon::parse('+72 hours')->toDateTimeString();
- $data=$this->make_code($id,$user_id,$expire_time);
- $imgA=Image::canvas(310,469,'#FFFFFF');
- $img=Image::make($data)->resize(178,178);
- $imgB=Image::make(env('APP_URL').'/bg_tan.png')->resize(310,469);
- $imgA->insert($imgB,'',0,0);
- $imgA->insert($img,'',67,122);
- $user=UserW::find($user_id);
- //匹配Unicode编码表对应字符
- $nickname=preg_replace("/[^\x{4e00}-\x{9fa5}^\x{0021}-\x{007e}]+/u", '', $user->nickname);
- if (mb_strlen($nickname)>6){
- $nickname=mb_substr($nickname,0,6);
- }
- if(empty($nickname)){
- $nickname=substr_replace($user->phone,'****',3,4);
- }
- $imgA->text($nickname, 157, 60,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(24);
- $font->color('FFFFFF');
- $font->align('center');
- $font->angle(0);
- });
- $imgA->text('· 欢迎您加入大卫博士 ·', 70, 90,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(14);
- $font->color('FFFFFF');
- $font->angle(0);
- });
- $imgA->text('识别图中二维码填写信息', 65, 340,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(14);
- $font->color('FFFFFF');
- $font->angle(0);
- });
- $imgA->text('有效期至:'.$expire_time, 50, 365,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(12);
- $font->color('FE9C9C');
- $font->angle(0);
- });
- return $imgA->response("png");
- }
- public function AddQrCodess(Request $request){
- $id=39516;
- // $id=$request->id;
- // $id=39516;
- $user=User::find($id);
- $data=$this->make_code($id);
- $imgA=Image::canvas(380,560,'#FFFFFF');
- $img=Image::make($data)->resize(300,300);
- // $img=Image::make($qrCode);
- $imgB=Image::make(env('APP_URL').'/logo.jpg')->resize(80,80);
- $imgA->insert($img,'',40,160);
- $imgA->insert($imgB,'',150,10);
- $user=User::find($id);
- // try{
- // $imgC=Image::make($user->headimgurl)->resize(80,80);
- // }catch (\Exception $exception){
- $imgC=Image::make(env('APP_URL').'/logo.jpg')->resize(80,80);
- // }
- $imgA->insert($imgC,'',150,270);
- if (mb_strlen($user->nickname)>=6){
- $x=120;
- }elseif (mb_strlen($user->nickname)>=4 && mb_strlen($user->nickname)<6){
- $x=140;
- }elseif (mb_strlen($user->nickname)>=2 && mb_strlen($user->nickname)<4){
- $x=160;
- }else{
- $x=200;
- }
- $imgA->text('"'.mb_substr($user->nickname,0,6).'"', $x, 120,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(25);
- $font->color('000000');
- $font->angle(0);
- });
- $imgA->text('邀请你加入大卫博士', 90, 150,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(22);
- $font->color('000000');
- $font->angle(0);
- });
- $imgA->text('长按-识别二维码-填写信息', 45, 510,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(22);
- $font->color('F76454');
- $font->angle(0);
- });
- return $imgA->encode('data-url');
- }
- public function GetCrown(){
- $ids=User::where('level',3)->pluck('id');
- $re=Store::whereIn('user_id',$ids)->select('name','username','idCard')->get();
- return $this->success($re);
- }
- public function AddQrCodes(Request $request){
- $id=Auth::user()->id;
- // $id=$request->id;
- // $id=39516;
- $user=User::find($id);
- // $re=new WechatController();
- // $data=$re->makeQrCode();
- $data=$this->make_code($id);
- $imgA=Image::canvas(380,560,'#FFFFFF');
- $img=Image::make($data)->resize(300,300);
- // $img=Image::make($qrCode);
- $imgB=Image::make(env('APP_URL').'/logo.jpg')->resize(80,80);
- $imgA->insert($img,'',40,160);
- $imgA->insert($imgB,'',150,10);
- try{
- $imgC=Image::make($user->headimgurl)->resize(80,80);
- }catch (\Exception $exception){
- $imgC=Image::make(env('APP_URL').'/logo.jpg')->resize(80,80);
- }
- $imgA->insert($imgC,'',150,270);
- $imgA->text('"'.$user->nickname.'"', 120, 120,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(25);
- $font->color('000000');
- $font->angle(0);
- });
- $imgA->text('邀请你加入大卫博士', 90, 150,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(22);
- $font->color('000000');
- $font->angle(0);
- });
- $imgA->text('长按-识别二维码-填写信息', 45, 510,function ($font){
- $font->file('./ziti/fangzheng.TTF');
- $font->size(22);
- $font->color('F76454');
- $font->angle(0);
- });
- return $imgA->response('png');
- }
- public function make_code($mobile){
- $share=ShareUser::where('phone',$mobile)->first();
- $url=env('APP_URL').'/api/gzh?uuid='.$share->uuid;
- $qrCode = new \Endroid\QrCode\QrCode($url);
- // 内容区域宽高,默认为300
- $qrCode->setSize(600);
- // 外边距大小,默认为10
- // $qrCode->setMargin(10);
- // 设置编码
- $qrCode->setEncoding('UTF-8');
- // 设置容错等级
- $qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH());
- // 设置二维码颜色,默认为黑色
- $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
- // 设置二维码背景色,默认为白色
- $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
- // 设置二维码下方的文字
- $qrCode->setLogoPath('./logo.jpg');
- $qrCode->setLogoSize(200, 200);
- // $qrCode->setLogoPath('/www/wwwroot/test.woaidakele.cn/app-api/public/logo.jpg');
- // $qrCode->setLogoSize(80, 80);
- // $path='public/code/';
- // $path = public_path().'/code/';
- // File::makeDirectory($path,$mode = 0777,true,true);
- // $folder_name = "upload/images/Qrcode/202103";
- // $folder_name = "upload/images/Qrcode/" . date("Ym", time());
- // 文件具体存储的物理路径,`public_path()` 获取的是 `public` 文件夹的物理路径。
- // 值如:/home/vagrant/Code/larabbs/public/uploads/images/avatars/201709/21/
- // $upload_path = 'public/' . $folder_name;
- // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
- $extension = 'png';
- // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
- // 值如:1_1493521050_7BVc9v9ujP.png
- $filename = $mobile. '_' . time() . '_' . str_random(10) . '.' . $extension;
- $config = [
- 'driver' => 'qiniu',
- 'domain' => 'http://image.chuliu.cc', //七牛域名
- 'access_key' => 'cIbo9JAqHBgO6uw97gT5fJOlEHiTiGrpB84unVEn', //AccessKey
- 'secret_key' => '4f0nTNNrvzOsFc6Rz0GC5DntiJRnk2GcfkyJFNQp', //SecretKey
- 'bucket' => 'daweiboshi-app', //Bucket名字
- 'dirname'=> 'qr_code'
- ];
- // 构建鉴权对象
- $auth = new Auths($config['access_key'], $config['secret_key']);
- // 生成上传 Token
- $token = $auth->uploadToken($config['bucket']);
- $uploadMgr = new UploadManager();
- // 调用 UploadManager 的 putFile 方法进行文件的上传。
- $dirname=$config['dirname'];
- $pathname= $dirname.'/'.date('Ymd').'/'.$filename;
- try{
- $uploadMgr->putFile($token, $pathname, $qrCode->writeDataUri());//$qrCode->writeDataUri()
- }catch(\Exception $e){
- return $this->error('450001',$e->getMessage(),$e->getMessage());
- }
- $qr_code_url=$config['domain'].'/'.$pathname;
- DB::beginTransaction();
- try{
- $share->imgurl=$qr_code_url;
- $share->save();
- DB::commit();
- }catch(\Exception $e){
- DB::rollback();
- }
- return $qr_code_url;
- }
- public function getStoreMeetFive(Request $request){
- return $this->success([]);
- }
- public function getMeetFiveDetail123(Request $request){
- }
- public function getMeetFiveDetail(Request $request){
- }
- public function get_address(Request $request){
- $Address=Address::groupBy('mobile','province','address')->get()->toArray();
- foreach ($Address as $k=>$v){
- $re=Address::where('mobile',$v->mobile)->get();
- if (count($re)>1){
- Log::error(json_encode($re));
- }
- }
- dd(1);
- }
- public function rand_code($num){
- $code='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- $str=$num."_";
- $str_1='';
- for ($i=0;$i<20;$i++){
- $int=rand(0,34);
- $str_1.=mb_substr($code,$int,1);
- }
- $str=$str.mb_substr(time(),2,3).$str_1;
- return $str.mb_substr(time(),7,3);
- }
- public function login(){
- $app=app('wechat.official_account');
- $shortUrl = $app->url->shorten('https://easywechat.com');
- dd($shortUrl['short_url']);
- $user=User::where('mobile',15236877164)->first();
- $token = Auth::guard('api')->fromUser($user);
- return $this->success($token);
- }
- public function demo(){
- $demo=new Demodemo();
- $demo->name='kele';
- $demo->names='kele';
- $demo->save();
- }
- public function test(Request $request){
- $client=new Client();
- $url="https://api.weixin.qq.com/sns/userinfo";
- $array=[
- 'query' => [
- 'access_token' =>$request->access_token,
- 'openid'=>$request->openid
- ]
- ];
- $data=$client->request('GET',$url,$array);
- $ad = json_decode($data->getBody()->getContents());
- echo $ad->nickname;
- dd($ad);
- // $address=Address::find(1);
- }
- public function json(Request $request){
- return md5_file('https://api.jiuweiyun.cn/public/uploads/images/img/201912/24/5850_1577162472_WD3doBoiDT.png');
- $data='1000050001202001071103128744231';
- $d='100005000120200107110312844231';
- similar_text($data,$d,$percent);
- return $percent;
- $address=new Address();
- $address->provice='河南';
- $address->uid=120;
- $address->save();
- return $address->id;
- $data=[
- [
- "name"=> "男款(黑色)",
- "size"=> 's',
- 'num'=>'2',
- ],
- [
- "name"=> "男款(黑色)",
- "size"=> 'l',
- 'num'=>'3,'
- ],
- [
- "name"=> "男款(黑色)",
- "size"=> 'xl',
- 'num'=>'4',
- ],
- [
- "name"=> "男款(肤色)",
- "size"=> 'l',
- 'num'=>'5,'
- ],
- [
- "name"=> "男款(肤色)",
- "size"=> 's',
- 'num'=>'6',
- ],
- [
- "name"=> "女款(黑色)",
- "size"=> 'l',
- 'num'=>'10,'
- ]
- ];
- $result= array();
- foreach ($data as $key => $value) {
- $result[$value['name']][] = $value;
- }
- $i=0;
- foreach ($result as $k=>$v){
- foreach ($v as $key=>$val){
- $dat[$key]=$val['size'];
- $dats[$key]=$val['num'];
- }
- $datas[$i]['name']=$v[0]['name'];
- $datas[$i]['size']=$dat;
- $datas[$i]['num']=$dats;
- $i++;
- }
- return $datas;
- // for($i=0;$i<$count-1;$i++){
- // for ($j=$i+1;$j<$count;$j++){
- // if ($data[$i]['name']==$data[$j]['name']){
- // $name[$i]=$data[$i]['name'];
- // $size=$data[$i]['size'];
- // }
- // }
- // $dat[$i]=$data[$i]['size'];
- // }
- return $dat;
- }
- public function getMessageInfo(){
- $user_id=Auth::user()->id;
- $notice=Notice::where('user_id',$user_id)->orderByDesc('id')->limit(1)->get();
- $info=Infos::where('disabled','0')->orderBy('is_top','desc')->orderBy('top_at','desc')->limit(2)->get();
- if(count($notice)>0){
- $data['notice']=$notice[0];
- }else{
- $data['notice']=null;
- }
- $data['info']=$info;
- $data['banner']=Banner::where('status',1)->orderBy('sort')->orderByDesc('id')->get();
- return $this->success_list($data);
- }
- //获取公告通知列表
- public function getMessageList(Request $request){
- $page_index=$request->input('page_index');
- $page_size=$request->input('page_size');
- $num=$page_size*($page_index-1);
- $user_id=Auth::user()->id;
- $data=Infos::query()->where(function($query){
- $query->whereIn('type',[1,4])->where('disabled','0');
- })
- ->orWhere(function($query)use($user_id){
- $query->whereIn('type',[2,3,5,6])->where('user_id',$user_id);
- });
- $count=$data->count();
- $list=$data->orderByDesc('is_top','top_at')
- ->skip($num)->take($page_size)->get();
- return $this->success_list($list,'',$count);
- }
- public function get_infos(){
- $order=Ordertest::where('is_deleted',0)->where('created_at','>=','2020-08-24 21:00:00')->with(['order_detail','get_pay'=>function($q){
- $q->whereIn('type',[1,2,3]);
- },'get_user'])->get();
- $i=0;
- foreach ($order as $k=>$v){
- $money=0;
- $pay_money=0;
- $pay=0;
- $pay1=0;
- $pay2=0;
- foreach ($v->order_detail as $ke=>$va){
- $money+=$va->money;
- // $pay_money+=$va->pay_money;
- //该订单总金额
- }
- foreach ($v->get_pay as $ke=>$value){
- //订单支付的金额
- if ($value->type==1){
- $pay+=$value->pay_money;
- }elseif ($value->type==2){
- //带订单退款金额
- $pay1+=$value->pay_money;
- }elseif ($value->type==3){
- $pay2+=$value->money;
- }
- }
- if (($pay1-$pay2)>$money){
- echo $v->order_num.'<br/>';
- }
- }
- // echo 1;
- }
- public function get_count(){
- $re=MoneyUser::with(['get_pay'=>function($q){
- $q->whereIn('user_pay_log.type',[0,3])->where('user_pay_log.created_at','>','2020-08-23 00:00:00');
- }])->get();
- foreach ($re as $k=>$v){
- $money=0;
- $moneys=0;
- if ($v->get_pay->isEmpty()){
- $money=0;
- }else{
- foreach ($v->get_pay as $ke=>$va){
- if ($va->type==0){
- $money+=$va->pay_money;
- }else{
- $moneys+=$va->pay_money;
- }
- }
- }
- if ($moneys>20){
- $money-=$moneys;
- }
- if ($money!=$v->money){
- echo '充值金额为'.$money.'------------'.$v->mobile.'-----Excel数据中的金额-----'.$v->money.'<br/>';
- }
- }
- }
- }
|