IconDeleteController.class.php
2.64 KB
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
<?php
/**
* IconDeleteController.class.php
* 【运营管理】管理后台栏目删除接口
* @author Deepseath
* @version $Id$
*/
namespace Apicp\Controller\Recommender;
use Apicp\Controller\Recommender\AbstractController;
use Common\Common\AttachOperation;
use Common\Service\CommonRecommenderService;
use Common\Model\CommonRecommenderModel;
use Common\Service\CommonRecommenderRightService;
/**
* 【管理后台】栏目删除接口
*/
class IconDeleteController extends AbstractController
{
/**
* 栏目删除接口
* @desc 【管理后台】栏目删除接口
* @param mixed recommenderId:true 待删除的栏目 ID,<i>允许数值、以“,”分隔的字符串以及数组格式</i>
* @return array()
*/
public function Index()
{
$recommenderId = I('recommenderId');
if (empty($recommenderId)) {
return $this->_set_error('_ERR_RECOMMENDER_ICON_ID_EMPTY_40102');
}
if (is_scalar($recommenderId)) {
// 如果给定的是字符串格式,则使用半角逗号分隔
$recommenderId = explode(',', $recommenderId);
}
if (!is_array($recommenderId)) {
return $this->_set_error('_ERR_RECOMMENDER_ICON_ID_ERROR_40103');
}
// 将请求的 ID 整理类型
$recommenderId = array_map('intval', $recommenderId);
// 将重复的 ID 移除
$recommenderId = array_unique($recommenderId);
$recommenderService = new CommonRecommenderService();
$recommenderRightService = new CommonRecommenderRightService();
try {
$recommenderService->start_trans();
// 推荐主表数据删除
$conds = [
'recommender_id' => $recommenderId,
'type' => CommonRecommenderModel::TYPE_ICON,
'system' => CommonRecommenderModel::SYSTEM_NO
];
$recommenderService->delete_by_conds($conds);
// 推荐权限表数据删除
$recommenderRightService->delete_by_conds($conds);
$recommenderService->commit();
} catch (\Think\Exception $e) {
$recommenderService->rollback();
\Think\Log::record('删除 icon 栏目数据发生错误:' . print_r($conds, true) . "\r\n" . print_r($e, true));
$this->_set_error('_ERR_RECOMMENDER_ICON_DB_ERROR_40129');
return false;
}
// 附件操作
$attach_serv = new AttachOperation();
$attach_serv->delete_attach(
APP_DIR,
'recommender',
$recommenderId
);
return $this->_result = $recommenderId;
}
}