|
|
@@ -501,4 +501,57 @@ class MemberService extends BaseService
|
|
|
\DB::commit();
|
|
|
return message(($isVip? '续费':'加入').'会员成功',true);
|
|
|
}
|
|
|
+
|
|
|
+ public function sign($userId){
|
|
|
+ $memberInfo = $this->model::where(['id'=> $userId, 'mark'=>1 ,'status'=> 1])
|
|
|
+ ->select(['id','openid','nickname','score','sign_time'])
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if(!$memberInfo){
|
|
|
+ return message('账户不可操作,请联系客服',false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if($memberInfo->sign_time > strtotime(date('Y-m-d'))){
|
|
|
+ return message('您今天已签到过,请明天再来',false);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 参数
|
|
|
+ $score = ConfigService::make()->getConfigByCode('sign_give_score');
|
|
|
+ $score = $score? $score : 0;
|
|
|
+
|
|
|
+ // 处理
|
|
|
+ \DB::beginTransaction();
|
|
|
+ if($score>0){
|
|
|
+ if(!$this->model::where(['id'=> $userId,'mark'=> 1])->increment('score', $score)){
|
|
|
+ \DB::rollBack();
|
|
|
+ return message('更新账户积分失败,请刷新后重试',false);
|
|
|
+ }
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'user_id'=> $userId,
|
|
|
+ 'type'=> 3,
|
|
|
+ 'coin_type'=> 3,
|
|
|
+ 'pay_type'=> 4,
|
|
|
+ 'money'=> $score,
|
|
|
+ 'change_type'=> 1,
|
|
|
+ 'balance'=> $memberInfo->score,
|
|
|
+ 'create_time'=> time(),
|
|
|
+ 'remark'=> "每日签到赠送{$score}积分",
|
|
|
+ 'status'=> 1,
|
|
|
+ ];
|
|
|
+ if(!TradeModel::insertGetId($data)){
|
|
|
+ \DB::rollBack();
|
|
|
+ return message('积分奖励处理失败,请刷新后重试',false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!$this->model::where(['id'=> $userId,'mark'=> 1])->update(['sign_time'=> time()])){
|
|
|
+ \DB::rollBack();
|
|
|
+ return message('签到处理失败,请刷新后重试',false);
|
|
|
+ }
|
|
|
+
|
|
|
+ \DB::commit();
|
|
|
+
|
|
|
+ return message('签到成功',true);
|
|
|
+ }
|
|
|
}
|