OrderAllController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: win 10
  5. * Date: 2019/1/14
  6. * Time: 17:06
  7. */
  8. namespace app\frontend\modules\finance\controllers;
  9. use app\common\components\ApiController;
  10. use app\common\facades\Setting;
  11. use app\common\models\MemberShopInfo;
  12. use app\common\models\Order;
  13. class OrderAllController extends ApiController
  14. {
  15. public function index(){
  16. $data['today'] = $this->getMoney('today');
  17. $data['month'] = $this->getMoney('month');
  18. $data['all'] = $this->getMoney('all');
  19. $data['recent']['One'] = $this->getRecent(1);
  20. $data['recent']['Two'] = $this->getRecent(2);
  21. $data['recent']['Thr'] = $this->getRecent(3);
  22. $data['recent']['Fou'] = $this->getRecent(4);
  23. $data['recent']['Fiv'] = $this->getRecent(5);
  24. $data['recent']['Six'] = $this->getRecent(6);
  25. $data['recent']['Sev'] = $this->getRecent(7);
  26. return $this->successJson('ok',$data);
  27. }
  28. public static function isShow(){
  29. $set = Setting::get('shop.shop');
  30. $member_id = \YunShop::app()->getMemberId();
  31. $status = 1;
  32. if($set['achievement'] != 1){
  33. $status = 0;
  34. }
  35. if(!in_array(-1,$set['member_level'])){
  36. $member_level = MemberShopInfo::where('member_id',$member_id)->first();
  37. if(!in_array($member_level['level_id'],$set['member_level'])){
  38. $status = 0;
  39. }
  40. }
  41. return $status;
  42. }
  43. private function getMoney($mark){
  44. $range = [];
  45. $time=time();
  46. switch ($mark) {
  47. case 'today':
  48. $str=date("Y-m-d",time())." 0:0:0";
  49. $range[]=strtotime($str);
  50. $str=date("Y-m-d",time())." 23:59:59";
  51. $range[]=strtotime($str);
  52. break;
  53. case 'month':
  54. $range[]=mktime(0,0,0,date('m'),1,date('Y'));
  55. $range[]=mktime(23,59,59,date('m'),date('t'),date('Y'));
  56. break;
  57. }
  58. if($mark == "all"){
  59. $price=Order::where('status',Order::COMPLETE)->sum('price');
  60. }else {
  61. $price = Order::where('status', Order::COMPLETE)->whereBetween('finish_time',$range)->sum('price');
  62. }
  63. return round($price/10000,2);
  64. }
  65. private function getRecent($mark){
  66. $range = [];
  67. $str=date("Y-m-d",strtotime("-".$mark." day"))." 0:0:0";
  68. $range[]=strtotime($str);
  69. $str=date("Y-m-d",strtotime("-".$mark." day"))." 23:59:59";
  70. $range[]=strtotime($str);
  71. $price = Order::where('status', Order::COMPLETE)->whereBetween('finish_time',$range)->sum('price');
  72. $date=date("m-d",strtotime("-".$mark." day"));
  73. $data=['price'=>round($price/10000,2) , 'date'=>$date];
  74. return $data;
  75. }
  76. }