<?php
|
namespace app\api\controller\plus\business;
|
|
use app\api\controller\Controller;
|
use app\api\model\plus\business\Industry as IndustryModel;
|
|
class Industry extends Controller
|
{
|
/**
|
* 获取所有行业(树状结构)
|
*/
|
public function getIndustryTree()
|
{
|
$tree = IndustryModel::getCacheTree();
|
return $this->renderSuccess('',compact('tree'));
|
}
|
|
/**
|
* 获取所有行业列表
|
*/
|
public function getIndustryList()
|
{
|
$list = IndustryModel::getCacheAll();
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 获取行业详情
|
*/
|
public function detail($industry_id)
|
{
|
$industry = IndustryModel::detail($industry_id);
|
if (!$industry) {
|
return $this->renderError('行业不存在');
|
}
|
return $this->renderSuccess('', compact('industry'));
|
}
|
|
/**
|
* 获取一级行业列表
|
*/
|
public function getFirstIndustry()
|
{
|
$list = IndustryModel::getFirstIndustry();
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 根据上级ID获取子行业
|
*/
|
public function getSubIndustry($parent_id)
|
{
|
$all = IndustryModel::getCacheAll();
|
$subList = [];
|
foreach ($all as $item) {
|
if ($item['parent_id'] == $parent_id) {
|
$subList[] = $item;
|
}
|
}
|
return $this->renderSuccess('', compact('subList'));
|
}
|
|
/**
|
* 添加行业
|
*/
|
public function add()
|
{
|
$param = request()->param();
|
$model = new IndustryModel();
|
if ($model->save($param)) {
|
// 清除缓存
|
cache('industry_' . $model::$app_id, null);
|
return $this->renderSuccess('添加成功');
|
}
|
return $this->renderError('添加失败');
|
}
|
|
/**
|
* 编辑行业
|
*/
|
public function edit()
|
{
|
$param = request()->param();
|
$model = IndustryModel::detail($param['industry_id']);
|
if (!$model) {
|
return $this->renderError('行业不存在');
|
}
|
unset($param['industry_id']);
|
if ($model->save($param)) {
|
// 清除缓存
|
cache('industry_' . $model::$app_id, null);
|
return $this->renderSuccess( '编辑成功');
|
}
|
return $this->renderError('编辑失败');
|
}
|
|
/**
|
* 删除行业
|
*/
|
public function delete()
|
{
|
$param = request()->param();
|
$model = IndustryModel::detail($param['industry_id']);
|
if (!$model) {
|
return $this->renderError('行业不存在');
|
}
|
// 检查是否有子行业
|
$subIds = IndustryModel::getSubIndustryId($param['industry_id']);
|
if (count($subIds) > 1) {
|
return $this->renderError('该行业下存在子行业,无法删除');
|
}
|
if ($model->delete()) {
|
// 清除缓存
|
cache('industry_' . $model::$app_id, null);
|
return $this->renderSuccess('', '删除成功');
|
}
|
return $this->renderError('删除失败');
|
}
|
}
|