12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use think\Cache;
- use think\Request;
- use app\services\lottery\LuckLotteryRecordServices;
- use app\services\lottery\LuckLotteryServices;
- class LuckLottery extends Api
- {
- protected $noNeedRight = ['*'];
- protected $services;
- public function __construct(LuckLotteryServices $services)
- {
- parent::__construct();
- $this->services = $services;
- }
- /**
- * 抽奖活动信息
- * @param Request $request
- */
- public function LotteryInfo(Request $request)
- {
- $id = $request->get('id','1');
- if (intval($id) <= 0) return $this->error('请上传抽奖ID');
- $lottery = $this->services->getLottery($id, '*', ['prize'], true);
- if (!$lottery) {
- $this->error('未获取到抽奖活动');
- }
- $lottery = $lottery->toArray();
- $lotteryData = ['lottery' => $lottery];
- $lotteryData['lottery_num'] = $this->auth->lottery_num ?? 0;
- $this->success('获取成功', $lotteryData);
- }
- /**
- * 参与抽奖
- * @param Request $request
- * @return mixed
- */
- public function luckLottery(Request $request)
- {
- $id = $request->get('id','1');
- if (!$id) {
- $this->error('请上传抽奖ID');
- }
- if ($this->auth->lottery_num <=0){
- $this->error('抽奖次数不足');
- }
- $uid =$this->auth->id;
- $key = 'lucklotter_limit_' . $uid;
- if (Cache::get($key)) {
- $this->error('您求的频率太过频繁,请稍后请求!');
- }
- Cache::set('lucklotter_limit_' . $uid, $uid, 1);
- $arrUserinfo = $this->auth->getUser()->toArray();
- list($nError,$arrData) = $this->services->luckLottery($arrUserinfo, $id);
- if ($nError === 1 ) {
- $this->error($arrData);
- }
- $this->success('', $arrData);
- }
- /**
- * 获取抽奖记录
- * @param Request $request
- * @return mixed
- */
- public function lotteryRecord(Request $request)
- {
- $uid = $this->auth->id;
- $pageSize = (int)$this->request->param('pageSize', 10);
- $page = (int)$this->request->param('page', 1);
- $lotteryRecordServices = new LuckLotteryRecordServices();
- $arrData = $lotteryRecordServices->getRecord($uid,$page,$pageSize);
- $this->success('', $arrData);
- }
- }
|