123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- <?php
- namespace App\Http\Controllers;
- use App\Handlers\ImageDealHandler;
- use App\Handlers\UploadFilesHandler;
- use App\Models\BigGiftApply;
- use App\Models\GiftUserImg;
- use App\Models\Ordertest;
- use App\Models\User;
- use App\Models\Warea;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Auth;
- use Intervention\Image\Facades\Image;
- class BigGiftController extends Controller
- {
- public function GetApplyList(Request $request){
- $page_index=$request->input('page_index');
- $page_size=$request->input('page_size');
- $num=$page_size*($page_index-1);
- $status=$request->input('status',0);
- $search_name=$request->input('search_name');
- $activity_id=$request->input('activity_id');
- $data=BigGiftApply::query()->with(['user'=>function($q){
- $q->select('id','nickname','remark_name','headimgurl','mobile','level','warea_id')->with(['warea:id,name']);
- },'crown:id,nickname,mobile','order:id,order_num'])->where('activity_id',$activity_id);
- if ($search_name){
- $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
- $data->whereIn('user_id',$uid);
- }
- $auth_id=Auth::user()->role_id;
- if ($auth_id==23){
- $id=Warea::where('admin_id',Auth::user()->id)->value('id');
- $ids=User::where('warea_id',$id)->pluck('id');
- $data->whereIn('user_id',$ids);
- }
- if($status!='all'){
- $data->where('status',$status);
- }
- $count=$data->count();
- $list=$data->orderBy('status')->orderByDesc('id')->skip($num)->take($page_size)->get();
- return $this->success_list($list,'',$count);
- }
- //获取代理公司的销售经理
- public function GetUserInfo(Request $request){
- $id = $request->input('id');
- $user_id = User::where('agent_id', $id)->where('level',2)->whereNull('deleted_at')->pluck('id')->toArray();
- $search_name=$request->input('search_name')??null;
- if ($search_name) {
- $where = function ($q) use ($search_name) {
- $q->where('nickname', 'like', '%' . $search_name . '%')->orwhere('mobile', 'like', '%' . $search_name . '%');
- };
- $user = User::where(function ($q)use($id,$user_id){
- $q->whereIn('id', $user_id);
- })->where($where)->whereNull('deleted_at')->select('mobile as phone', 'nickname', 'realname', 'id', 'headimgurl as avatar','level');
- $re = $user->get();
- return $this->success($re);
- } else {
- $re = User::whereIn('id', $user_id)->whereNull('deleted_at')->select('mobile as phone', 'nickname', 'realname', 'id', 'headimgurl as avatar','level');
- $re = $re->get();
- return $this->success($re);
- }
- }
- //修改销售经理
- public function editBelongToUser(Request $request){
- $id=$request->input('id');
- $user_id=$request->input('user_id');
- if(empty($user_id)){
- return $this->error(500231,'请选择销售经理');
- }
- $gift=BigGiftApply::query()->where('id',$id)->first();
- if($user_id == $gift->user_id){
- return $this->error(500231,'销售经理没有改变');
- }
- $res=BigGiftApply::where('user_id',$user_id)->where('activity_id',$gift->activity_id)->first();
- if ($res){
- return $this->error(500231,'该销售经理已经绑定过订单,订单编号为:'.Ordertest::where('id',$res->order_id)->value('order_num'));
- }
- $gift->user_id=$user_id;
- $gift->save();
- return $this->success([]);
- }
- public function ApplySuccess(Request $request){
- $info=$request->all();
- $id=$info['id'];//申请大礼包id
- $user_img=$info['user_img'];
- $activity_id=$info['activity_id'];
- $apply=BigGiftApply::query()->where('id',$id)->first();
- if($apply->type==1){
- $type=2;
- }elseif($apply->type==0){
- $type=0;
- }
- $re=GiftUserImg::where('activity_id',$activity_id)->where('type',$type)->where('is_main',1)->where('img_type',0)->first();
- $img=GiftUserImg::where('activity_id',$activity_id)->where('type',$type)->where('is_main',0)->where('img_type',0)->first();
- if (!$re || !$img){
- return $this->error(500214,'请先上传模板图');
- }
- $order=Ordertest::where('id',$apply->order_id)->with(['address'])->first();
- $nickname=User::where('id',$apply->user_id)->value('nickname');
- $user_url=$this->CreateImg($apply->user_id,$re->url,$user_img,$nickname,$img->url);
- DB::beginTransaction();
- try{
- $gift=GiftUserImg::create([
- 'user_id'=>$apply->user_id,
- 'type'=>$type, //0表示大礼包A-a,1表示大礼包B-c,2表示大礼包A-b,3表示大礼包B-d
- 'img_type'=>1, //0表示模板,1表示合成后的图
- 'nickname'=>$nickname,
- 'province'=>$order->address->province,
- 'city'=>$order->address->city,
- 'area'=>$order->address->town,
- 'address'=>$order->address->address,
- 'phone'=>$order->address->mobile,
- 'car_name'=>$order->address->username,
- 'activity_id'=>$activity_id,
- 'user_img'=>$user_img,
- 'url'=>$user_url
- ]);
- $apply->gift_user_img_id=$gift->id;
- $apply->status=1;
- $apply->order_change=null;
- $apply->save();
- DB::commit();
- return $this->success([]);
- }catch(\Exception $e){
- DB::rollback();
- return $this->error('450001',$e->getMessage());
- }
- return $this->success([]);
- }
- public function UpdateApply(Request $request){
- $input=$request->all();
- $user_id=$input['user_id'];
- $user=User::find($user_id);
- $id=$input['id'];
- $user_img=$input['user_img'];
- $activity_id=$input['activity_id'];
- $re=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',1)->where('img_type',0)->first();
- $img=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',0)->where('img_type',0)->first();
- if (!$re || !$img){
- return $this->error(500214,'请先上传模板图');
- }
- $giftImg=GiftUserImg::find($id);
- $giftImg->user_id=$user_id;
- $giftImg->nickname=$user->nickname;
- $giftImg->user_img=$user_img;
- $giftImg->img_type=1;
- $user_url=$this->CreateImg($giftImg->user_id,$re->url,$user_img,$giftImg->nickname,$img->url);
- $giftImg->url=$user_url;
- // $giftImg->status=1;
- $giftImg->save();
- $ress=BigGiftApply::where('gift_user_img_id',$giftImg->id)->first();
- $ress->status=1;
- $ress->user_id=$input['user_id'];
- $ress->save();
- return $this->success([]);
- }
- public function ExportAddress(Request $request){
- $info=$request->all();
- $search_name=$info['search_name'];
- $activity_id=$info['activity_id'];
- $re=GiftUserImg::where('img_type',1)->where('type',0)->where('status',1)->where('is_deleted',0)->where('activity_id',$activity_id);
- if ($search_name){
- $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
- $re->whereIn('user_id',$uid);
- }
- $auth_id=Auth::user()->role_id;
- if ($auth_id==23){
- $id=Warea::where('admin_id',Auth::user()->id)->value('id');
- $ids=User::where('warea_id',$id)->pluck('id');
- $re->whereIn('user_id',$ids);
- }
- $re=$re->get();
- $data=[];
- foreach ($re as $k=>$v){
- $remar=User::where('id',$v->user_id)->with(['agent'])->first();
- if ($remar){
- $v->up_name=$remar->agent->remark_name;
- $v->up_phone=$remar->agent->mobile;
- }else{
- $v->up_name='';
- $v->up_phone='';
- }
- $data[$k]=$v;
- }
- return $this->success_list($data);
- }
- //上传代理公司图片
- public function uploadImage(Request $request){
- $file= $request->file('file');
- $path_url='big_gift/user_img';
- $upload= new UploadFilesHandler();
- $result= $upload->save($file, $path_url, null, 'image');
- if($result){
- return $this->success($result['path']);
- }
- return $this->error();
- // $input=$request->all();
- // $path_url='public/userImg';
- // $path = $request->file('file')->store($path_url);
- // $url = Storage::url($path);
- // if($url){
- // return $this->success($url);
- // }
- // return $this->error();
- }
- public function CreateImg($id,$main_url,$user_img,$nickname,$img_url){
- $imageDealHandler=new ImageDealHandler();
- $image=Image::make($main_url);
- $avatar=$imageDealHandler->circleImg($user_img);
- $avatar=Image::make($avatar);
- $avatar->resize(680,680);
- $img=Image::make($img_url);
- $image->insert($avatar,'',205,273);
- $image->insert($img,'',30,750);
- if (mb_strlen($nickname)==1){
- $y=600;
- $n=1;
- }elseif (mb_strlen($nickname)==2){
- $y=550;
- $n=2;
- }elseif (mb_strlen($nickname)==3){
- $y=500;
- $n=3;
- }elseif (mb_strlen($nickname)==4){
- $y=450;
- $n=4;
- }else{
- $y=450;
- $n=0;
- }
- for ($i=0;$i<$n;$i++){
- $image->text(mb_substr($nickname,$i,1), 100,$y+$i*100 , function ($font) {
- // $image->text('棒', 200,10 , function ($font) {
- $font->file(public_path() .'./ziti/ht.otf');//public_path() .
- $font->size(90);
- $font->color('fff');
- $font->angle(0);
- });
- }
- $image->encode('data-url');
- $upload= new UploadFilesHandler();
- $dirname= 'big_gift/create_img/'. date("Ymd");
- $result= $upload->save($image, $dirname, $id, 'image');
- return $result['path'];
- // $folder_name = "uploads/UserImg/" . date("Ym/d", time());
- // $upload_path = 'public/'.$folder_name;
- // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
- // $extension = 'png';
- // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
- // 值如:1_1493521050_7BVc9v9ujP.png
- // $filename = $id.'_'.str_random(10) .'.'. $extension;
- //// File::isDirectory($upload_path) or File::makeDirectory($upload_path, 077, true, true);
- // if (!file_exists(public_path($upload_path))) {
- // mkdir(public_path($upload_path), 0777, true);
- // }
- // 将图片移动到我们的目标存储路径中
- // $image->save(public_path().'/'.$upload_path . '/' . $filename);
- // $url=env('APP_URL').'/'.$upload_path.'/'.$filename;
- // return $url;
- }
- }
|