123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402 |
- <?php
- /**
- * 系统设置
- * @author system
- * @version 1.0
- * @date 2018-05-14 13:30:36
- *
- */
- namespace App\Http\Controllers\Admin\Album;
- use App\Http\Controllers\Admin\Controller;
- use App\Models\AgentBannerModel;
- use App\Models\AlbumManufacturerModel;
- use App\Models\AlbumUserModel;
- use App\Services\OSS;
- use Illuminate\Http\Request;
- use App\Repositories\Base\Criteria\OrderBy;
- use App\Repositories\Album\Criteria\MultiWhere;
- use App\Repositories\Album\ManufacturerRepository;
- class ManufacturerController extends Controller
- {
- private $repository;
- public function __construct(ManufacturerRepository $repository) {
- if(!$this->repository) $this->repository = $repository;
- }
- function list(Request $request){
- $search['keyword'] = $request->input('keyword');
- $isalbum = request('isalbum')?request('isalbum'):0;
- $query = $this->repository->pushCriteria(new MultiWhere($search));
- if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
- $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
- }
- $list = $query->paginate(10);
- return view('admin.album.manufacturer.index',compact('list','isalbum'));
- }
- function index(Request $request)
- {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($data) {
- $data['banner'] = json_decode($data['banner'], true);
- }
- $banner = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',0]])->get();
- $imgs = array();
- foreach ($banner as $key => $val) {
- $imgs[] = $val['url'];
- }
- $data['agent_banner'] = $imgs;
- $video = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',1]])->first();
- return view('admin.album.manufacturer.edit', compact('data', 'video'));
- }
- public function viewShare(Request $request)
- {
- $img = '/base/img/share.jpg';
- return view('admin.album.poster.view', compact('img'));
- }
- public function platform(Request $request)
- {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($data) {
- $data['banner'] = json_decode($data['banner'], true);
- }
- $banner = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',0]])->get();
- $imgs = array();
- foreach ($banner as $key => $val) {
- $imgs[] = $val['url'];
- }
- $data['agent_banner'] = $imgs;
- $video = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',1]])->first();
- return view('admin.album.manufacturer.platform-edit', compact('data', 'video'));
- }
- public function furniturePlatform(Request $request)
- {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($data) {
- $data['banner'] = json_decode($data['banner'], true);
- }
- return view('admin.album.manufacturer.furniture-platform', compact('data', 'video'));
- }
- public function furnitureSystem(Request $request)
- {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- return view('admin.album.manufacturer.furniture-system', compact('data', 'video'));
- }
- public function albumSystem(Request $request)
- {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($data) {
- $data['banner'] = json_decode($data['banner'], true);
- }
- $banner = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',0]])->get();
- $imgs = array();
- foreach ($banner as $key => $val) {
- $imgs[] = $val['url'];
- }
- $data['agent_banner'] = $imgs;
- $video = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',1]])->first();
- return view('admin.album.manufacturer.album-edit', compact('data', 'video'));
- }
-
- function indexFurniture(Request $request) {
- if ($request->method() == 'POST') {
- $iscreate = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($iscreate) {
- return $this->_updateSave();
- } else {
- return $this->_createSave();
- }
- }
- $data = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if ($data) {
- $data['banner'] = json_decode($data['banner'], true);
- }
- return view('admin.album.manufacturer.edit-furniture', compact('data'));
- }
- function create(Request $request)
- {
- if ($request->method() == 'POST') {
- return $this->_createSave();
- }
- return view('admin.album.manufacturer.edit-all');
- }
- /**
- * 保存修改
- */
- private function _createSave(){
- $data = (array) request('data');
- $ma = AlbumManufacturerModel::where('id','!=',0)->orderByDesc('id')->first();
- $data['store_id'] =$ma->id+1;
- if (!empty($data['banner']['url'])) {
- foreach ($data['banner']['url'] as $key => $val) {
- $data['banner']['url'][$key] = $this->formatImgUrl($val);
- }
- $data['banner'] = json_encode($data['banner']['url']);
- }
- if (isset($data['banner_agent']['url'])) {
- $agent_banner = $data['banner_agent']['url'];
- unset($data['banner_agent']);
- if ($agent_banner) {
- foreach($agent_banner as $key => $val){
- $add['url'] = $this->formatImgUrl($val);
- $add['agent_id'] = request('id');
- $add['type'] = 0;
- AgentBannerModel::create($add);
- }
- }
- }
- if(!empty($data['avatar']))
- $data['avatar'] = $this->formatImgUrl($data['avatar']);
- if (!empty($data['logo'])) {
- $data['logo'] = $this->formatImgUrl($data['logo']);
- }
- if (!empty($data['qrcode'])) {
- $data['qrcode'] = $this->formatImgUrl($data['qrcode']);
- }
- if (!empty($data['share_image'])) {
- $data['share_image'] = $this->formatImgUrl($data['share_image']);
- }if (!empty($data['circleOfFriends'])) {
- $data['circleOfFriends'] = $this->formatImgUrl($data['circleOfFriends']);
- }
- if(!empty($data['background_pic']))
- $data['background_pic'] = $this->formatImgUrl($data['background_pic']);
- if(!empty($data['advertising_pic']))
- $data['advertising_pic'] = $this->formatImgUrl($data['advertising_pic']);
- if(!empty($data['notice_icon']))
- $data['notice_icon'] = $this->formatImgUrl($data['notice_icon']);
- if(!empty($data['furniture_ads_pic']))
- $data['furniture_ads_pic'] = $this->formatImgUrl($data['furniture_ads_pic']);
- $id = $this->repository->create($data);
- if ($id) {
- $this->showMessage('添加成功');
- } else {
- return $this->showWarning('添加失败');
- }
- }
- /**
- * 保存修改
- */
- private function _updateSave() {
- $data = (array) request('data');
- // dd($data);
- $saveData = AlbumManufacturerModel::where('store_id', $this->getStoreId())->first();
- if (!empty($data['avatar'])) {
- $data['avatar'] = $this->formatImgUrl($data['avatar']);
- //$this->deleteUrl($saveData->avatar);
- }
- $banner = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',0]])->get();
- if($banner){
- foreach ($banner as $key=>$val){
- $url = str_replace(env('APP_URL'),public_path(),$val['url']);
- if(file_exists($url)) unlink($url);
- }
- }
- AgentBannerModel::where([['store_id',$this->getStoreId()],['type',0]])->delete();
- if(!empty($data['agent_banner']['url'])){
- foreach($data['agent_banner']['url'] as $key=>$val){
- $add['url'] = $this->formatImgUrl($val);
- $add['store_id'] = $this->getStoreId();
- $add['type'] = 0;
- AgentBannerModel::create($add);
- }
- }
- unset($data['agent_banner']);
- if (!empty($data['logo'])) {
- $data['logo'] = $this->formatImgUrl($data['logo']);
- }
- if (!empty($data['background_pic'])) {
- $data['background_pic'] = $this->formatImgUrl($data['background_pic']);
- //$this->deleteUrl($saveData->background_pic);
- }
- if (!empty($data['advertising_pic'])) {
- $data['advertising_pic'] = $this->formatImgUrl($data['advertising_pic']);
- // $this->deleteUrl($saveData->advertising_pic);
- }
- if (!empty($data['circleOfFriends'])) {
- $data['circleOfFriends'] = $this->formatImgUrl($data['circleOfFriends']);
- // $this->deleteUrl($saveData->advertising_pic);
- }
- if (!empty($data['share_image'])) {
- $data['share_image'] = $this->formatImgUrl($data['share_image']);
- }
- if (!empty($data['qrcode'])) {
- $data['qrcode'] = $this->formatImgUrl($data['qrcode']);
- }
- if (!empty($data['notice_icon'])) {
- $data['notice_icon'] = $this->formatImgUrl($data['notice_icon']);
- // $this->deleteUrl($saveData->notice_icon);
- }
- if (!empty($data['furniture_ads_pic'])) {
- $data['furniture_ads_pic'] = $this->formatImgUrl($data['furniture_ads_pic']);
- // $this->deleteUrl($saveData->furniture_ads_pic);
- }
- if (!empty($data['banner']['url'])) {
- foreach ($data['banner']['url'] as $key => $val) {
- $data['banner']['url'][$key] = $this->formatImgUrl($val);
- }
- $data['banner'] = json_encode($data['banner']['url']);
- /*$banner = json_decode($data['banner'], true);
- foreach ($banner as $val) {
- $this->deleteUrl($val);
- }*/
- }
- $id = $saveData->id;
- $ok = $this->repository->update($id,$data);
- if($ok) {
- return $this->showMessage('操作成功');
- }else{
- return $this->showWarning('操作失败');
- }
- }
- public function view(Request $request) {
- $data = $this->repository->find(request('id'));
- return view('admin.album.manufacturer.view',compact('data'));
- }
- /**
- *
- * 状态改变
- *
- */
- public function status(Request $request) {
- $ok = $this->repository->updateStatus(request('id'),request('status'));
- if($ok) {
- return $this->showMessage('操作成功');
- }else{
- return $this->showWarning('操作失败');
- }
- }
-
- /**
- * 删除
- */
- public function destroy(Request $request)
- {
- $bool = $this->repository->destroy($request->get('id'));
- if ($bool) {
- return $this->showMessage('操作成功');
- } else {
- return $this->showWarning("操作失败");
- }
- }
- public function uploadVideo(Request $request)
- {
- $video = $request->file('video');
- // 判断图片有效性
- if (!$video) {
- return back()->withErrors('上传视频无效..');
- }
- $check = AgentBannerModel::where([['store_id',$this->getStoreId()],['type',1]])->first();
- if($check) OSS::publicDeleteObject(config('alioss.BucketName'),$check->oss_key);
- // 获取图片在临时文件中的地址
- $videoPath = $video->getRealPath();
- // 制作文件名
- $ex = $video->getClientOriginalExtension();
- $key = time() . rand(10000, 99999999) . '.' . $ex;
- //阿里 OSS 文件上传
- $result = OSS::publicUpload(config('alioss.BucketName'), $key, $videoPath);
- if ($result) {
- $data['name'] = $video->getClientOriginalName();
- $data['type'] = 1;
- $data['store_id'] = $this->getStoreId();
- $data['oss_key'] = $key;
- $data['url'] = config('alioss.FileUrl') . $key;
- $video = AgentBannerModel::create($data);
- if (!$video) {
- return back()->withErrors('上传视频失败..');
- }
- return $this->showMessage('上传成功');
- } else {
- return back()->withErrors('上传视频失败..');
- }
- }
- public function videoDel(Request $request)
- {
- $check = AgentBannerModel::find($request->get('id'));
- if($check) $osskey = $check->oss_key;
- if(!$check) return $this->showWarning("操作失败");
- $bool = AgentBannerModel::where('id',$request->get('id'))->delete();
- if($bool) {
- OSS::publicDeleteObject(config('alioss.BucketName'),$osskey);
- return $this->showMessage('操作成功');
- }else{
- return $this->showWarning("操作失败");
- }
- }
- }
|