Преглед изворни кода

送礼物,用校友缘的

lizhen_gitee пре 2 месеци
родитељ
комит
791f5f0203
1 измењених фајлова са 40 додато и 63 уклоњено
  1. 40 63
      application/api/controller/Topicdongtai.php

+ 40 - 63
application/api/controller/Topicdongtai.php

@@ -653,7 +653,8 @@ class Topicdongtai extends Api
             $this->error(__('Operation frequently'));
         }
 
-        $dt_id   = input('dt_id', 0, 'intval'); //动态id
+//        $user_id = input('user_id');// 赠送对象
+        $dt_id = input('dt_id', 0, 'intval'); //动态id
         $gift_id = input('gift_id');// 礼物ID
         $number  = input('number',1,'intval');//数量
 
@@ -681,7 +682,7 @@ class Topicdongtai extends Api
         {
             $this->error("请选择礼物");
         }
-        $giftvalue = bcmul($giftinfo['value'],$number,2);
+        $giftvalue = bcmul($giftinfo['value'],$number);
 
         //被赠送人信息
         $touserinfo = Db::name('user')->where('id',$user_id)->find();
@@ -689,19 +690,11 @@ class Topicdongtai extends Api
             $this->error("不存在的用户");
         }
         // 判断当前用户余额
-        if($giftinfo['wallettype'] == 1){
-            $user_gold = model('wallet')->getWallet($this->auth->id,'gold');
-            if($user_gold < $giftvalue) {
-                $this->error("您的金币不足");
-            }
-        }else{
-            $user_jewel = model('wallet')->getWallet($this->auth->id,'jewel');
-            if($user_jewel < $giftvalue) {
-                $this->error("您的钻石不足");
-            }
+        $user_gold = model('wallet')->getWallet($this->auth->id,'gold');
+        if($user_gold < $giftvalue) {
+            $this->error("您的金币余额不足");
         }
 
-        $money = 0.00;
         Db::startTrans();
         // 添加礼物赠送记录表
         $data = [
@@ -711,16 +704,9 @@ class Topicdongtai extends Api
             'gift_id' => $giftinfo['id'],
             'gift_name' => $giftinfo['name'],
             'number' => $number,
-
+            'price' => $giftvalue,
             'createtime' => time(),
-            'wallettype' => $giftinfo['wallettype'],
         ];
-        if($giftinfo['wallettype'] == 1){
-            $data['price'] = $giftvalue;
-        }else{
-            $data['jewel'] = $giftvalue;
-        }
-
         $log_id = Db::name('gift_user_dongtai')->insertGetId($data);
         if(!$log_id){
             Db::rollback();
@@ -729,59 +715,51 @@ class Topicdongtai extends Api
 
         if($giftvalue > 0){
             // 扣除当前用户余额
-            if($giftinfo['wallettype'] == 1){
-                $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,$user_id,'gold',-$giftvalue,59,'赠送礼物:'.$giftinfo["name"] . '*' . $number,'gift_user_dongtai',$log_id);
-                if($wallet_rs['status'] === false){
-                    Db::rollback();
-                    $this->error($wallet_rs['msg']);
-                }
+            $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,$user_id,'gold',-$giftvalue,59,'赠送礼物:'.$giftinfo["name"] . '*' . $number,'gift_user_dongtai',$log_id);
+            if($wallet_rs['status'] === false){
+                Db::rollback();
+                $this->error($wallet_rs['msg']);
+            }
 
-                // 添加赠送用户余额
-                $money_to_gold = config('site.money_to_gold');
-                $gift_plat_scale = config('site.gift_plat_scale');
+            // 添加赠送用户余额
+            $money_to_gold = config('site.money_to_gold');
+            $gift_plat_scale = config('site.gift_plat_scale');
 
-                $giftmoney = bcdiv($giftvalue,$money_to_gold,2);
+            $giftmoney = bcdiv($giftvalue,$money_to_gold,2);
 
-                $money = bcdiv(bcmul($giftmoney,100 - $gift_plat_scale,2),100,2);
-                $wallet_rs = model('wallet')->lockChangeAccountRemain($user_id,$this->auth->id,'money',$money,60,'获得礼物:'.$giftinfo["name"] . '*' . $number,'gift_user_dongtai',$log_id,2);
-                if($wallet_rs['status'] === false){
-                    Db::rollback();
-                    $this->error($wallet_rs['msg']);
-                }
+            $money = bcdiv(bcmul($giftmoney,100 - $gift_plat_scale,2),100,2);
+            $wallet_rs = model('wallet')->lockChangeAccountRemain($user_id,$this->auth->id,'money',$money,60,'获得礼物:'.$giftinfo["name"] . '*' . $number,'gift_user_dongtai',$log_id,2);
+            if($wallet_rs['status'] === false){
+                Db::rollback();
+                $this->error($wallet_rs['msg']);
+            }
 
 
-                //增加赠送用户上级余额
-                if ($touserinfo['intro_uid']) {
-                    //获取返利比率
-                    $agent_info = Db::name('user')->where(['id' => $touserinfo['intro_uid']])->field('is_agent,h_intro_income_rebate_rate')->find();
-                    $intro_income_rebate_rate = ($agent_info['is_agent'] == 1) ? $agent_info['h_intro_income_rebate_rate'] : (int)config('site.intro_income_rebate_rate'); //邀请人收礼物返利比率
-                    if ($intro_income_rebate_rate > 0 && $intro_income_rebate_rate <= 100) {
-                        //上级获得金额
-                        $intro_uid_money = number_format($money * $intro_income_rebate_rate / 100, 2, '.', '');
-                        if ($intro_uid_money > 0) {
-                            $intro_result = model('Wallet')->lockChangeAccountRemain($touserinfo['intro_uid'],$user_id,'money',$intro_uid_money,68, '邀请人动态礼物获赠奖励','gift_user_dongtai',$log_id);
-                            if($intro_result['status']===false)
-                            {
-                                Db::rollback();
-                                $this->error($intro_result['msg']);
-                            }
+            //增加赠送用户上级余额
+            if ($touserinfo['intro_uid']) {
+                //获取返利比率
+                $agent_info = Db::name('user')->where(['id' => $touserinfo['intro_uid']])->field('is_agent,h_intro_income_rebate_rate')->find();
+                $intro_income_rebate_rate = ($agent_info['is_agent'] == 1) ? $agent_info['h_intro_income_rebate_rate'] : (int)config('site.intro_income_rebate_rate'); //邀请人收礼物返利比率
+                if ($intro_income_rebate_rate > 0 && $intro_income_rebate_rate <= 100) {
+                    //上级获得金额
+                    $intro_uid_money = number_format($money * $intro_income_rebate_rate / 100, 2, '.', '');
+                    if ($intro_uid_money > 0) {
+                        $intro_result = model('Wallet')->lockChangeAccountRemain($touserinfo['intro_uid'],$user_id,'money',$intro_uid_money,68, '邀请人动态礼物获赠奖励','gift_user_dongtai',$log_id);
+                        if($intro_result['status']===false)
+                        {
+                            Db::rollback();
+                            $this->error($intro_result['msg']);
                         }
                     }
                 }
+            }
 
-                if ($this->auth->gender == 1 && $touserinfo['gender'] == 0) {
+            if ($this->auth->gender == 1 && $touserinfo['gender'] == 0) {
                 //增加亲密度
-                /*$user_intimacy_rs = addintimacy($this->auth->id, $user_id, $giftvalue);
+                $user_intimacy_rs = addintimacy($this->auth->id, $user_id, $giftvalue);
                 if (!$user_intimacy_rs['status']) {
                     Db::rollback();
                     $this->error('您的网络开小差啦~');
-                }*/
-            }
-            }else{
-                $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,$user_id,'jewel',-$giftvalue,39,'赠送礼物:'.$giftinfo["name"] . '*' . $number,'gift_user_dongtai',$log_id);
-                if($wallet_rs['status'] === false){
-                    Db::rollback();
-                    $this->error($wallet_rs['msg']);
                 }
             }
         }
@@ -797,8 +775,7 @@ class Topicdongtai extends Api
         }*/
 
         $return_data['money'] = $money; //获得金额
-//        $return_data['level_remark'] = isset($user_intimacy_rs) ? $user_intimacy_rs['level_remark'] : ''; //亲密度等级提示语
-        $return_data['level_remark'] = ''; //亲密度等级提示语
+        $return_data['level_remark'] = isset($user_intimacy_rs) ? $user_intimacy_rs['level_remark'] : ''; //亲密度等级提示语
         $this->success('赠送成功', $return_data);
     }