...
|
...
|
@@ -56,7 +56,7 @@ class GoodsController extends RestBaseController |
|
|
* @title 立即兑换
|
|
|
* @description 立即兑换接口
|
|
|
* @author panhaowen
|
|
|
* @url /portal/Goods/goodsOrder
|
|
|
* @url /portal/Goods/orderPost
|
|
|
* @method POST
|
|
|
* @header name:XX-Token require:1 default: desc:token
|
|
|
* @param name:goods_id type:int require:1 other: desc:商品id
|
...
|
...
|
@@ -90,89 +90,4 @@ class GoodsController extends RestBaseController |
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* @title 日打卡提交
|
|
|
* @description 麦夫子日打卡提交接口
|
|
|
* @author panhaowen
|
|
|
* @url /portal/Sign/daySignPost
|
|
|
* @method POST
|
|
|
* @header name:XX-Token require:1 default: desc:token
|
|
|
* @param name:sign type:int require:1 other: desc:日打卡种类
|
|
|
* @return slogan:口号
|
|
|
*/
|
|
|
public function daySignPost(){
|
|
|
$param=$this->request->param();
|
|
|
//根据星期判断music,image
|
|
|
$date=date("w",time()); //这个可以获取数字星期比如123,注意0是星期日
|
|
|
$config=Db::name('sign_image')->where('date',$date)->find();
|
|
|
$music=json_decode($config['music'],true);
|
|
|
$music=$music[rand(0,count($music,0)-1)];
|
|
|
//根据签到种类判断增加积分数
|
|
|
$score=Db::name('config')->where('id',1)->find();
|
|
|
if ($param['status']==1){
|
|
|
$score=$score['morning_sign_score'];
|
|
|
$type='morning';
|
|
|
}elseif ($param['status']==2){
|
|
|
$score=$score['noon_sign_score'];
|
|
|
$type='noon';
|
|
|
}elseif ($param['status']==3){
|
|
|
$score=$score['night_sign_score'];
|
|
|
$type='night';
|
|
|
}elseif ($param['status']==4){
|
|
|
$score=$score['sleep_sign_score'];
|
|
|
$type='sleep';
|
|
|
}
|
|
|
//将签到写入记录
|
|
|
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
|
|
|
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
|
|
|
$yesterday = strtotime(date("Y-m-d",strtotime("-1 day")));
|
|
|
//已有记录
|
|
|
$re=Db::name('user_sign')->where(['user_id'=>$this->getUserId(),'create_time'=>[ 'between time', [$beginToday,$endToday]]])->find();
|
|
|
if ($re){
|
|
|
//更新打卡
|
|
|
Db::name('user_sign')->where('id',$re['id'])->update(["$type"=>time()]);
|
|
|
//判断是否打满了4次
|
|
|
if (!empty($re['morning'])&&!empty($re['noon'])&&!empty($re['night'])&&!empty($re['sleep'])){
|
|
|
Db::name('user_sign')->where('id',$re['id'])->update(['status'=>1]);
|
|
|
Db::name('user')->where('id',$this->getUserId())->setInc('all_sign_day',1);
|
|
|
//判断是否为连续打卡
|
|
|
$last=Db::name('user_sign')->where(['user_id'=>$this->getUserId(),'status'=>1,'create_time'=>[ 'between time', [$yesterday,$beginToday]]])->find();
|
|
|
$user=Db::name('user')->where('id',$this->getUserId())->find();
|
|
|
if ($user['stay_sign_day']==0 ||$last)
|
|
|
{
|
|
|
Db::name('user')->where('id',$this->getUserId())->setInc('all_sign_day',1);
|
|
|
//判断最大连续打卡天数
|
|
|
if ($user['stay_sign_day']>$user['longest_sign_day']){
|
|
|
Db::name('user')->where('id',$this->getUserId())->update(['longest_sign_day'=>$user['stay_sign_day']]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//无记录
|
|
|
else{
|
|
|
Db::name('user_sign')->insert(['user_id'=>$this->getUserId(),'create_time'=>time(),"$type"=>time()]);
|
|
|
}
|
|
|
//获取打卡积分
|
|
|
Db::name('user')->where('id',$this->getUserId())->setInc('score',$score);
|
|
|
|
|
|
//判断是否需要进行周打卡
|
|
|
if (!Db::name('user_week_sign')->where('user_id',$this->getUserId())->find()){
|
|
|
$is_week=1;
|
|
|
}elseif (Db::name('user_week_sign')->where(['user_id'=>$this->getUserId(),'create_time'=>[ '<', $beginToday-($score['week_sign']*24*60*60)]])->find()){
|
|
|
$is_week=1;
|
|
|
}else{
|
|
|
$is_week=0;
|
|
|
}
|
|
|
|
|
|
//返回
|
|
|
$this->success('日打卡提交结果',array(
|
|
|
'background'=>cmf_get_image_preview_url($config['image']),
|
|
|
'music'=>cmf_get_file_download_url($music['url']),
|
|
|
'music_name'=>$music['name'],
|
|
|
'score'=>$score,
|
|
|
'week'=>$is_week
|
|
|
));
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|