123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- // +----------------------------------------------------------------------
- // | Niucloud-admin 企业快速开发的saas管理平台
- // +----------------------------------------------------------------------
- // | 官方网址:https://www.niucloud.com
- // +----------------------------------------------------------------------
- // | niucloud团队 版权所有 开源版本可自由商用
- // +----------------------------------------------------------------------
- // | Author: Niucloud Team
- // +----------------------------------------------------------------------
- namespace app\service\admin\stat;
- use app\service\admin\member\MemberCashOutService;
- use app\service\admin\shop\admin\ShopCashOutService;
- use app\service\admin\site\SiteService;
- use app\service\core\member\CoreMemberService;
- use core\base\BaseAdminService;
- /**
- * 统计服务层
- * Class StatService
- * @package app\service\admin\stat
- */
- class StatService extends BaseAdminService
- {
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * 获取首页统计数据
- * @return array
- */
- public function getIndexStatData()
- {
- $data = [
- 'order_stat' => [
- 'today_order_count' => 0,
- 'yesterday_order_count' => 0,
- 'total_order_count' => 0,
- ],
- 'sale_stat' => [
- 'today_sale_money' => 0,
- 'yesterday_sale_money' => 0,
- 'total_sale_money' => 0,
- ],
- 'refund_stat' => [
- 'today_refund_money' => 0,
- 'yesterday_refund_money' => 0,
- 'total_refund_money' => 0,
- ],
- 'member_stat' => [
- 'today_member_count' => 0,
- 'yesterday_member_count' => 0,
- 'total_member_count' => 0,
- ],
- 'site_stat' => [
- 'today_site_count' => 0,
- 'yesterday_site_count' => 0,
- 'total_site_count' => 0,
- ],
- 'my_order_stat' => [
- 'wait_pay_order' => 0,
- 'wait_delivery_order' => 0,
- 'wait_take_order' => 0,
- 'refund_order' => 0,
- ],
- 'cash_out_stat' => [
- 'member_count' => 0,
- 'site_count' => 0,
- ],
- 'goods_stat' => [
- 'sale_goods_num' => 0,
- 'audit_goods_num' => 0,
- ],
- ];
- $order_stat_array = event('MallOrderStat');
- if (!empty($order_stat_array)) {
- $order_stat_list = [];
- foreach($order_stat_array as $v){
- $order_stat_list = empty($order_stat_list) ? $v : array_merge($order_stat_list, $v);
- }
- $data[ 'order_stat' ] = $order_stat_list[ 'order_stat' ];
- $data[ 'sale_stat' ] = $order_stat_list[ 'sale_stat' ];
- $data[ 'refund_stat' ] = $order_stat_list[ 'refund_stat' ];
- $data[ 'my_order_stat' ] = $order_stat_list[ 'my_order_stat' ];
- }
- $goods_stat_array = event('MallGoodsStat');
- if (!empty($goods_stat_array)) {
- $goods_stat_list = [];
- foreach($goods_stat_array as $v){
- $goods_stat_list = empty($goods_stat_list) ? $v : array_merge($goods_stat_list, $v);
- }
- $data[ 'goods_stat' ] = $goods_stat_list[ 'goods_stat' ];
- }
- $data['member_stat']['today_member_count'] = (new CoreMemberService())->getCount(['create_time' => get_start_and_end_time_by_day()]);
- $data['member_stat']['yesterday_member_count'] = (new CoreMemberService())->getCount(['create_time' => get_start_and_end_time_by_day(date('Y-m-d', strtotime("-1 day")))]);
- $data['member_stat']['total_member_count'] = (new CoreMemberService())->getCount();
- $data['site_stat']['today_site_count'] = (new SiteService())->getCount(['create_time' => get_start_and_end_time_by_day()]);
- $data['site_stat']['yesterday_site_count'] = (new SiteService())->getCount(['create_time' => get_start_and_end_time_by_day(date('Y-m-d', strtotime("-1 day")))]);
- $data['site_stat']['total_site_count'] = (new SiteService())->getCount();
- $data['cash_out_stat']['member_count'] = (new MemberCashOutService())->getCount();
- $data['cash_out_stat']['site_count'] = (new ShopCashOutService())->getCount();
- return $data;
- }
- /**
- * 获取首页图表统计数据
- * @return array|mixed
- */
- public function getIndexChartStat()
- {
- $params = $this->request->params([
- ['start_date', date('Y-m-d', strtotime('-6 day')) ],
- ['end_date', date('Y-m-d', strtotime('+1 day'))]
- ]);
- $chart_stat_array = event('MallChartStat', $params);
- $chart_stat_list = [];
- foreach($chart_stat_array as $v){
- $chart_stat_list = empty($chart_stat_list) ? $v : array_merge($chart_stat_list, $v);
- }
- return $chart_stat_list;
- }
- }
|