69 lines
1.7 KiB
PHP
69 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller\app\activity;
|
|
|
|
use app\common\controller\Api;
|
|
use think\Db;
|
|
/**
|
|
* 线下活动-签到
|
|
*/
|
|
class Signin extends Api
|
|
{
|
|
|
|
protected $noNeedLogin = ["signin"];
|
|
// 无需鉴权的接口,*表示全部
|
|
protected $noNeedRight = ['*'];
|
|
|
|
|
|
public function _initialize()
|
|
{
|
|
parent::_initialize();
|
|
$this->model = new \app\api\model\app\activity\Form;
|
|
}
|
|
|
|
|
|
/**
|
|
* 签到
|
|
* @return void
|
|
*/
|
|
public function signin()
|
|
{
|
|
$name = input('name','');
|
|
$mobile = input('mobile','');
|
|
$activityId = input('activity_id','');
|
|
|
|
$activityDetail =\app\api\model\app\activity\Activity::getActivityDetail($activityId);
|
|
|
|
if(!$activityDetail){
|
|
$this->error("获取活动信息失败");
|
|
}
|
|
|
|
if(!$activityDetail['status']){
|
|
$this->error("当前不在活动时间");
|
|
}
|
|
|
|
|
|
$ticket = \app\api\model\app\activity\UserTicket::alias('uk')
|
|
->join(\app\api\model\app\activity\Form::getTable() . ' form','uk.apply_info_id = form.id')
|
|
->where([
|
|
'form.name'=>$name,
|
|
'form.mobile'=>$mobile,
|
|
'uk.activity_id'=>$activityId,
|
|
'uk.status'=>1
|
|
])->field('uk.ticket_no,uk.id,uk.status,uk.sign')->find();
|
|
|
|
|
|
if($ticket){
|
|
|
|
//判断有没有签到,未签到则改变签到状态
|
|
if($ticket['sign'] == 0){
|
|
\app\api\model\app\activity\Signin::signin($ticket['ticket_no']);
|
|
}
|
|
|
|
$this->success("签到成功",$ticket['ticket_no']);
|
|
}
|
|
|
|
$this->error("根据你提交的报名信息,没有查询到相关票券");
|
|
|
|
}
|
|
} |