当前位置: 首页 > article >正文

Laravel 代理收益排行榜

创建了一个收入表 

CREATE TABLE `income_logs` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` int(11) NOT NULL COMMENT '订单ID',
  `type` int(11) NOT NULL DEFAULT '0' COMMENT ' 类型 0 支出 1收入',
  `user_id` int(11) NOT NULL COMMENT '消费者用户',
  `price` decimal(10,2) NOT NULL COMMENT '收益金额',
  `agent_user_id` int(11) NOT NULL COMMENT '代理用户ID',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='收益明细';

每次有利润的时候创建一条代理收益记录,我们做月排行榜的时候不好计算,下面是计算月排行榜的代码

$startOfMonth = Carbon::now()->startOfMonth(); // 当前月的1日
$endOfMonth = Carbon::now()->endOfMonth(); // 当前月的最后一天

$data['list'] = Income::select('agent_user_id', DB::raw('SUM(price) as earnings'))
    ->whereBetween('created_at', [$startOfMonth, $endOfMonth]) // 指定日期范围
    ->groupBy('agent_user_id') // 按代理用户 ID 分组
    ->having(DB::raw('SUM(price)'), '>', 0) // 只显示收益大于0的数据
    ->orderBy('earnings', 'desc') // 按 earnings 降序排列
    ->take(50) // 限制返回结果数量
    ->get();

/* 补充用户信息 */
foreach ($data['list'] as $item) {
    $user = User::where('id', $item['agent_user_id'])->first();
    $item['avatar'] = $user['avatar'];
    $item['id'] = $item['agent_user_id'];
    $item['username'] = $user['username'];
    $item['is_vip'] = $user['is_vip'];
}


http://www.kler.cn/a/416116.html

相关文章:

  • Unity类银河战士恶魔城学习总结(P145 Save Skill Tree 保存技能树)
  • 加载语言包的方式
  • 怎样安装和启动Apache HTTP服务器(httpd)和PHP?
  • uniapp webview web-view组件监听网页变化 url变化 与网页通讯
  • C++设计模式(观察者模式)
  • Vscode阅读C/C++ Code实用教程
  • shell编程(8)
  • 探索温度计的数字化设计:一个可视化温度数据的Web图表案例
  • 【娱乐项目】基于cnchar库与JavaScript的汉字查询工具
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(二)
  • 冒泡排序:一种简单的排序算法
  • Centos 相关网络配置
  • Spring Boot中配置Flink的资源管理
  • [ohos] ability_runtime独立编译使用
  • IvorySQL与pg_failover_slot插件:如何实现逻辑复制槽的高可用主备同步
  • HarmonyOS 5.0应用开发——列表(List)
  • 服务器虚拟化的一些主要特点和优势
  • Flink细粒度的资源管理
  • java——Tomcat连接池配置NIO、BIO、APR
  • AMAZINGIC晶焱科技:AZ5A05-01M:Edge AI 电子系统的完美终极守护者