12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- namespace app\admin\controller;
- use app\common\controller\Backend;
- class Moneylog extends Backend
- {
-
-
- protected $model = null;
- public function _initialize()
- {
- parent::_initialize();
- $this->model = new \app\admin\model\Moneylog;
- }
- public function import()
- {
- parent::import();
- }
-
-
-
- public function index()
- {
-
- $this->relationSearch = true;
-
- $this->request->filter(['strip_tags', 'trim']);
- if ($this->request->isAjax()) {
-
- if ($this->request->request('keyField')) {
- return $this->selectpage();
- }
- list($where, $sort, $order, $offset, $limit) = $this->buildparams();
-
- $gh_map = [];
- $gh_ids = db('admin')->where('id',$this->auth->id)->value('gh_ids');
- if(empty($gh_ids)){
- $gh_map = ['moneylog.user_id' => '-1'];
- }else{
- $user_ids = db('user')->where('gh_id','IN',$gh_ids)->column('id');
- $gh_map = ['moneylog.user_id' => ['IN',$user_ids]];
- }
- if($gh_ids == '*'){
- $gh_map = [];
- }
- $list = $this->model
- ->with(['user'])
- ->where($where)
- ->where($gh_map)
- ->order($sort, $order)
- ->paginate($limit);
- $wallet_logtype = config('wallet.logtype');
- foreach ($list as $row) {
-
- $row->getRelation('user')->visible(['username']);
- $row['log_type_text'] = isset($wallet_logtype[$row['log_type']]) ? $wallet_logtype[$row['log_type']] : '';
- }
- $sum_money = db('user_money_log')->alias('moneylog')->join('user','moneylog.user_id = user.id','LEFT')->where($where)->where($gh_map)->field('sum(moneylog.change_value) as sum_money')->find();
- $result = array("total" => $list->total(), "rows" => $list->items(),
- 'extend' => [
- 'sum_money' => $sum_money['sum_money'],
- ]
- );
- return json($result);
- }
- return $this->view->fetch();
- }
- }
|