GoodsStatistics.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\api\controller\analysis;
  4. use app\api\controller\Controller;
  5. use think\facade\Log;
  6. use app\common\model\RefundGoodsStatistics as RefundGoodsStatisticsModel;
  7. use app\api\model\ChannelSaleStatistics as ChannelSaleStatisticsModel;
  8. use app\api\model\GoodsVisitStatistics as GoodsVisitStatisticsModel;
  9. use app\api\model\GoodsSaleStatistics as GoodsSaleStatisticsModel;
  10. /**
  11. * 每日执行统计脚本
  12. *
  13. * Class GoodsStatistics
  14. * @package app\api\controller\analysis
  15. */
  16. class GoodsStatistics extends Controller
  17. {
  18. /**
  19. * 全部数据
  20. */
  21. public function all()
  22. {
  23. $stime = time();
  24. $this->daily();
  25. $this->weekly();
  26. $this->monthly();
  27. $etime = time();
  28. Log::info('---- 统计脚本执行完成');
  29. echo "执行成功:消耗:".($etime-$stime)."s";
  30. }
  31. /**
  32. * 每日数据
  33. */
  34. public function daily()
  35. {
  36. $date = date('Y-m-d', strtotime('-1 days')); // 昨日
  37. RefundGoodsStatisticsModel::addData($date);
  38. GoodsVisitStatisticsModel::addData(1, $date);
  39. GoodsSaleStatisticsModel::addData(1, $date);
  40. ChannelSaleStatisticsModel::addData($date);
  41. }
  42. /**
  43. * 每周数据
  44. */
  45. public function weekly()
  46. {
  47. $week_arr = last_week_between_time();
  48. $date = [
  49. 's' => date('Y-m-d', $week_arr['s']), // 上周周一日期
  50. 'e' => date('Y-m-d', $week_arr['e']) // 上周周日日期
  51. ];
  52. GoodsVisitStatisticsModel::addData(2, $date);
  53. GoodsSaleStatisticsModel::addData(2, $date);
  54. }
  55. /**
  56. * 每月数据
  57. */
  58. public function monthly()
  59. {
  60. $date = last_month();
  61. $date = month_first_last($date);
  62. GoodsVisitStatisticsModel::addData(3, $date);
  63. GoodsSaleStatisticsModel::addData(3, $date);
  64. }
  65. }