UserBoard.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace app\models\board;
  3. use crmeb\traits\ModelTrait;
  4. use crmeb\basic\BaseModel;
  5. use think\facade\Db;
  6. use think\facade\Env;
  7. class UserBoard extends BaseModel
  8. {
  9. protected $pk = 'id';
  10. protected $name = 'store_order_cart_info';
  11. use ModelTrait;
  12. /**
  13. * 按照当日最高赚钱数获取记录
  14. *
  15. select u.uid, u.avatar, u.nickname, u.level, oid, sum(reparation) as value
  16. from tw_store_order_cart_info tsoci inner join tw_store_order tso on tsoci.oid=tso.id inner join tw_user u on tso.uid = u.uid
  17. where activity is not null and tso.pay_time > 0
  18. group by oid
  19. order by value desc, u.uid asc limit 10
  20. */
  21. public function getDailyWinMoney(int $max=30)
  22. {
  23. $start = ts_of_day();
  24. $prefix = Env::get('database.prefix', 'eb_');
  25. $tuser = $prefix . 'user';
  26. $tcart_info = $prefix . 'store_order_cart_info';
  27. $torder = $prefix . 'store_order';
  28. $sql = sprintf("
  29. select distinct u.uid, u.avatar, u.nickname, u.level, sum(reparation) as value
  30. from %s tsoci inner join %s tso on tsoci.oid=tso.id inner join %s u on tso.uid = u.uid
  31. where activity is not null and tso.pay_time > %d and reparation > 0
  32. group by oid
  33. order by value desc, u.uid asc limit %d
  34. ", $tcart_info, $torder, $tuser, $start, $max);
  35. return Db::query($sql);
  36. }
  37. }