User.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?php
  2. /**
  3. * lemocms
  4. * ============================================================================
  5. * 版权所有 2018-2027 lemocms,并保留所有权利。
  6. * 网站地址: https://www.lemocms.com
  7. * ----------------------------------------------------------------------------
  8. * 采用最新Thinkphp6实现
  9. * ============================================================================
  10. * Author: yuege
  11. * Date: 2019/8/2
  12. */
  13. namespace app\admin\controller;
  14. use app\common\controller\Backend;
  15. use think\facade\Request;
  16. use think\facade\View;
  17. use app\common\model\UserLevel;
  18. use app\common\model\User as UserModel;
  19. use think\facade\Db;
  20. class User extends Backend{
  21. public function initialize()
  22. {
  23. parent::initialize(); // TODO: Change the autogenerated stub
  24. }
  25. public function index(){
  26. if (Request::isPost()) {
  27. $keys = Request::post('keys', '', 'trim');
  28. $page = Request::post('page') ? Request::post('page') : 1;
  29. $list = Db::name('user')->alias('u')
  30. ->where('u.email|u.mobile|u.username','like',"%".$keys."%")
  31. ->leftJoin('userLevel ul','u.level_id = ul.id') //此处表别名不能加as
  32. ->field('u.*,ul.level_name')
  33. ->order('u.id desc ,u.create_time desc')
  34. ->paginate(['list_rows' => $this->pageSize, 'page' => $page])
  35. ->toArray();
  36. foreach ($list['data'] as $k=>$v){
  37. $list['data'][$k]['create_time'] = date('Y-m-d H:s',$v['create_time']);
  38. }
  39. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'], 'count' => $list['total']];
  40. }
  41. return View::fetch();
  42. }
  43. public function add(){
  44. if (Request::isPost()) {
  45. $data = Request::post();
  46. try{
  47. $this->validate($data, 'User');
  48. }catch (\Exception $e){
  49. $this->error($e->getMessage());
  50. }
  51. $res = UserModel::create($data);
  52. if ($res) {
  53. $this->success(lang('add success'),url('index'));
  54. } else {
  55. $this->error(lang('add fail'));
  56. }
  57. }
  58. $userLevel = UserLevel::where('status',1)->select();
  59. $view = [
  60. 'info' => '',
  61. 'title' => lang('add'),
  62. 'userLevel'=>$userLevel,
  63. ];
  64. View::assign($view);
  65. return View::fetch();
  66. }
  67. public function edit(){
  68. if (Request::isPost()) {
  69. $data = Request::post();
  70. try {
  71. $this->validate($data, 'User');
  72. } catch (\Exception $e) {
  73. $this->error($e->getMessage());
  74. }
  75. $res = UserModel::update($data);
  76. if ($res) {
  77. $this->success(lang('edit success'), url('index'));
  78. } else {
  79. $this->error(lang('edit fail'));
  80. }
  81. }
  82. $info = UserModel::find(Request::get('id'));
  83. $userLevel = UserLevel::where('status',1)->select();
  84. $view = [
  85. 'info' => $info,
  86. 'title' => '修改',
  87. 'userLevel'=>$userLevel,
  88. ];
  89. View::assign($view);
  90. return View::fetch('add');
  91. }
  92. public function state(){
  93. $id = Request::post('id');
  94. if($id){
  95. $info = UserModel::find($id);
  96. $info->status = $info->status==1?0:1;
  97. $info->save();
  98. $this->success(lang('edit success'));
  99. }else{
  100. $this->error(lang('invalid data'));
  101. }
  102. }
  103. public function delete(){
  104. $id = Request::post('id');
  105. if($id){
  106. UserModel::destroy($id);
  107. $this->success(lang('delete success'));
  108. }else{
  109. $this->error(lang('invalid data'));
  110. }
  111. }
  112. public function delAll(){
  113. $ids = Request::post('ids');
  114. if($ids){
  115. $res = \app\common\model\User::destroy($ids);
  116. if(!$res)$this->error(lang('delete fail'));
  117. $this->success(lang('delete success'));
  118. }else{
  119. $this->error(lang('invalid data'));
  120. }
  121. }
  122. /**---------------用户等级--------------------**/
  123. public function levelIndex(){
  124. if (Request::isPost()) {
  125. $keys = Request::post('keys', '', 'trim');
  126. $page = Request::post('page') ? Request::post('page') : 1;
  127. $list = Db::name('user_level')
  128. ->where('level_name','like',"%".$keys."%")
  129. ->order('id desc')
  130. ->paginate(['list_rows' => $this->pageSize, 'page' => $page])
  131. ->toArray();
  132. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'], 'count' => $list['total']];
  133. }
  134. return View::fetch();
  135. }
  136. public function levelAdd(){
  137. if (Request::isPost()) {
  138. $data = Request::post();
  139. try{
  140. $this->validate($data, 'UserLevel');
  141. }catch (\Exception $e){
  142. $this->error($e->getMessage());
  143. }
  144. $res = UserLevel::create($data);
  145. if ($res) {
  146. $this->success(lang('add success'),url('levelIndex'));
  147. } else {
  148. $this->error(lang('add fail'));
  149. }
  150. }
  151. $view = [
  152. 'info' => '',
  153. 'title' => lang('add'),
  154. ];
  155. View::assign($view);
  156. return View::fetch();
  157. }
  158. public function levelEdit(){
  159. if (Request::isPost()) {
  160. $data = Request::post();
  161. try {
  162. $this->validate($data, 'UserLevel');
  163. } catch (\Exception $e) {
  164. $this->error($e->getMessage());
  165. }
  166. $res = UserLevel::update($data);
  167. if ($res) {
  168. $this->success(lang('edit success'), url('levelIndex'));
  169. } else {
  170. $this->error(lang('edit fail'));
  171. }
  172. }
  173. $info = UserLevel::find(Request::get('id'));
  174. $view = [
  175. 'info' => $info,
  176. 'title' => lang('edit'),
  177. ];
  178. View::assign($view);
  179. return View::fetch('level_add');
  180. }
  181. public function levelState(){
  182. $id = Request::post('id');
  183. if($id){
  184. $info = UserLevel::find($id);
  185. $info->status = $info->status==1?0:1;
  186. $info->save();
  187. $this->success(lang('edit success'));
  188. }else{
  189. $this->error(lang('invalid data'));
  190. }
  191. }
  192. public function levelDel(){
  193. $id = Request::post('id');
  194. if($id){
  195. UserLevel::destroy($id);
  196. $this->success(lang('delete success'));
  197. }else{
  198. $this->error(lang('invalid data'));
  199. }
  200. }
  201. }