// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\controller; use app\api\service\statistics\Data as StatisticsDataService; use think\db\exception\ModelNotFoundException; use think\response\Json; /** * 数据概况 * Class Data * @package app\store\controller\statistics */ class Data extends Controller { // 数据概况服务类 private StatisticsDataService $service; /** * 构造方法 * @throws \cores\exception\BaseException * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws ModelNotFoundException */ public function initialize() { parent::initialize(); // 实例化数据概况服务类 $this->service = new StatisticsDataService; } /** * 数据统计API * @param $startDate * @param $endDate * @return Json */ public function statistics($startDate = null, $endDate = null): Json { if (empty($startDate) || empty($endDate)) { $startDate = null; $endDate = null; } // 获取数据 $data = [ // 订单数据 'orderData' => $this->service->getOrderData($startDate, $endDate), // 退款数据 'refundData' => $this->service->getRefundData($startDate, $endDate), // 用户数据 'userData' => $this->service->getUserData($startDate, $endDate), // 佣金数据 'commissionData' => $this->service->getCommissionData($startDate, $endDate), ]; return $this->renderSuccess($data); } }