multi-store/app/store/controller/WorkbenchController.php
2024-06-13 17:25:39 +08:00

164 lines
6.1 KiB
PHP

<?php
namespace app\store\controller;
use app\common\controller\Definitions;
use app\store\lists\store_order\StoreOrderLists;
use app\store\logic\WorkbenchLogic;
use hg\apidoc\annotation as ApiDoc;
#[ApiDoc\Title('工作台')]
class WorkbenchController extends BaseAdminController
{
#[
ApiDoc\Title('交易统计'),
ApiDoc\url('/store/workbench/index'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function index()
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
$result = WorkbenchLogic::index($params);
return $this->data($result);
}
#[
ApiDoc\Title('商品统计(暂时不用)'),
ApiDoc\url('/store/workbench/product'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function product()
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
$result = WorkbenchLogic::product($params);
return $this->data($result);
}
#[
ApiDoc\Title('配送统计'),
ApiDoc\url('/store/workbench/delivery'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function delivery()
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
$result = WorkbenchLogic::delivery($params);
return $this->data($result);
}
#[
ApiDoc\Title('配送订单统计'),
ApiDoc\url('/store/workbench/deliveryOrder'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\Query(ref: [Definitions::class, "page"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function deliveryOrder()
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
$result = WorkbenchLogic::deliveryOrder($params);
return $this->data($result);
}
#[
ApiDoc\Title('商品统计-概况'),
ApiDoc\url('/store/workbench/get_basic'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function get_basic(\app\admin\controller\WorkbenchController $workbench)
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
return $workbench->get_basic();
}
#[
ApiDoc\Title('商品统计-图表'),
ApiDoc\url('/store/workbench/get_trend'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function get_trend(\app\admin\controller\WorkbenchController $workbench)
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
return $workbench->get_trend();
}
#[
ApiDoc\Title('商品统计-排行'),
ApiDoc\url('/store/workbench/get_product_ranking'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(name: 'start_time', type: 'string', require: true, desc: '开始时间'),
ApiDoc\Query(name: 'end_time', type: 'string', require: true, desc: '结束时间'),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function get_product_ranking(\app\admin\controller\WorkbenchController $workbench)
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
return $workbench->get_product_ranking();
}
#[
ApiDoc\Title('收银台数据统计'),
ApiDoc\url('/store/workbench/business_statistics'),
ApiDoc\Method('GET'),
ApiDoc\NotHeaders(),
ApiDoc\Author('中国队长'),
ApiDoc\Query(),
ApiDoc\Header(ref: [Definitions::class, "token"]),
ApiDoc\ResponseSuccess("data", type: "array"),
]
public function business_statistics()
{
$params = $this->request->get();
$params['store_id'] = $this->request->adminInfo['store_id'];
$result = WorkbenchLogic::revenueStatistics($params);
return $this->data($result);
}
}