<?php

namespace app\controller\api;

use app\dao\SignDao;
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']=SignDao::search_Sign_today($user_id);
        $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)
    {
        //TODO 这里业务逻辑不清晰不懂

        //这里需要根据 业务逻辑判断 能不能签到
        $user_id=$request->data['id'];
        SignDao::Sign($user_id);
        return ApiResponseApp::success([]);
    }


}
