2025-02-16 10:57:04 +08:00
|
|
|
|
<?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)
|
|
|
|
|
{
|
2025-02-16 19:34:37 +08:00
|
|
|
|
//TODO 这里业务逻辑不清晰不懂
|
2025-02-16 10:57:04 +08:00
|
|
|
|
|
|
|
|
|
//这里需要根据 业务逻辑判断 能不能签到
|
|
|
|
|
$user_id=$request->data['id'];
|
|
|
|
|
$Signlog=new Signlog();
|
|
|
|
|
// 获取当前月份的天数
|
|
|
|
|
$Signlog->userid=$user_id;
|
|
|
|
|
$Signlog->save();
|
|
|
|
|
return ApiResponseApp::success([]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|