更新订单统计信息接口

This commit is contained in:
yaooo 2023-08-14 14:59:46 +08:00
parent 7744de9570
commit 6409b3701d
2 changed files with 13 additions and 9 deletions

View File

@ -98,7 +98,7 @@ class StoreOrderDao extends BaseDao
->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) {
switch ($where['status']) {
case 0 :
$query->where('paid', 1)->whereIn('StoreOrder.status', [0, 9]);
$query->where('paid', 0)->whereIn('StoreOrder.status', [0, 9, 12]);
break;
case -2 :
$query->whereNotIn('StoreOrder.status', [10, 11]);
@ -120,7 +120,7 @@ class StoreOrderDao extends BaseDao
->when(isset($where['uid']) && $where['uid'] !== '', function ($query) use ($where) {
$query->where('StoreOrder.uid', $where['uid']);
})
->when(isset($where['is_user']) && $where['is_user'] !== '', function ($query) use ($where) {
->when(isset($where['is_user']) && $where['is_user'] !== 0, function ($query) use ($where) {
$query->where(function($query) {
$query->where('order_type',0)->whereOr(function($query){
$query->where('order_type',1)->where('main_id',0);

View File

@ -565,15 +565,19 @@ class StoreOrderRepository extends BaseRepository
{
//activity_type0 采购订单 98 普通订单
//$noPay = app()->make(StoreGroupOrderRepository::class)->orderNumber($uid, $product_type);
$noPay = $this->dao->search(['uid' => $uid, 'status' => 0, 'paid' => 0, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$noPostage = $this->dao->search(['uid' => $uid, 'status' => 0, 'paid' => 1, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$noDeliver = $this->dao->search(['uid' => $uid, 'status' => 1, 'paid' => 1, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$noComment = $this->dao->search(['uid' => $uid, 'status' => 2, 'paid' => 1, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$done = $this->dao->search(['uid' => $uid, 'status' => 3, 'paid' => 1, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$isUser = 1;
if ($product_type == 98) {
$isUser = 0;
}
$noPay = $this->dao->search(['uid' => $uid, 'status' => 0, 'paid' => 0, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->fetchSql(false)->count();
$noPostage = $this->dao->search(['uid' => $uid, 'status' => 0, 'paid' => 1, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$noDeliver = $this->dao->search(['uid' => $uid, 'status' => 1, 'paid' => 1, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$noComment = $this->dao->search(['uid' => $uid, 'status' => 2, 'paid' => 1, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$done = $this->dao->search(['uid' => $uid, 'status' => 3, 'paid' => 1, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$refund = StoreRefundOrder::alias('t1')->join('store_order t2', 't1.order_id=t2.order_id')->where('t1.uid', $uid)->where('t1.status', 3)->where('t2.activity_type', $product_type)->count();
//$all = $this->dao->search(['uid' => $uid, 'status' => -2,'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$orderPrice = $this->dao->search(['uid' => $uid, 'paid' => 1, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->sum('pay_price');
$orderCount = $this->dao->search(['uid' => $uid, 'is_user' => 1])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->count();
$orderPrice = $this->dao->search(['uid' => $uid, 'paid' => 1, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->sum('pay_price');
$orderCount = $this->dao->search(['uid' => $uid, 'is_user' => $isUser])->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->fetchSql(false)->count();
return compact('noComment', 'done', 'refund', 'noDeliver', 'noPay', 'noPostage', 'orderPrice', 'orderCount');
}