quanwei
2025-11-13 572f6074c5bedcdcbabcd42995c0a2890995c870
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?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('删除失败');
    }
}