83 lines
2.7 KiB
PHP
83 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: win 10
|
|
* Date: 2019/1/14
|
|
* Time: 17:06
|
|
*/
|
|
|
|
namespace app\frontend\modules\finance\controllers;
|
|
|
|
|
|
use app\common\components\ApiController;
|
|
use app\common\facades\Setting;
|
|
use app\common\models\MemberShopInfo;
|
|
use app\common\models\Order;
|
|
|
|
class OrderAllController extends ApiController
|
|
{
|
|
public function index(){
|
|
$data['today'] = $this->getMoney('today');
|
|
$data['month'] = $this->getMoney('month');
|
|
$data['all'] = $this->getMoney('all');
|
|
$data['recent']['One'] = $this->getRecent(1);
|
|
$data['recent']['Two'] = $this->getRecent(2);
|
|
$data['recent']['Thr'] = $this->getRecent(3);
|
|
$data['recent']['Fou'] = $this->getRecent(4);
|
|
$data['recent']['Fiv'] = $this->getRecent(5);
|
|
$data['recent']['Six'] = $this->getRecent(6);
|
|
$data['recent']['Sev'] = $this->getRecent(7);
|
|
return $this->successJson('ok',$data);
|
|
}
|
|
|
|
public static function isShow(){
|
|
$set = Setting::get('shop.shop');
|
|
$member_id = \YunShop::app()->getMemberId();
|
|
$status = 1;
|
|
if($set['achievement'] != 1){
|
|
$status = 0;
|
|
}
|
|
if(!in_array(-1,$set['member_level'])){
|
|
$member_level = MemberShopInfo::where('member_id',$member_id)->first();
|
|
if(!in_array($member_level['level_id'],$set['member_level'])){
|
|
$status = 0;
|
|
}
|
|
}
|
|
return $status;
|
|
}
|
|
|
|
private function getMoney($mark){
|
|
$range = [];
|
|
$time=time();
|
|
switch ($mark) {
|
|
case 'today':
|
|
$str=date("Y-m-d",time())." 0:0:0";
|
|
$range[]=strtotime($str);
|
|
$str=date("Y-m-d",time())." 23:59:59";
|
|
$range[]=strtotime($str);
|
|
break;
|
|
case 'month':
|
|
$range[]=mktime(0,0,0,date('m'),1,date('Y'));
|
|
$range[]=mktime(23,59,59,date('m'),date('t'),date('Y'));
|
|
break;
|
|
}
|
|
if($mark == "all"){
|
|
$price=Order::where('status',Order::COMPLETE)->sum('price');
|
|
}else {
|
|
$price = Order::where('status', Order::COMPLETE)->whereBetween('finish_time',$range)->sum('price');
|
|
}
|
|
return round($price/10000,2);
|
|
}
|
|
|
|
private function getRecent($mark){
|
|
$range = [];
|
|
$str=date("Y-m-d",strtotime("-".$mark." day"))." 0:0:0";
|
|
$range[]=strtotime($str);
|
|
$str=date("Y-m-d",strtotime("-".$mark." day"))." 23:59:59";
|
|
$range[]=strtotime($str);
|
|
$price = Order::where('status', Order::COMPLETE)->whereBetween('finish_time',$range)->sum('price');
|
|
$date=date("m-d",strtotime("-".$mark." day"));
|
|
$data=['price'=>round($price/10000,2) , 'date'=>$date];
|
|
return $data;
|
|
}
|
|
} |