belongsTo('app\\common\\model\\User','user_id'); } /** * 交易模式 */ public function getModeAttr($value) { $status = [10 => '充值', 20 => '消费', 30 => '退款', 40 => '赠送', 50 => '扣减']; return ['text' => $status[$value], 'value' => $value]; } /** * 支付类型 */ public function getTypeAttr($value) { $status = [10 => '余额', 20 => '现金', 30 => '微信', 90 => '积分']; return ['text' => $status[$value], 'value' => $value]; } /** * 获取列表 */ public function getList($filter = []) { // 执行查询 return $this->with(['user']) ->where($filter) ->order('record_id','desc') ->paginate(['list_rows'=>15,'query' => request()->param()]); } /** * 根据条件统计数量 */ public static function getCount($user_id = 0) { // 筛选条件 $filter = []; $user_id > 0 && $filter['user_id'] = $user_id; $count = array(); //全部 $model = self::where($filter); $count['all'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //今天 $star = strtotime(date("Y-m-d"),time()); $model = self::where($filter)->where('create_time','>',$star); $count['today'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //昨天 $star = strtotime("-1 day"); $end = strtotime(date("Y-m-d"),time()); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today2'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //前天 $star = strtotime("-2 day"); $end = strtotime("-1 day"); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today3'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //-4天 $star = strtotime("-3 day"); $end = strtotime("-2 day"); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today4'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //-5天 $star = strtotime("-4 day"); $end = strtotime("-3 day"); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today5'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //-6天 $star = strtotime("-5 day"); $end = strtotime("-4 day"); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today6'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //-7天 $star = strtotime("-6 day"); $end = strtotime("-5 day"); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['today7'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //本月起至时间 - 月度统计 $end = mktime(0,0,0,date('m'),1,date('y')); $model = self::where($filter)->where('create_time','>',$end); $count['month'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; //上月开始 $star = mktime(0,0,0,date('m')-1,1,date('y')); $model = self::where($filter)->where('create_time','>',$star)->where('create_time','<',$end); $count['month2'] = [ 10 => $model->where('mode',10)->sum('money'),//充值 20 => $model->where('mode',20)->sum('money'),//消费 30 => $model->where('mode',30)->sum('money'),//退款 40 => $model->where('mode',40)->sum('money'),//赠送 50 => $model->where('mode',50)->sum('money'),//扣减 ]; return $count; } }