request->get(); $query = ChargeCashPayRecord::find(); if (!empty($params['status'])) { $query->where(['status' => $params['status']]); } if (!empty($params['store_id'])) { $query->andWhere(['store_id' => $params['store_id']]); } if (!empty($params['start_time']) && !empty($params['end_time'])) { $query->andWhere(['between', 'created_at',$params['start_time'], $params['end_time']]); } $query->with(['store'])->orderBy(['id' => SORT_DESC]); $this->field = [ ChargeCashPayRecord::class => [ 'id', 'store_id', 'order_no', 'charge_cash', 'type', 'status', 'store', 'created_at' => function ($le) { return date('Y-m-d H:i:s', $le->created_at); } ], ]; return $this->create($query, $params); } public function actionCount() { $query = ChargeCashPayRecord::find(); $list = $query->where(['status' => 2])->all(); $today = 0; // 今日 $yesterday = 0; // 昨天 $week = 0; // 本周 $month = 0; // 本月 $total = 0; foreach ($list as $item) { if ($item->updated_at >= strtotime(date('Y-m-d'))) { $today = bcadd($today, $item->charge_cash, 2); $total = bcadd($total, $item->charge_cash, 2); $week = bcadd($week, $item->charge_cash, 2); $month = bcadd($month, $item->charge_cash, 2); $yesterday = bcadd($yesterday, $item->charge_cash, 2); } elseif ($item->updated_at >= strtotime(date('Y-m-d', strtotime('-1 day'))) && $item->updated_at < strtotime(date('Y-m-d'))) { $yesterday = bcadd($yesterday, $item->charge_cash, 2); $total = bcadd($total, $item->charge_cash, 2); $week = bcadd($week, $item->charge_cash, 2); $month = bcadd($month, $item->charge_cash, 2); } elseif ($item->updated_at >= strtotime(date('Y-m-d', strtotime('-7 day'))) && $item->updated_at < strtotime(date('Y-m-d', strtotime('-1 day')))) { $week = bcadd($week, $item->charge_cash, 2); $total = bcadd($total, $item->charge_cash, 2); $month = bcadd($month, $item->charge_cash, 2); } elseif ($item->updated_at >= strtotime(date('Y-m-01')) && $item->updated_at < strtotime(date('Y-m-d', strtotime('-7 day')))) { $month = bcadd($month, $item->charge_cash, 2); $total = bcadd($total, $item->charge_cash, 2); } else { $total = bcadd($total, $item->charge_cash, 2); } } return [ 'today' => $today, 'yesterday' => $yesterday, 'week' => $week, 'month' => $month, 'total' => $total ]; } }