Browse Source

打字聊天送礼物,直播送礼物都要传number

lizhen_gitee 3 years ago
parent
commit
46ee2978c4

+ 10 - 8
application/api/controller/Gift.php

@@ -84,12 +84,13 @@ class Gift extends Api
     //聊天送礼物
     public function givegift_typing() {
         // 接口防并发
-        /*if (!$this->apiLimit(1, 1000)) {
+        if (!$this->apiLimit(1, 1000)) {
             $this->error(__('Operation frequently'));
-        }*/
+        }
 
         $user_id = input('user_id');// 赠送对象
         $gift_id = input('gift_id');// 礼物ID
+        $number  = input('number','intval');//数量
 
         if (!$user_id || !$gift_id )
         {
@@ -108,6 +109,7 @@ class Gift extends Api
         {
             $this->error("请选择礼物");
         }
+        $giftvalue = bcmul($giftinfo['value'],$number);
 
         //被赠送人信息
         $touserinfo = Db::name('user')->where('id',$user_id)->find();
@@ -118,7 +120,7 @@ class Gift extends Api
 
         // 判断当前用户余额
         $user_gold = model('wallet')->getWallet($this->auth->id,'gold');
-        if($user_gold < $giftinfo['value'])
+        if($user_gold < $giftvalue)
         {
             $this->error("您的金币余额不足");
         }
@@ -133,8 +135,8 @@ class Gift extends Api
             'user_to_id' => $user_id,
             'gift_id' => $giftinfo['id'],
             'gift_name' => $giftinfo['name'],
-            'number' => 1,
-            'price' => $giftinfo['value'],
+            'number' => $number,
+            'price' => $giftvalue,
             'createtime' => time(),
         ];
         $log_id = Db::name('gift_user_typing')->insertGetId($data);
@@ -144,10 +146,10 @@ class Gift extends Api
         }
 
 
-        if($giftinfo['value'] > 0){
+        if($giftvalue > 0){
 
             // 扣除当前用户余额
-            $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',-$giftinfo['value'],53,'赠送礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);
+            $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',-$giftvalue,53,'赠送礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);
             if($wallet_rs['status'] === false){
                 Db::rollback();
                 $this->error($wallet_rs['msg']);
@@ -157,7 +159,7 @@ class Gift extends Api
             $money_to_gold = config('site.money_to_gold');
             $gift_plat_scale = config('site.gift_plat_scale');
 
-            $giftmoney = bcdiv($giftinfo['value'],$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,'money',$money,54,'获得礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);

+ 12 - 10
application/api/controller/Livebc.php

@@ -68,12 +68,13 @@ class Livebc extends Api
     //直播送礼物
     public function givegift() {
         // 接口防并发
-        /*if (!$this->apiLimit(1, 1000)) {
+        if (!$this->apiLimit(1, 1000)) {
             $this->error(__('Operation frequently'));
-        }*/
+        }
 
         $user_id = input('user_id');// 赠送对象
         $gift_id = input('gift_id');// 礼物ID
+        $number  = input('number','intval');//数量
 
         if (!$user_id || !$gift_id )
         {
@@ -92,6 +93,7 @@ class Livebc extends Api
         {
             $this->error("请选择礼物");
         }
+        $giftvalue = bcmul($giftinfo['value'],$number);
 
         //被赠送人信息
         $touserinfo = Db::name('user')->where('id',$user_id)->find();
@@ -102,7 +104,7 @@ class Livebc extends Api
 
         // 判断当前用户余额
         $user_gold = model('wallet')->getWallet($this->auth->id,'gold');
-        if($user_gold < $giftinfo['value'])
+        if($user_gold < $giftvalue)
         {
             $this->error("您的金币余额不足");
         }
@@ -118,8 +120,8 @@ class Livebc extends Api
             'user_to_id' => $user_id,
             'gift_id' => $giftinfo['id'],
             'gift_name' => $giftinfo['name'],
-            'number' => 1,
-            'price' => $giftinfo['value'],
+            'number' => $number,
+            'price' => $giftvalue,
             'createtime' => time(),
         ];
         $log_id = Db::name('gift_user_livebc')->insertGetId($data);
@@ -129,10 +131,10 @@ class Livebc extends Api
         }
 
 
-        if($giftinfo['value'] > 0){
+        if($giftvalue > 0){
 
             // 扣除当前用户余额
-            $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',-$giftinfo['value'],55,'赠送礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);
+            $wallet_rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',-$giftvalue,55,'赠送礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);
             if($wallet_rs['status'] === false){
                 Db::rollback();
                 $this->error($wallet_rs['msg']);
@@ -142,7 +144,7 @@ class Livebc extends Api
             $money_to_gold = config('site.money_to_gold');
             $gift_plat_scale = config('site.gift_plat_scale');
 
-            $giftmoney = bcdiv($giftinfo['value'],$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,'money',$money,56,'获得礼物:'.$giftinfo["name"],'gift_user_typing',$log_id);
@@ -157,10 +159,10 @@ class Livebc extends Api
             $redis->connect($redisconfig["host"], $redisconfig["port"]);
 
             // 添加redis记录做财富排行榜
-            $redis->zIncrBy("livebc_jewel_get_" . $partyid, $giftinfo['value'], $user_id);
+            $redis->zIncrBy("livebc_jewel_get_" . $partyid, $giftvalue, $user_id);
 
             // 添加redis记录做贡献排行榜
-            $redis->zIncrBy("livebc_jewel_to_" . $partyid, $giftinfo['value'], $this->auth->id);
+            $redis->zIncrBy("livebc_jewel_to_" . $partyid, $giftvalue, $this->auth->id);
         }
 
         // tcp 获取房间用户周前三名

+ 1 - 0
application/api/lang/zh-cn.php

@@ -99,4 +99,5 @@ return [
     'You have no permission'                         => '你没有权限访问',
     'An unexpected error occurred'                   => '发生了一个意外错误,程序猿正在紧急处理中',
     'This page will be re-directed in %s seconds'    => '页面将在 %s 秒后自动跳转',
+    'Operation frequently'                           => '操作过于频繁!',
 ];