ManufacturerRepository.php
3.83 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php
namespace domain\manufacturer;
use common\models\SysUser as SysUserModel;
use domain\manufacturer\models\Manufacturer as ManufacturerModel;
/**
* Class ManufacturerRepository
* @package domain\manufacturer
*/
class ManufacturerRepository
{
/**
* @param $where
* @param $offset
* @param $limit
* @return array|\yii\db\ActiveRecord[]
*/
static function getPageList($where, $offset, $limit)
{
$manufacturerFind = ManufacturerModel::find()->alias("m")
->select([
"m.*",
"su.username",
"su.password_hash",
"su.password"
]);
$manufacturerFind->leftJoin(SysUserModel::tableName() . " su", "su.id = m.sys_user_id");
if (!empty($where)) {
$manufacturerFind->where($where);
}
if ($offset) {
$manufacturerFind->offset($offset);
}
if ($limit) {
$manufacturerFind->limit($limit);
}
$manufacturerFind->orderBy("m.id desc");
$manufacturerFind->asArray();
$dataList = $manufacturerFind->all();
foreach ($dataList as $key => $item) {
$dataList[$key]["cutpassword"] = isset($item["password"]) ? self::substr_cut($item["password"]) : "*******";
}
return $dataList;
}
/**
* 列表页面分页器数量
* @param string $map
*/
static function getPageCount($map = '')
{
$manufacturerFind = ManufacturerModel::find()->alias("m");
$manufacturerFind->leftJoin(SysUserModel::tableName() . " su", "su.id = m.sys_user_id");
if (!empty($map)) {
$manufacturerFind->where($map);
}
$pageCount = $manufacturerFind->count();
return $pageCount;
}
/**
* @param $id
* @param bool|false $asArr
* @return null|static
*/
static function selectOne($id, $asArr = false)
{
$manufacturer = ManufacturerModel::findOne($id);
if ($asArr && $manufacturer) {
$manufacturer = $manufacturer->toArray();
}
return $manufacturer;
}
/**
* @param $id
* @param bool|false $asArr
* @return null|static
*/
static function selectInfoById($id, $asArr = false)
{
if (empty($id)) {
return $asArr ? [] : null;
}
$manufacturer = ManufacturerModel::find();
$manufacturer->alias("mf");
$manufacturer->select(["mf.*", "su.username", "su.password"]);
$manufacturer->leftJoin(SysUserModel::tableName() . " su", "su.id = mf.sys_user_id");
$manufacturer->where("mf.id = " . $id);
if ($asArr && $manufacturer) {
$manufacturer = $manufacturer->asArray();
}
$resultData = $manufacturer->one();
return $resultData;
}
/**
* @param $id
* @param bool|false $asArr
* @return null|static
*/
static function findOne($condition)
{
$manufacturer = ManufacturerModel::findOne($condition);
return $manufacturer;
}
/**
* 只保留字符串首尾字符,隐藏中间用*代替(两个字符时只显示第一个)
* @param string $string 字符串
* @return string 格式化后的字符串
*/
static function substr_cut($string){
$strlen = mb_strlen($string, 'utf-8');
$firstStr = substr($string, 0, 1);
$lastStr = substr($string, -1);
if($strlen == 2){
$hideStr = str_repeat('*', strlen($string, 'utf-8') - 1);
$result = $firstStr . $hideStr ;
}else {
$hideStr = substr(str_repeat("*", $strlen - 2), 0, 6);
$result = $firstStr . $hideStr . $lastStr;
}
return $result;
}
}