300 lines
10 KiB
PHP
300 lines
10 KiB
PHP
<?php
|
|
/**
|
|
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.cdcloudshop.com
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
|
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace addon\store\shopapi\controller;
|
|
|
|
use app\model\system\Media as MediaModel;
|
|
|
|
|
|
class Media extends BaseStoreApi
|
|
{
|
|
/**
|
|
* 素材中心
|
|
*/
|
|
public function lists()
|
|
{
|
|
$media_model = new MediaModel();
|
|
|
|
$page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
|
|
$page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
|
|
$group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : 0;
|
|
$content = isset($this->params[ 'search_content' ]) ? $this->params[ 'search_content' ] : '';
|
|
$type = isset($this->params[ 'type' ]) ? $this->params[ 'type' ] : '';
|
|
$condition = [
|
|
[ 'site_id', '=', $this->site_id ],
|
|
[ 'type', '=', $type ]
|
|
];
|
|
//组id
|
|
if ($group_id > 0) {
|
|
$condition[] = [ 'content_group_id', '=', $group_id ];
|
|
}
|
|
if (!empty($content)) {
|
|
$condition[] = [ 'content', 'like', '%' . $content . '%' ];
|
|
}
|
|
$result = $media_model->getMediaPageList($condition, $page, $page_size);
|
|
return $this->response($result);
|
|
|
|
}
|
|
|
|
/**
|
|
* 素材组列表
|
|
*/
|
|
public function mediaGroupList()
|
|
{
|
|
$media_model = new MediaModel();
|
|
$group_list = $media_model->getMediaGroupList([ [ 'site_id', '=', $this->site_id ] ]);
|
|
return $this->response($group_list);
|
|
}
|
|
|
|
/**
|
|
* 添加素材
|
|
*/
|
|
public function addMedia()
|
|
{
|
|
|
|
$content_group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
|
|
$content = isset($this->params[ 'text_content' ]) ? $this->params[ 'text_content' ] : '';
|
|
$explain = isset($this->params[ 'text_explain' ]) ? $this->params[ 'text_explain' ] : '';
|
|
$image = isset($this->params[ 'image' ]) ? $this->params[ 'image' ] : '';
|
|
$pic_name = isset($this->params[ 'pic_name' ]) ? $this->params[ 'pic_name' ] : '';
|
|
$type = isset($this->params[ 'type' ]) ? $this->params[ 'type' ] : '';
|
|
$title = isset($this->params[ 'title' ]) ? $this->params[ 'title' ] : '';
|
|
$link = isset($this->params[ 'link' ]) ? $this->params[ 'link' ] : '';
|
|
$desc = isset($this->params[ 'desc' ]) ? $this->params[ 'desc' ] : '';
|
|
|
|
$data = [
|
|
'content_group_id' => $content_group_id,
|
|
'explain' => $explain,
|
|
'type' => $type,
|
|
'create_time' => time(),
|
|
'site_id' => $this->site_id
|
|
];
|
|
if ($type == 'text') {
|
|
//新增文本
|
|
$data[ 'content' ] = $content;
|
|
} else if ($type == 'image') {
|
|
//新增图片
|
|
$data[ 'cover' ] = $image;
|
|
$data[ 'content' ] = $pic_name;
|
|
} else if ($type == 'link') {
|
|
//新增链接
|
|
$data[ 'cover' ] = $image;
|
|
$data[ 'title' ] = $title;
|
|
$data[ 'link' ] = $link;
|
|
$data[ 'content' ] = $desc;
|
|
}
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->addMedia($data);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 获取素材详情
|
|
*/
|
|
public function getMediaInfo()
|
|
{
|
|
$id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : '';
|
|
|
|
$condition = [
|
|
[ 'id', '=', $id ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->getMediaInfo($condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 编辑素材
|
|
* @return mixed
|
|
*/
|
|
public function editMedia()
|
|
{
|
|
$content_group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
|
|
$content = isset($this->params[ 'text_content' ]) ? $this->params[ 'text_content' ] : '';
|
|
$explain = isset($this->params[ 'text_explain' ]) ? $this->params[ 'text_explain' ] : '';
|
|
$image = isset($this->params[ 'image' ]) ? $this->params[ 'image' ] : '';
|
|
$pic_name = isset($this->params[ 'pic_name' ]) ? $this->params[ 'pic_name' ] : '';
|
|
$type = isset($this->params[ 'type' ]) ? $this->params[ 'type' ] : '';
|
|
$title = isset($this->params[ 'title' ]) ? $this->params[ 'title' ] : '';
|
|
$link = isset($this->params[ 'link' ]) ? $this->params[ 'link' ] : '';
|
|
$desc = isset($this->params[ 'desc' ]) ? $this->params[ 'desc' ] : '';
|
|
$media_id = isset($this->params[ 'media_id' ]) ? $this->params[ 'media_id' ] : '';
|
|
$data = [
|
|
'content_group_id' => $content_group_id,
|
|
'explain' => $explain,
|
|
'type' => $type,
|
|
'update_time' => time(),
|
|
];
|
|
if ($type == 'text') {
|
|
//新增文本
|
|
$data[ 'content' ] = $content;
|
|
} else if ($type == 'image') {
|
|
//新增图片
|
|
$data[ 'cover' ] = $image;
|
|
$data[ 'content' ] = $pic_name;
|
|
} else if ($type == 'link') {
|
|
//新增链接
|
|
$data[ 'cover' ] = $image;
|
|
$data[ 'title' ] = $title;
|
|
$data[ 'link' ] = $link;
|
|
$data[ 'content' ] = $desc;
|
|
}
|
|
$condition = [
|
|
[ 'id', '=', $media_id ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->editMedia($data, $condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 删除素材
|
|
*/
|
|
public function deletemedia()
|
|
{
|
|
|
|
$id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : '';
|
|
|
|
$condition = [
|
|
[ 'id', '=', $id ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->deleteMedia($condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 批量删除
|
|
*/
|
|
public function deleteMedias()
|
|
{
|
|
$ids = isset($this->params[ 'media_ids' ]) ? $this->params[ 'media_ids' ] : '';
|
|
$condition = [
|
|
[ 'id', 'in', $ids ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->deleteMedia($condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 移动素材
|
|
*/
|
|
public function moveMedia()
|
|
{
|
|
|
|
$content_group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
|
|
$media_id = isset($this->params[ 'media_id' ]) ? $this->params[ 'media_id' ] : '';
|
|
$data = [
|
|
'content_group_id' => $content_group_id,
|
|
];
|
|
$condition = [
|
|
[ 'id', '=', $media_id ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->editMedia($data, $condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 添加素材组
|
|
* @return mixed
|
|
*/
|
|
public function addMediaGroup()
|
|
{
|
|
$name = isset($this->params[ 'group_name' ]) ? $this->params[ 'group_name' ] : '';//话术组 名称
|
|
|
|
$data = array (
|
|
'site_id' => $this->site_id,
|
|
'create_time' => time(),
|
|
'name' => $name
|
|
);
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->addMediaGroup($data);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 编辑素材组
|
|
* @return mixed
|
|
*/
|
|
public function editMediaGroup()
|
|
{
|
|
$group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : 0;
|
|
$name = isset($this->params[ 'group_name' ]) ? $this->params[ 'group_name' ] : '';//话术组 名称
|
|
$data = array (
|
|
'name' => $name
|
|
);
|
|
$condition = array (
|
|
[ 'site_id', '=', $this->site_id ],
|
|
[ 'group_id', '=', $group_id ],
|
|
);
|
|
$media_model = new MediaModel();
|
|
$result = $media_model->editMediaGroup($data, $condition);
|
|
return $this->response($result);
|
|
|
|
}
|
|
|
|
/**
|
|
* 删除素材组
|
|
*/
|
|
public function deleteMediaGroup()
|
|
{
|
|
$group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : 0;
|
|
|
|
$condition = array (
|
|
[ 'site_id', '=', $this->site_id ],
|
|
[ 'group_id', '=', $group_id ],
|
|
);
|
|
$media_model = new MediaModel();
|
|
//查询素材组下有无素材
|
|
$media = $media_model->getMediaList([ [ 'site_id', '=', $this->site_id ], [ 'content_group_id', '=', $group_id ] ]);
|
|
if (!empty($media[ 'data' ])) {
|
|
$data[ 'code' ] = -1;
|
|
$data[ 'message' ] = '该分组下还有素材无法删除';
|
|
return $data;
|
|
}
|
|
$result = $media_model->deleteMediaGroup($condition);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 素材选择弹窗
|
|
*/
|
|
public function mediaSelect()
|
|
{
|
|
$media_model = new MediaModel();
|
|
$group_id = isset($this->params[ 'group_id' ]) ? $this->params[ 'group_id' ] : '';
|
|
$content = isset($this->params[ 'content' ]) ? $this->params[ 'content' ] : '';
|
|
$type = isset($this->params[ 'type' ]) ? $this->params[ 'type' ] : 1;
|
|
|
|
$condition = [
|
|
[ 'type', '=', $type ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
if (!empty($group_id)) {
|
|
$condition[] = [ 'content_group_id', '=', $group_id ];
|
|
}
|
|
if (!empty($content)) {
|
|
$condition[] = [ 'content', 'like', '%' . $content . '%' ];
|
|
}
|
|
$media = $media_model->getMediaList($condition);
|
|
return $this->response($media);
|
|
|
|
}
|
|
} |