|
@@ -132,6 +132,57 @@ class UserSignService
|
|
|
return $return_fee;
|
|
|
}
|
|
|
|
|
|
+ public static function signV2($uid, $day)
|
|
|
+ {
|
|
|
+ \Log::info('signv2:uid:'.$uid.' day:'.$day);
|
|
|
+ //查看签到日期
|
|
|
+ $sign_day = ReadRecordService::getSignDay($uid);
|
|
|
+ if($sign_day == -1){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //已经签过到
|
|
|
+ if($sign_day == $day){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $count = ReadRecordService::getSignCountSimple($uid);
|
|
|
+ //记录签到日期
|
|
|
+ if($sign_day && $sign_day == date('Y-m-d',time()-86400)){
|
|
|
+ $continue = true;
|
|
|
+ //昨天有签过到
|
|
|
+ ReadRecordService::sign((int)$uid,true);
|
|
|
+ $count += 1;
|
|
|
+ }else{
|
|
|
+ $continue = false;
|
|
|
+ //昨天没有签过到
|
|
|
+ ReadRecordService::sign((int)$uid,false);
|
|
|
+ $count = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ $fee = 30;
|
|
|
+ if($count % 7 == 1){
|
|
|
+ $fee = 30;
|
|
|
+ }elseif($count % 7 == 3){
|
|
|
+ $fee = 120;
|
|
|
+ }elseif ($count % 7 == 0){
|
|
|
+ $fee = 150;
|
|
|
+ }else{
|
|
|
+ $fee = 50;
|
|
|
+ }
|
|
|
+ UserService::addBalance($uid, $fee, 0, $fee);
|
|
|
+ // 先扔到redis里面,异步更新user_sign表
|
|
|
+ $use_redis_user_sign = true;
|
|
|
+ if($use_redis_user_sign){
|
|
|
+ $sign_data = ['uid'=>$uid,'price'=>$fee,'day'=>$day,'sign_time'=>time(),'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')];
|
|
|
+ Redis::sadd('user_sign:uid',$uid);
|
|
|
+ Redis::hset('user_sign:uid:info',$uid,json_encode($sign_data));
|
|
|
+ ReadRecordService::setSignInfo($uid,json_encode($sign_data));
|
|
|
+ }else{
|
|
|
+ UserSign::sign($uid, $day,$fee);
|
|
|
+ }
|
|
|
+ return $fee;
|
|
|
+ }
|
|
|
+
|
|
|
public static function signToday($uid){
|
|
|
return self::sign($uid,date('Y-m-d'));
|
|
|
}
|