Moneylog.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\controller\Backend;
  4. /**
  5. * 用户资金日志管理
  6. *
  7. * @icon fa fa-circle-o
  8. */
  9. class Moneylog extends Backend
  10. {
  11. /**
  12. * Moneylog模型对象
  13. * @var \app\admin\model\Moneylog
  14. */
  15. protected $model = null;
  16. public function _initialize()
  17. {
  18. parent::_initialize();
  19. $this->model = new \app\admin\model\Moneylog;
  20. }
  21. public function import()
  22. {
  23. parent::import();
  24. }
  25. /**
  26. * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  27. * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  28. * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  29. */
  30. /**
  31. * 查看
  32. */
  33. public function index()
  34. {
  35. //当前是否为关联查询
  36. $this->relationSearch = true;
  37. //设置过滤方法
  38. $this->request->filter(['strip_tags', 'trim']);
  39. if ($this->request->isAjax()) {
  40. //如果发送的来源是Selectpage,则转发到Selectpage
  41. if ($this->request->request('keyField')) {
  42. return $this->selectpage();
  43. }
  44. list($where, $sort, $order, $offset, $limit) = $this->buildparams();
  45. //公会分权限
  46. $gh_map = [];
  47. $gh_ids = db('admin')->where('id',$this->auth->id)->value('gh_ids');
  48. if(empty($gh_ids)){
  49. $gh_map = ['moneylog.user_id' => '-1'];
  50. }else{
  51. $user_ids = db('user')->where('gh_id','IN',$gh_ids)->column('id');
  52. $gh_map = ['moneylog.user_id' => ['IN',$user_ids]];
  53. }
  54. if($gh_ids == '*'){
  55. $gh_map = [];
  56. }
  57. $list = $this->model
  58. ->with(['user'])
  59. ->where($where)
  60. ->where($gh_map)
  61. ->order($sort, $order)
  62. ->paginate($limit);
  63. $wallet_logtype = config('wallet.logtype');
  64. foreach ($list as $row) {
  65. $row->getRelation('user')->visible(['username']);
  66. $row['log_type_text'] = isset($wallet_logtype[$row['log_type']]) ? $wallet_logtype[$row['log_type']] : '';
  67. }
  68. $result = array("total" => $list->total(), "rows" => $list->items());
  69. return json($result);
  70. }
  71. return $this->view->fetch();
  72. }
  73. }