123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace app\api\controller\activity;
- use app\models\game\DayAward;
- use app\models\game\Lottery;
- use app\models\game\LotteryLog;
- use app\Request;
- use think\facade\Cache;
- class GameController
- {
- public function index(Request $request)
- {
- $num_max = sys_config('game_num', 6, true);
- $time_span = sys_config('open_time', 180, true);
- $last_game = LotteryLog::order('time', 'desc')->find();
- $join_member = Lottery::where('status', 0)->count();
- $join = Lottery::where('status', 0)->where('uid', $request->uid())->group('num')->field('num,SUM(ticket) as ticket')->select();
- $last_100 = LotteryLog::order('time', 'desc')->limit(100)->select();
- $award_lake = sys_config('award_lake', 0, true);
- $all_point = Lottery::where('status', 1)->whereTime('add_time', 'today')->sum('ticket');
- $my_point = Lottery::where('status', 1)->where('uid', $request->uid())->whereTime('add_time', 'today')->sum('ticket');
- if ($all_point <= 0) $all_point = 1;
- $price = bcdiv($award_lake, bcmul($all_point, 2), 2);
- $join_price = sys_config('join_integral', 100, true);
- for ($i = 1; $i <= $num_max; $i++) {
- $times[$i] = 0;
- }
- foreach ($last_100 as $v) {
- $result = explode(',', $v['result']);
- $times["$result[0]"]++;
- }
- $logs = Lottery::where('status', 1)->where('uid', $request->uid())->whereTime('add_time', 'today')->order('add_time', 'desc')->select();
- return app('json')->success('ok', compact('logs', 'my_point', 'join', 'join_price', 'price', 'join_member', 'time_span', 'last_game', 'times'));
- }
- public function join(Request $request)
- {
- $res = Lottery::joinLottery($request->uid(), $request->post('num'), $request->post('ticket'));
- if ($res) {
- return app('json')->success('参加成功');
- } else {
- return app('json')->fail(Lottery::getErrorInfo());
- }
- }
- public function lastGame(Request $request)
- {
- $last_game = Cache::get('last_game', 0);
- $last_open = Cache::get('last_open', []);
- $open_time = Cache::get('open_time', 0);
- if ($last_game) {
- $my = Lottery::where('name', $last_game)->where('uid', $request->uid())->where('status', 1)->sum('ticket');
- } else {
- $my = 0;
- }
- return app('json')->success('ok', compact('last_game', 'last_open', 'open_time', 'my'));
- }
- public function getMyAward(Request $request)
- {
- $todayAward = DayAward::whereTime('add_time', 'today')->where('uid', $request->uid())->where('status', 0)->find();
- $all_get = DayAward::where('uid', $request->uid())->where('status', 1)->sum('award');
- $all_out = DayAward::where('uid', $request->uid())->where('status', 2)->sum('award');
- return app('json')->success(compact('todayAward', 'all_get', 'all_out'));
- }
- public function getAward($id, Request $request)
- {
- $res = DayAward::getAward($request->uid(), $id);
- if ($res) {
- return app('json')->success('领取成功');
- } else {
- return app('json')->fail(DayAward::getErrorInfo());
- }
- }
- }
|