342 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			342 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | Author: CRMEB Team <admin@crmeb.com>
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								declare (strict_types=1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace app\services\system\attachment;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								use app\services\BaseServices;
							 | 
						|||
| 
								 | 
							
								use app\dao\system\attachment\SystemAttachmentDao;
							 | 
						|||
| 
								 | 
							
								use app\services\product\product\CopyTaobaoServices;
							 | 
						|||
| 
								 | 
							
								use crmeb\exceptions\AdminException;
							 | 
						|||
| 
								 | 
							
								use crmeb\exceptions\ApiException;
							 | 
						|||
| 
								 | 
							
								use crmeb\exceptions\UploadException;
							 | 
						|||
| 
								 | 
							
								use app\services\other\UploadService;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
								 *
							 | 
						|||
| 
								 | 
							
								 * Class SystemAttachmentServices
							 | 
						|||
| 
								 | 
							
								 * @package app\services\attachment
							 | 
						|||
| 
								 | 
							
								 * @method getYesterday() 获取昨日生成数据
							 | 
						|||
| 
								 | 
							
								 * @method delYesterday() 删除昨日生成数据
							 | 
						|||
| 
								 | 
							
								 * @method scanUploadImage($scan_token) 获取扫码上传的图片数据
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								class SystemAttachmentServices extends BaseServices
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * SystemAttachmentServices constructor.
							 | 
						|||
| 
								 | 
							
								     * @param SystemAttachmentDao $dao
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function __construct(SystemAttachmentDao $dao)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $this->dao = $dao;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取单个资源
							 | 
						|||
| 
								 | 
							
								     * @param array $where
							 | 
						|||
| 
								 | 
							
								     * @param string $field
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DataNotFoundException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\DbException
							 | 
						|||
| 
								 | 
							
								     * @throws \think\db\exception\ModelNotFoundException
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function getInfo(array $where, string $field = '*')
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        return $this->dao->getOne($where, $field);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 获取图片列表
							 | 
						|||
| 
								 | 
							
								     * @param array $where
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function getImageList(array $where)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        [$page, $limit] = $this->getPageValue();
							 | 
						|||
| 
								 | 
							
								        $list = $this->dao->getList($where, $page, $limit);
							 | 
						|||
| 
								 | 
							
								        $site_url = sys_config('site_url');
							 | 
						|||
| 
								 | 
							
								        foreach ($list as &$item) {
							 | 
						|||
| 
								 | 
							
								            if ($site_url) {
							 | 
						|||
| 
								 | 
							
								                $item['satt_dir'] = (strpos($item['satt_dir'], $site_url) !== false || strstr($item['satt_dir'], 'http') !== false) ? $item['satt_dir'] : $site_url . $item['satt_dir'];
							 | 
						|||
| 
								 | 
							
								                $item['att_dir'] = (strpos($item['att_dir'], $site_url) !== false || strstr($item['att_dir'], 'http') !== false) ? $item['satt_dir'] : $site_url . $item['att_dir'];
							 | 
						|||
| 
								 | 
							
								                $item['time'] = date('Y-m-d H:i:s', $item['time']);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $where['module_type'] = 1;
							 | 
						|||
| 
								 | 
							
								        $count = $this->dao->count($where);
							 | 
						|||
| 
								 | 
							
								        return compact('list', 'count');
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 删除图片
							 | 
						|||
| 
								 | 
							
								     * @param string $ids
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function del(string $ids)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $ids = explode(',', $ids);
							 | 
						|||
| 
								 | 
							
								        if (empty($ids)) throw new AdminException(400599);
							 | 
						|||
| 
								 | 
							
								        foreach ($ids as $v) {
							 | 
						|||
| 
								 | 
							
								            $attinfo = $this->dao->get((int)$v);
							 | 
						|||
| 
								 | 
							
								            if ($attinfo) {
							 | 
						|||
| 
								 | 
							
								                try {
							 | 
						|||
| 
								 | 
							
								                    $upload = UploadService::init($attinfo['image_type']);
							 | 
						|||
| 
								 | 
							
								                    if ($attinfo['image_type'] == 1) {
							 | 
						|||
| 
								 | 
							
								                        if (strpos($attinfo['att_dir'], '/') == 0) {
							 | 
						|||
| 
								 | 
							
								                            $attinfo['att_dir'] = substr($attinfo['att_dir'], 1);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        if ($attinfo['att_dir']) $upload->delete($attinfo['att_dir']);
							 | 
						|||
| 
								 | 
							
								                    } else {
							 | 
						|||
| 
								 | 
							
								                        if ($attinfo['name']) $upload->delete($attinfo['name']);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                } catch (\Throwable $e) {
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                $this->dao->delete((int)$v);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 图片上传
							 | 
						|||
| 
								 | 
							
								     * @param int $pid
							 | 
						|||
| 
								 | 
							
								     * @param string $file
							 | 
						|||
| 
								 | 
							
								     * @param int $upload_type
							 | 
						|||
| 
								 | 
							
								     * @param int $type
							 | 
						|||
| 
								 | 
							
								     * @return mixed
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function upload(int $pid, string $file, int $upload_type, int $type, $menuName, $uploadToken = '')
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $realName = false;
							 | 
						|||
| 
								 | 
							
								        if ($upload_type == 0) {
							 | 
						|||
| 
								 | 
							
								            $upload_type = sys_config('upload_type', 1);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if ($menuName == 'weixin_ckeck_file' || $menuName == 'ico_path') {
							 | 
						|||
| 
								 | 
							
								            $upload_type = 1;
							 | 
						|||
| 
								 | 
							
								            $realName = true;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            $path = make_path('attach', 2, true);
							 | 
						|||
| 
								 | 
							
								            if ($path === '') {
							 | 
						|||
| 
								 | 
							
								                throw new AdminException(400555);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            $upload = UploadService::init($upload_type);
							 | 
						|||
| 
								 | 
							
								            $res = $upload->to($path)->validate()->move($file, $realName);
							 | 
						|||
| 
								 | 
							
								            if ($res === false) {
							 | 
						|||
| 
								 | 
							
								                throw new UploadException($upload->getError());
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                $fileInfo = $upload->getUploadInfo();
							 | 
						|||
| 
								 | 
							
								                $fileType = pathinfo($fileInfo['name'], PATHINFO_EXTENSION);
							 | 
						|||
| 
								 | 
							
								                if ($fileInfo && $type == 0 && !in_array($fileType, ['xlsx', 'xls', 'mp4'])) {
							 | 
						|||
| 
								 | 
							
								                    $data['name'] = $fileInfo['name'];
							 | 
						|||
| 
								 | 
							
								                    $data['real_name'] = $fileInfo['real_name'];
							 | 
						|||
| 
								 | 
							
								                    $data['att_dir'] = $fileInfo['dir'];
							 | 
						|||
| 
								 | 
							
								                    $data['satt_dir'] = $fileInfo['thumb_path'];
							 | 
						|||
| 
								 | 
							
								                    $data['att_size'] = $fileInfo['size'];
							 | 
						|||
| 
								 | 
							
								                    $data['att_type'] = $fileInfo['type'];
							 | 
						|||
| 
								 | 
							
								                    $data['image_type'] = $upload_type;
							 | 
						|||
| 
								 | 
							
								                    $data['module_type'] = 1;
							 | 
						|||
| 
								 | 
							
								                    $data['time'] = $fileInfo['time'] ?? time();
							 | 
						|||
| 
								 | 
							
								                    $data['pid'] = $pid;
							 | 
						|||
| 
								 | 
							
								                    $data['scan_token'] = $uploadToken;
							 | 
						|||
| 
								 | 
							
								                    $this->dao->save($data);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return $res->filePath;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        } catch (\Exception $e) {
							 | 
						|||
| 
								 | 
							
								            throw new UploadException($e->getMessage());
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * @param array $data
							 | 
						|||
| 
								 | 
							
								     * @return \crmeb\basic\BaseModel
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function move(array $data)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $this->dao->move($data);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 添加信息
							 | 
						|||
| 
								 | 
							
								     * @param array $data
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function save(array $data)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $this->dao->save($data);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * TODO 添加附件记录
							 | 
						|||
| 
								 | 
							
								     * @param $name
							 | 
						|||
| 
								 | 
							
								     * @param $att_size
							 | 
						|||
| 
								 | 
							
								     * @param $att_type
							 | 
						|||
| 
								 | 
							
								     * @param $att_dir
							 | 
						|||
| 
								 | 
							
								     * @param string $satt_dir
							 | 
						|||
| 
								 | 
							
								     * @param int $pid
							 | 
						|||
| 
								 | 
							
								     * @param int $imageType
							 | 
						|||
| 
								 | 
							
								     * @param int $time
							 | 
						|||
| 
								 | 
							
								     * @return SystemAttachment
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function attachmentAdd($name, $att_size, $att_type, $att_dir, $satt_dir = '', $pid = 0, $imageType = 1, $time = 0, $module_type = 1)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $data['name'] = $name;
							 | 
						|||
| 
								 | 
							
								        $data['att_dir'] = $att_dir;
							 | 
						|||
| 
								 | 
							
								        $data['satt_dir'] = $satt_dir;
							 | 
						|||
| 
								 | 
							
								        $data['att_size'] = $att_size;
							 | 
						|||
| 
								 | 
							
								        $data['att_type'] = $att_type;
							 | 
						|||
| 
								 | 
							
								        $data['image_type'] = $imageType;
							 | 
						|||
| 
								 | 
							
								        $data['module_type'] = $module_type;
							 | 
						|||
| 
								 | 
							
								        $data['time'] = $time ?: time();
							 | 
						|||
| 
								 | 
							
								        $data['pid'] = $pid;
							 | 
						|||
| 
								 | 
							
								        if (!$this->dao->save($data)) {
							 | 
						|||
| 
								 | 
							
								            throw new ApiException(100022);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return true;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 推广名片生成
							 | 
						|||
| 
								 | 
							
								     * @param $name
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function getLikeNameList($name)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        return $this->dao->getLikeNameList(['like_name' => $name], 0, 0);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 清除昨日海报
							 | 
						|||
| 
								 | 
							
								     * @return bool
							 | 
						|||
| 
								 | 
							
								     * @throws \Exception
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function emptyYesterdayAttachment(): bool
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        try {
							 | 
						|||
| 
								 | 
							
								            $list = $this->dao->getYesterday();
							 | 
						|||
| 
								 | 
							
								            foreach ($list as $key => $item) {
							 | 
						|||
| 
								 | 
							
								                $upload = UploadService::init((int)$item['image_type']);
							 | 
						|||
| 
								 | 
							
								                if ($item['image_type'] == 1) {
							 | 
						|||
| 
								 | 
							
								                    $att_dir = $item['att_dir'];
							 | 
						|||
| 
								 | 
							
								                    if ($att_dir && strstr($att_dir, 'uploads') !== false) {
							 | 
						|||
| 
								 | 
							
								                        if (strstr($att_dir, 'http') === false)
							 | 
						|||
| 
								 | 
							
								                            $upload->delete($att_dir);
							 | 
						|||
| 
								 | 
							
								                        else {
							 | 
						|||
| 
								 | 
							
								                            $filedir = substr($att_dir, strpos($att_dir, 'uploads'));
							 | 
						|||
| 
								 | 
							
								                            if ($filedir) $upload->delete($filedir);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    if ($item['name']) $upload->delete($item['name']);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            $this->dao->delYesterday();
							 | 
						|||
| 
								 | 
							
								            return true;
							 | 
						|||
| 
								 | 
							
								        } catch (\Exception $e) {
							 | 
						|||
| 
								 | 
							
								            $this->dao->delYesterday();
							 | 
						|||
| 
								 | 
							
								            return true;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 视频分片上传
							 | 
						|||
| 
								 | 
							
								     * @param $data
							 | 
						|||
| 
								 | 
							
								     * @param $file
							 | 
						|||
| 
								 | 
							
								     * @return mixed
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function videoUpload($data, $file)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $pathinfo = pathinfo($data['filename']);
							 | 
						|||
| 
								 | 
							
								        if (isset($pathinfo['extension']) && !in_array($pathinfo['extension'], ['avi', 'mp4', 'wmv', 'rm', 'mpg', 'mpeg', 'mov', 'flv', 'swf'])) {
							 | 
						|||
| 
								 | 
							
								            throw new AdminException(400558);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $public_dir = app()->getRootPath() . 'public';
							 | 
						|||
| 
								 | 
							
								        $dir = '/uploads/attach/' . date('Y') . DIRECTORY_SEPARATOR . date('m') . DIRECTORY_SEPARATOR . date('d');
							 | 
						|||
| 
								 | 
							
								        $all_dir = $public_dir . $dir;
							 | 
						|||
| 
								 | 
							
								        if (!is_dir($all_dir)) mkdir($all_dir, 0777, true);
							 | 
						|||
| 
								 | 
							
								        $filename = $all_dir . '/' . $data['filename'] . '__' . $data['chunkNumber'];
							 | 
						|||
| 
								 | 
							
								        move_uploaded_file($file['tmp_name'], $filename);
							 | 
						|||
| 
								 | 
							
								        $res['code'] = 0;
							 | 
						|||
| 
								 | 
							
								        $res['msg'] = 'error';
							 | 
						|||
| 
								 | 
							
								        $res['file_path'] = '';
							 | 
						|||
| 
								 | 
							
								        if ($data['chunkNumber'] == $data['totalChunks']) {
							 | 
						|||
| 
								 | 
							
								            $blob = '';
							 | 
						|||
| 
								 | 
							
								            for ($i = 1; $i <= $data['totalChunks']; $i++) {
							 | 
						|||
| 
								 | 
							
								                $blob .= file_get_contents($all_dir . '/' . $data['filename'] . '__' . $i);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            file_put_contents($all_dir . '/' . $data['filename'], $blob);
							 | 
						|||
| 
								 | 
							
								            for ($i = 1; $i <= $data['totalChunks']; $i++) {
							 | 
						|||
| 
								 | 
							
								                @unlink($all_dir . '/' . $data['filename'] . '__' . $i);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (file_exists($all_dir . '/' . $data['filename'])) {
							 | 
						|||
| 
								 | 
							
								                $res['code'] = 2;
							 | 
						|||
| 
								 | 
							
								                $res['msg'] = 'success';
							 | 
						|||
| 
								 | 
							
								                $res['file_path'] = sys_config('site_url') . $dir . '/' . $data['filename'];
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        } else {
							 | 
						|||
| 
								 | 
							
								            if (file_exists($all_dir . '/' . $data['filename'] . '__' . $data['chunkNumber'])) {
							 | 
						|||
| 
								 | 
							
								                $res['code'] = 1;
							 | 
						|||
| 
								 | 
							
								                $res['msg'] = 'waiting';
							 | 
						|||
| 
								 | 
							
								                $res['file_path'] = '';
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $res;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 网络图片上传
							 | 
						|||
| 
								 | 
							
								     * @param $data
							 | 
						|||
| 
								 | 
							
								     * @return bool
							 | 
						|||
| 
								 | 
							
								     * @throws \Exception
							 | 
						|||
| 
								 | 
							
								     * @author 吴汐
							 | 
						|||
| 
								 | 
							
								     * @email 442384644@qq.com
							 | 
						|||
| 
								 | 
							
								     * @date 2023/06/13
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public function onlineUpload($data)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        //生成附件目录
							 | 
						|||
| 
								 | 
							
								        if (make_path('attach', 3, true) === '') {
							 | 
						|||
| 
								 | 
							
								            throw new AdminException(400555);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        //上传图片
							 | 
						|||
| 
								 | 
							
								        /** @var SystemAttachmentServices $systemAttachmentService */
							 | 
						|||
| 
								 | 
							
								        $systemAttachmentService = app()->make(SystemAttachmentServices::class);
							 | 
						|||
| 
								 | 
							
								        $siteUrl = sys_config('site_url');
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        foreach ($data['images'] as $image) {
							 | 
						|||
| 
								 | 
							
								            $uploadValue = app()->make(CopyTaobaoServices::class)->downloadImage($image);
							 | 
						|||
| 
								 | 
							
								            if (is_array($uploadValue)) {
							 | 
						|||
| 
								 | 
							
								                //TODO 拼接图片地址
							 | 
						|||
| 
								 | 
							
								                if ($uploadValue['image_type'] == 1) {
							 | 
						|||
| 
								 | 
							
								                    $imagePath = $siteUrl . $uploadValue['path'];
							 | 
						|||
| 
								 | 
							
								                } else {
							 | 
						|||
| 
								 | 
							
								                    $imagePath = $uploadValue['path'];
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                //写入数据库
							 | 
						|||
| 
								 | 
							
								                if (!$uploadValue['is_exists']) {
							 | 
						|||
| 
								 | 
							
								                    $systemAttachmentService->save([
							 | 
						|||
| 
								 | 
							
								                        'name' => $uploadValue['name'],
							 | 
						|||
| 
								 | 
							
								                        'real_name' => $uploadValue['name'],
							 | 
						|||
| 
								 | 
							
								                        'att_dir' => $imagePath,
							 | 
						|||
| 
								 | 
							
								                        'satt_dir' => $imagePath,
							 | 
						|||
| 
								 | 
							
								                        'att_size' => $uploadValue['size'],
							 | 
						|||
| 
								 | 
							
								                        'att_type' => $uploadValue['mime'],
							 | 
						|||
| 
								 | 
							
								                        'image_type' => $uploadValue['image_type'],
							 | 
						|||
| 
								 | 
							
								                        'module_type' => 1,
							 | 
						|||
| 
								 | 
							
								                        'time' => time(),
							 | 
						|||
| 
								 | 
							
								                        'pid' => $data['pid']
							 | 
						|||
| 
								 | 
							
								                    ]);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return true;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |