Просмотр исходного кода

wesmiler 报恩寺项目提交

wesmiler 4 лет назад
Родитель
Сommit
ec12b22860
1 измененных файлов с 29 добавлено и 1 удалено
  1. 29 1
      app/Services/MemberService.php

+ 29 - 1
app/Services/MemberService.php

@@ -165,6 +165,8 @@ class MemberService extends BaseService
             if($type == 3){
                 if(isset($info['sign_time'])){
                     $info['is_sign'] = $info['sign_time']>strtotime(date('Y-m-d'))? 1 : 0;
+                    $gd = ConfigService::make()->getConfigByCode('sign_give_gd');
+                    $info['sign_gd'] = $gd? $gd : 0;
                 }
 
                 $info['rank'] = 0;
@@ -549,7 +551,7 @@ class MemberService extends BaseService
      */
     public function sign($userId){
         $memberInfo = $this->model::where(['id'=> $userId, 'mark'=>1 ,'status'=> 1])
-            ->select(['id','openid','nickname','score','sign_time'])
+            ->select(['id','openid','nickname','score','merits_num','sign_time'])
             ->first();
 
         if(!$memberInfo){
@@ -590,6 +592,32 @@ class MemberService extends BaseService
             }
         }
 
+        $giveGd = ConfigService::make()->getConfigByCode('sign_give_gd');
+        $giveGd = $giveGd? $giveGd : 0;
+        if($giveGd>0){
+            if(!$this->model::where(['id'=> $userId,'mark'=> 1])->increment('merits_num', $giveGd)){
+                \DB::rollBack();
+                return message('更新账户功德失败,请刷新后重试',false);
+            }
+
+            $data = [
+                'user_id'=> $userId,
+                'type'=> 3,
+                'coin_type'=> 4,
+                'pay_type'=> 4,
+                'money'=> $giveGd,
+                'change_type'=> 1,
+                'balance'=> $memberInfo->merits_num,
+                'create_time'=> time(),
+                'remark'=> "每日签到赠送{$giveGd}功德",
+                '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);