PrizeListController.class.php
2.93 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
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
<?php
/**
* Created by IntelliJ IDEA.
* 奖品列表
* User: zhoutao
* Date: 2016-12-06
* Time: 16:48:56
*/
namespace Apicp\Controller\Mall;
use Common\Common\Attach;
use Common\Model\PrizeModel;
use Common\Service\PrizeService;
class PrizeListController extends AbstractController
{
public function before_action($action = '')
{
// 开启自动获取
$this->autoGetData = true;
$this->field = [
'name' => [
'require' => false,
'verify' => 'strval',
'cn' => '奖品名称',
],
'on_sale' => [
'require' => false,
'verify' => 'intval',
'cn' => '奖品状态',
'area' => [PrizeModel::ON_SALE, PrizeModel::OFF_SALE],
],
'page' => [
'require' => false,
'default' => 1,
'verify' => 'intval',
],
'limit' => [
'require' => false,
'default' => 15,
'verify' => 'intval',
],
];
return parent::before_action($action);
}
public function Index()
{
// 分页参数
list($start, $perpage, $this->_result['page']) = $this->getPageOption('page', 'limit');
$prizeServ = new PrizeService();
// 奖品列表
$this->_result['list'] = $prizeServ->getPrizeList($this->data, [$start, $perpage], ['sequence' => 'ASC', 'updated' => 'DESC']);
$this->_result['total'] = $prizeServ->countPrizeList($this->data);
// 处理列表中的附件
$this->dealAttach();
// 处理返回值
$this->dealResult();
return true;
}
/**
* 处理列表中的附件
* @return bool
*/
protected function dealAttach()
{
// 获取列表图片ID
$attIdArr = [];
foreach ($this->_result['list'] as &$item) {
$item['picture'] = explode(',', $item['picture']);
$item['picture'] = $item['picture'][0];
$attIdArr[] = $item['picture'];
}
// 获取图片地址
$attServ = new Attach();
$attArr = $attServ->listAttachUrl($attIdArr);
foreach ($this->_result['list'] as &$item) {
if (isset($attArr[$item['picture']])) {
$item['picture'] = $attArr[$item['picture']]['atAttachment'];
} else {
$item['picture'] = '';
}
}
return true;
}
/**
* 处理返回值
* @return bool
*/
protected function dealResult()
{
// 去除不需要的字段
$filterField = ['range_mem', 'range_dep', 'status', 'created', 'updated', 'deleted', 'is_all', 'desc', 'domain'];
foreach ($this->_result['list'] as &$item) {
foreach ($filterField as $key) {
unset($item[$key]);
}
}
return true;
}
}