where('vip_area_user_id', '=', $vip_user_id); if ($type > -1) { $model = $model->where('vip_area_type', '=', $type); } if (isset($query['is_settled']) && $query['is_settled']>=0) { $model = $model->where('is_settled', '=', $query['is_settled']); } return $model->with(['user', 'vipUser', 'referee','orderMaster'=>['product'=>['image']]]) ->where('is_invalid', '=', 0) ->order(['create_time' => 'desc']) ->paginate($query); } /** * 获取订单统计数据 * @param $vip_user_id * @return array */ public static function getStatistics($vip_user_id) { // 总订单数 $totalCount = self::where('vip_area_user_id', '=', $vip_user_id)->count(); // 推广订单数 $promoteCount = self::where('vip_area_user_id', '=', $vip_user_id) ->where('vip_area_type', '=', 10) ->count(); // 推广复购订单数 $reorderCount = self::where('vip_area_user_id', '=', $vip_user_id) ->where('vip_area_type', '=', 20) ->count(); // 已结算佣金 $settledMoney = self::where('vip_area_user_id', '=', $vip_user_id) ->where('is_settled', '=', 1) ->sum('vip_area_money'); // 待结算佣金 $unsettledMoney = self::where('vip_area_user_id', '=', $vip_user_id) ->where('is_settled', '=', 0) ->sum('vip_area_money'); return [ 'total_count' => $totalCount, 'promote_count' => $promoteCount, 'reorder_count' => $reorderCount, 'settled_money' => $settledMoney, 'unsettled_money' => $unsettledMoney, ]; } }