add 镇订单数据

This commit is contained in:
chenbo 2023-12-09 15:49:18 +08:00
parent 2d23b227a6
commit b04bca9d80
2 changed files with 66 additions and 0 deletions

View File

@ -4,6 +4,7 @@ namespace app\controller\api\dataview;
use app\common\dao\store\order\StoreOrderDao;
use app\common\dao\store\order\StoreRefundOrderDao;
use app\common\model\store\order\StoreOrder;
use app\common\repositories\BaseRepository;
use app\common\repositories\store\order\StoreOrderRepository;
use app\common\repositories\store\order\StoreRefundOrderRepository;
@ -607,4 +608,68 @@ class Order extends BaseController
return app('json')->success($data);
}
public function orderUserNumCount()
{
// 订单数
$orderNum = $this->dayOrderNum('today');
$yesterdayNum = $this->dayOrderNum('yesterday');
$monthOrderNum = $this->dayOrderNum(date('Y/m/d', strtotime('first day of')) . ' 00:00:00' . '-' . date('Y/m/d H:i:s'));
$date = date('Y/m/01 00:00:00', strtotime('last Month')) . '-' . date('Y/m/d 00:00:00', strtotime('-1 day', strtotime('first day of')));
$beforeOrderNum = $this->dayOrderNum($date);
$monthOrderNumRate = $this->getRate($beforeOrderNum, $monthOrderNum);
$orderNumRate = $this->getRate($yesterdayNum, $orderNum);
// 支付数
$orderPayNum = $this->dayOrderUserNum('today');
$yesterdayNum = $this->dayOrderUserNum('yesterday');
$monthOrderPayNum = $this->dayOrderUserNum(date('Y/m/d', strtotime('first day of')) . ' 00:00:00' . '-' . date('Y/m/d H:i:s'));
$date = gmdate('Y/m/01 00:00:00', strtotime('last Month')) . '-' . date('Y/m/d 00:00:00', strtotime('-1 day', strtotime('first day of')));
$beforeOrderNum = $this->dayOrderUserNum($date);
$monthOrderPayRate = $this->getRate($beforeOrderNum, $monthOrderNum);
$orderOrderPayRate = $this->getRate($yesterdayNum, $orderNum);
return app('json')->success(compact('orderNum', 'monthOrderNum', 'monthOrderNumRate', 'orderNumRate', 'orderPayNum', 'monthOrderPayNum', 'monthOrderPayRate', 'orderOrderPayRate'));
}
public function dayOrderNum($day)
{
return StoreOrder::getDB()->alias('o')
->join('product_order_log pog', 'o.order_id=pog.order_id')
->where('o.paid', 1)
->when($day, function ($query, $day) {
getModelTime($query, $day, 'o.pay_time');
})
->where('pog.street_code', $this->streetCode)
->count();
}
public function dayOrderUserNum($day, $merId = null)
{
return StoreOrder::getDB()->alias('o')
->join('product_order_log pog', 'o.order_id=pog.order_id')
->where('o.paid', 1)
->when($day, function ($query, $day) {
getModelTime($query, $day, 'o.pay_time');
})
->where('pog.street_code', $this->streetCode)->group('o.uid')->count();
}
protected function getRate($last, $today, $scale = 2)
{
if ($last == $today)
return 0;
else if ($last == 0)
return $today;
else if ($today == 0)
return -$last;
else
return (float)bcdiv(bcsub($today, $last, $scale), $last, $scale);
}
}

View File

@ -742,6 +742,7 @@ Route::group('api/', function () {
Route::get('take_order_list', 'Order/takeOrderList');
Route::get('take_order_count_title', 'Order/takeOrderCountTitle');
Route::get('street_currday_order_count', 'Order/streetCurrDayOrderCount');
Route::get('order_user_num_count', 'Order/orderUserNumCount');
// api.dataview.User
Route::get('user_merchat_count', 'User/userMerchantCount');