UserBoardController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace app\api\controller\board;
  3. use crmeb\services\UtilService;
  4. use app\models\board\UserBoard;
  5. use \think\facade\Config;
  6. use crmeb\utils\Redis;
  7. /**
  8. * 协议见文档 docs/board.md, 协议可能变更
  9. *
  10. * 使用 UserBoard Model, 数据表为 store_order_cart_info
  11. *
  12. *
  13. * Class UserBoardController
  14. * @package app\api\controller\board
  15. */
  16. class UserBoardController {
  17. protected static $DAILY_WIN_MONEY = 1;
  18. public static $RDS_BOARD_KEY = 'tmp:board';
  19. public function boards() {
  20. [$type,] = UtilService::getMore([
  21. ['type', 1],
  22. ], null, true);
  23. $s = $this->get_cached_board();
  24. $board = json_decode($s, true);
  25. return app('json')->successful('ok', $board);
  26. }
  27. protected function daily_win_money() {
  28. $board = new UserBoard();
  29. $res = $board->getDailyWinMoney();
  30. foreach ($res as &$row) {
  31. $row['value'] = floatval($row['value']);
  32. $row['border'] = 0;
  33. $row['vip'] = 0;
  34. }
  35. return array(
  36. 'banner' => Config::get('app.leader_board_banner'),
  37. 'name' => "日榜",
  38. 'board' => $res,
  39. );
  40. }
  41. public function cache_board() {
  42. $redis = Redis::instance();
  43. $redis->set(self::$RDS_BOARD_KEY, json_encode($this->daily_win_money()));
  44. }
  45. protected function get_cached_board() {
  46. $redis = Redis::instance();
  47. return $redis->get(self::$RDS_BOARD_KEY);
  48. }
  49. }