فهرست منبع

add spend msg

stanley-king 6 سال پیش
والد
کامیت
e2ed22f5f8
4فایلهای تغییر یافته به همراه21 افزوده شده و 12 حذف شده
  1. 2 1
      data/logic/buy_1.logic.php
  2. 4 7
      helper/bonus/account.php
  3. 3 4
      helper/room/base_room.php
  4. 12 0
      helper/room_helper.php

+ 2 - 1
data/logic/buy_1.logic.php

@@ -693,7 +693,8 @@ class buy_1Logic
             $room_id = $bonus_amount['room_id'];
             $room_bonus = $bonus_amount['room_bonus'];
 
-            $priceCalculate->hold_bonus($user_bonus,$room_id,$room_bonus);
+            $priceCalculate->hold_bonus($user_bonus);
+            room_helper::onSpendBonus($room_id,$room_bonus,$member_id);
 
             $data_pd = array();
             $data_pd['member_id']   = $member_id;

+ 4 - 7
helper/bonus/account.php

@@ -31,7 +31,7 @@ interface IPriceCalculate
     public function bonus_amount($goods_amount,$goods_lowest_amount);
     public function bonus_way($bonus_amount);
     public function bonus_detail($bonus_amount,$room_id);
-    public function hold_bonus($user_bonus,$room_id,$room_bonus);
+    public function hold_bonus($user_bonus);
 }
 
 class normal_calc implements IPriceCalculate
@@ -58,7 +58,7 @@ class normal_calc implements IPriceCalculate
     {
         return 0.00;
     }
-    public function hold_bonus($user_bonus,$room_id,$room_bonus) {
+    public function hold_bonus($user_bonus) {
 
     }
     public function bonus_way($bonus_amount) {
@@ -663,7 +663,8 @@ class account implements IPriceCalculate
 
         return ['user_bonus' => $ways['available_bonus'],'room_bonus' => $room_val,'room_id' => $roomid];
     }
-    public function hold_bonus($user_bonus,$room_id,$room_bonus)
+
+    public function hold_bonus($user_bonus)
     {
         if(intval($user_bonus * 100 + 0.5) > 0)
         {
@@ -671,10 +672,6 @@ class account implements IPriceCalculate
             $this->mPayRates->with_hold(30, $user_bonus);
             $this->mDirty = true;
         }
-
-        if($room_id > 0 && intval($room_bonus * 100 + 0.5) > 0) {
-            //todo需要扣除共享基金
-        }
     }
     static private function create_moneycalc($rate_moneys)
     {

+ 3 - 4
helper/room/base_room.php

@@ -160,12 +160,12 @@ abstract class base_room
             return false;
         }
     }
-    private function spend_msg($user,$steps,$amount)
+    private function spend_msg($user,$amount)
     {
         try
         {
             $minfo = $this->userinfos($user);
-            $str = "{$minfo['nickname']}贡献了{$amount}元助力共享基金,兑换累计步数{$steps}步。<font color='#4A90E2'>一起参与助力吧!</font>";
+            $str = "{$minfo['nickname']}使用了{$amount}元助力共享基金。<font color='#4A90E2'>一起参与助力吧!</font>";
             return $str;
         }
         catch (Exception $ex) {
@@ -269,10 +269,9 @@ abstract class base_room
         }
         elseif($type == proto_type::msg_stype_spend) {
             $userid = $content['user'];
-            $steps  = $content['steps'];
             $amount = $content['amount'];
 
-            $msg = $this->spend_msg($userid,$steps,$amount);
+            $msg = $this->spend_msg($userid,$amount);
         }
         else {
             return false;

+ 12 - 0
helper/room_helper.php

@@ -22,6 +22,7 @@ require_once(BASE_ROOT_PATH . '/helper/room/room_parts.php');
 require_once(BASE_ROOT_PATH . '/helper/room/room_avatar.php');
 
 
+
 class room_helper
 {
     const room_name_usercount = 5;
@@ -148,4 +149,15 @@ class room_helper
         }
         return $result;
     }
+
+    public static function onSpendBonus($roomid,$amount,$userid)
+    {
+        if($roomid > 0 && intval($amount * 100 + 0.5) > 0 && $userid > 0)
+        {
+            $mod_room = Model('room');
+            $mod_room->editRoom(['room_id' => $roomid],['shared_bonus' => ['exp',"bonus - {$amount}"]]);
+            $content = ['user' => session_helper::memberid(),'amount' => $amount];
+            room\factory_client::instance()->notice_room($roomid,room\proto_type::msg_stype_spend,$content);
+        }
+    }
 }