203 lines
6.9 KiB
PHP
203 lines
6.9 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\common\controller\Api;
|
|
use app\common\model\Invitation;
|
|
use think\Validate;
|
|
|
|
/**
|
|
* 示例接口
|
|
*/
|
|
class Demo extends Api
|
|
{
|
|
|
|
//如果$noNeedLogin为空表示所有接口都需要登录才能请求
|
|
//如果$noNeedRight为空表示所有接口都需要验证权限才能请求
|
|
//如果接口已经设置无需登录,那也就无需鉴权了
|
|
//
|
|
// 无需登录的接口,*表示全部
|
|
protected $noNeedLogin = ['test', 'test1', 'apply'];
|
|
// 无需鉴权的接口,*表示全部
|
|
protected $noNeedRight = ['test2','apply','invitation'];
|
|
|
|
/**
|
|
* 测试方法
|
|
*
|
|
* @ApiTitle (测试名称)
|
|
* @ApiSummary (测试描述信息)
|
|
* @ApiMethod (POST)
|
|
* @ApiRoute (/api/demo/test/id/{id}/name/{name})
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
* @ApiParams (name="id", type="integer", required=true, description="会员ID")
|
|
* @ApiParams (name="name", type="string", required=true, description="用户名")
|
|
* @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
|
|
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
|
|
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
|
|
* @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
|
|
* @ApiReturn ({
|
|
'code':'1',
|
|
'msg':'返回成功'
|
|
})
|
|
*/
|
|
/**
|
|
* 提交邀请
|
|
*
|
|
* @ApiMethod (POST)
|
|
*/
|
|
public function apply()
|
|
{
|
|
$params = request()->post();
|
|
$mobile = $this->request->post('mobile');
|
|
|
|
|
|
if ($mobile) {
|
|
$exists = \app\common\model\Invitation::where('mobile', $mobile)->find();
|
|
if ($exists) {
|
|
//$this->error();
|
|
$this->success(__('Username already invited'));
|
|
}
|
|
else{
|
|
|
|
$dine = $params['dine'];
|
|
$attendees = $params['attendees'];
|
|
|
|
//echo print_r($dine)."<pre>==". print_r($attendees); die;
|
|
|
|
$feeData = array(
|
|
'username'=>$this->request->post('username'),
|
|
'company'=>$this->request->post('company'),
|
|
'position'=>$this->request->post('position'),
|
|
'mobile'=>$this->request->post('mobile'),
|
|
'hometown'=>$this->request->post('hometown'),
|
|
'gender'=>$this->request->post('gender'),
|
|
'is_member'=>$this->request->post('is_member'),
|
|
//'pay_member'=>$params['pay_member'],
|
|
'dine'=>json_encode($dine, JSON_UNESCAPED_UNICODE),
|
|
'attendees'=>json_encode($attendees, JSON_UNESCAPED_UNICODE)
|
|
);
|
|
|
|
$invitation = new Invitation;
|
|
|
|
try {
|
|
$result = $invitation->allowField(true)->save($feeData);
|
|
|
|
if ($result !== false) {
|
|
$this->success();
|
|
} else {
|
|
$this->error($row->getError());
|
|
}
|
|
} catch (\think\exception\PDOException $e) {
|
|
$this->error($e->getMessage());
|
|
} catch (\think\Exception $e) {
|
|
$this->error($e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function test()
|
|
{
|
|
$this->success('返回成功', $this->request->param());
|
|
}
|
|
|
|
/**
|
|
* 无需登录的接口
|
|
*
|
|
*/
|
|
public function test1()
|
|
{
|
|
$this->success('返回成功', ['action' => 'test1']);
|
|
}
|
|
|
|
/**
|
|
* 需要登录的接口
|
|
*
|
|
*/
|
|
public function test2()
|
|
{
|
|
$this->success('返回成功', ['action' => 'test2']);
|
|
}
|
|
|
|
/**
|
|
* 需要登录且需要验证有相应组的权限
|
|
*
|
|
*/
|
|
public function test3()
|
|
{
|
|
$this->success('返回成功', ['action' => 'test3']);
|
|
}
|
|
|
|
|
|
public function invitation()
|
|
{
|
|
|
|
$params = request()->post();
|
|
|
|
/* $username = $this->request->post('username');
|
|
$company = $this->request->post('company');
|
|
$position = $this->request->post('position');
|
|
$hometown = $this->request->post('hometown');
|
|
$gender = $this->request->post('gender');
|
|
$is_member = $this->request->post('is_member');
|
|
$attendees = $this->request->post('attendees');
|
|
|
|
|
|
if (!$username) {
|
|
$this->error(__('Invalid parameters'));
|
|
}
|
|
|
|
if ($mobile && !Validate::regex($mobile, "^1\d{10}$")) {
|
|
$this->error(__('Mobile is incorrect'));
|
|
}*/
|
|
$mobile = $this->request->post('mobile');
|
|
$mobile = '13246777081';
|
|
|
|
if ($mobile) {
|
|
$exists = \app\common\model\Invitation::where('mobile', $mobile)->find();
|
|
if ($exists) {
|
|
//$this->error();
|
|
$this->success(__('Username already invited'));
|
|
}
|
|
else{
|
|
|
|
$dine = $this->request->post('dine');
|
|
$attendees = $this->request->post('attendees');
|
|
|
|
|
|
$feeData = array(
|
|
'username'=>$this->request->post('username'),
|
|
'company'=>$this->request->post('company'),
|
|
'position'=>$this->request->post('position'),
|
|
'mobile'=>$this->request->post('mobile'),
|
|
'hometown'=>$this->request->post('hometown'),
|
|
'gender'=>$this->request->post('gender'),
|
|
'is_member'=>$this->request->post('is_member'),
|
|
//'pay_member'=>$params['pay_member'],
|
|
'dine'=>json_encode($dine, JSON_UNESCAPED_UNICODE),
|
|
'attendees'=>json_encode($attendees, JSON_UNESCAPED_UNICODE)
|
|
);
|
|
|
|
$invitation = new Invitation;
|
|
|
|
try {
|
|
$result = $invitation->allowField(true)->save($feeData);
|
|
|
|
if ($result !== false) {
|
|
$this->success();
|
|
} else {
|
|
$this->error($row->getError());
|
|
}
|
|
} catch (\think\exception\PDOException $e) {
|
|
$this->error($e->getMessage());
|
|
} catch (\think\Exception $e) {
|
|
$this->error($e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|