72 lines
1.8 KiB
PHP
72 lines
1.8 KiB
PHP
<?php
|
||
|
||
namespace app\controller\api;
|
||
|
||
use support\Request;
|
||
|
||
use App\Utils\ApiResponseApp;
|
||
|
||
|
||
use App\model\Signlog;
|
||
use hg\apidoc\annotation as Apidoc;
|
||
use support\Db;
|
||
|
||
/**
|
||
* @Apidoc\Title("用户签到控制器")
|
||
*/
|
||
|
||
class SignController
|
||
{
|
||
protected $noNeedLogin = ['lists', 'get_project', 'get_projectdetailed', 'get_mechanism_list'];
|
||
|
||
|
||
/**
|
||
* @Apidoc\Title("1.0 签到信息")
|
||
* @Apidoc\Url("api/Sign/info")
|
||
* @Apidoc\Method("GET")
|
||
*/
|
||
public function info(Request $request)
|
||
{
|
||
/**
|
||
* today_sign 今天是否签到 当前是否签到,0 表示今天还没有签到,1 则表示今天已经签到
|
||
* sign_days 用户已经连续签到的天数
|
||
* next_days 距离下一个奖励或活动的天数,表示用户还需等待多少天才能解锁下一个奖励
|
||
* next_score 下一个奖励 积分
|
||
* sign_info 当月签到历史
|
||
* day_score 每天签到赠送积分数量
|
||
*/
|
||
$user_id=$request->data['id'];
|
||
// $res=Signlog::all();
|
||
// 获取当前月份的天数
|
||
$days_in_month = date('t');
|
||
for ($day = 1; $day <= $days_in_month; $day++) {
|
||
$res['sign_info'][$day]=0;
|
||
}
|
||
$res['today_sign']=0;
|
||
$res['sign_days']=0;
|
||
$res['next_days']=7;
|
||
$res['next_score']=500;
|
||
$res['day_score']=30;
|
||
return ApiResponseApp::success($res);
|
||
}
|
||
|
||
/**
|
||
* @Apidoc\Title("1.0 签到")
|
||
* @Apidoc\Url("api/Sign/sign")
|
||
* @Apidoc\Method("GET")
|
||
*/
|
||
public function sign(Request $request)
|
||
{
|
||
|
||
//这里需要根据 业务逻辑判断 能不能签到
|
||
$user_id=$request->data['id'];
|
||
$Signlog=new Signlog();
|
||
// 获取当前月份的天数
|
||
$Signlog->userid=$user_id;
|
||
$Signlog->save();
|
||
return ApiResponseApp::success([]);
|
||
}
|
||
|
||
|
||
}
|