User.php
5.7 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php
namespace app\admin\controller\user;
use app\common\controller\Backend;
use app\common\library\Auth;
/**
* 会员管理
*
* @icon fa fa-user
*/
class User extends Backend
{
protected $relationSearch = true;
protected $searchFields = 'id,username,nickname';
/**
* @var \app\admin\model\User
*/
protected $model = null;
public function _initialize()
{
parent::_initialize();
$this->model = model('User');
}
/**
* 查看
*/
public function index()
{
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
//如果发送的来源是Selectpage,则转发到Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->with('group')
->where($where)
->order($sort, $order)
->paginate($limit);
foreach ($list as $k => $v) {
$v->avatar = $v->avatar ? cdnurl($v->avatar, true) : letter_avatar($v->nickname);
$v->hidden(['password', 'salt']);
}
$result = array("total" => $list->total(), "rows" => $list->items());
return json($result);
}
return $this->view->fetch();
}
/**
* 添加
*/
public function add()
{
if ($this->request->isPost()) {
$this->token();
}
return parent::add();
}
/**
* 编辑
*/
public function edit($ids = null)
{
if ($this->request->isPost()) {
$this->token();
}
$row = $this->model->get($ids);
$this->modelValidate = true;
if (!$row) {
$this->error(__('No Results were found'));
}
$this->view->assign('groupList', build_select('row[group_id]', \app\admin\model\UserGroup::column('id,name'), $row['group_id'], ['class' => 'form-control selectpicker']));
return parent::edit($ids);
}
/**
* 删除
*/
public function del($ids = "")
{
if (!$this->request->isPost()) {
$this->error(__("Invalid parameters"));
}
$ids = $ids ? $ids : $this->request->post("ids");
$row = $this->model->get($ids);
$this->modelValidate = true;
if (!$row) {
$this->error(__('No Results were found'));
}
//开启事务
Db::startTrans();
try {
// 删除会员
Auth::instance()->delete($row['id']);
// 会员套餐订单
Db::name('package_order')->where('user_id',$row['id'])->delete();
// 拼团
Db::name('shopro_activity_groupon')->where('user_id',$row['id'])->delete();
// 拼团记录
Db::name('shopro_activity_groupon_log')->where('user_id',$row['id'])->delete();
// 购物车
Db::name('shopro_cart')->where('user_id',$row['id'])->delete();
// 反馈
Db::name('shopro_feedback')->where('user_id',$row['id'])->delete();
// 商品搜索历史
Db::name('shopro_goods_keywords')->where('user_id',$row['id'])->delete();
// 订单
$order_list = Db::name('shopro_order')->where('user_id',$row['id'])->field('id,order_sn')->select();
foreach ($order_list as $order){
// 订单操作记录
Db::name('shopro_order_action')->where('order_id',$order['id'])->delete();
// 售后单
Db::name('shopro_order_aftersale')->where('order_id',$order['id'])->delete();
// 售后单记录
Db::name('shopro_order_aftersale_log')->where('order_id',$order['id'])->delete();
// 快递包裹
Db::name('shopro_order_express')->where('order_id',$order['id'])->delete();
// 物流信息
Db::name('shopro_order_express_log')->where('order_id',$order['id'])->delete();
// 订单商品明细
Db::name('shopro_order_item')->where('order_id',$order['id'])->delete();
// 退款日志
Db::name('shopro_refund_log')->where('order_sn',$order['order_sn'])->delete();
// 删除订单
Db::name('shopro_order')->where('id',$order['id'])->delete();
}
// 用户地址
Db::name('shopro_user_address')->where('user_id',$row['id'])->delete();
// 用户优惠券
Db::name('shopro_user_coupons')->where('user_id',$row['id'])->delete();
// 用户收藏
Db::name('shopro_user_favorite')->where('user_id',$row['id'])->delete();
// 第三方授权
Db::name('shopro_user_oauth')->where('user_id',$row['id'])->delete();
// 用户浏览记录
Db::name('shopro_user_view')->where('user_id',$row['id'])->delete();
// 用户提现
Db::name('shopro_user_wallet_apply')->where('user_id',$row['id'])->delete();
// 钱包日志
Db::name('shopro_user_wallet_log')->where('user_id',$row['id'])->delete();
// 佣金提现
Db::name('user_commission_apply')->where('user_id',$row['id'])->delete();
// 佣金日志
Db::name('user_commission_log')->where('user_id',$row['id'])->delete();
Db::commit();
} catch (\Exception $e) {
Db::rollback();
$this->error($e->getMessage());
return false;
}
$this->success();
}
}