Kaynağa Gözat

拍卖bug修复

cyzhao 2 yıl önce
ebeveyn
işleme
d333147187

+ 7 - 4
Gameserver/Amfphp/process/AuctionProc.php

@@ -87,7 +87,11 @@ class AuctionProc {
         my_Assert(ctx()->baseInfo->cash >= $buyoutPrice, ErrCode::notenough_cash_msg);
         //扣除钻石--交易费用 + 手续费
         ctx()->base()->Consume_Cash($buyoutPrice);
-        //ctx()->baseInfo->cash -= $buyoutPrice; 
+        $sList = explode(',', $aucItem->contents);
+        if($aucItem->currpeopleid != null){//竞拍玩家邮件返回钻石
+            EmailProc::SendAuctionItemsBidCashFallback(req()->zoneid, req()->uid, $sList[0], 2, $buyoutPrice);
+        }
+        
         //更新表里的交易状态
         $aucItem->result = "完成";
         $aucItem->currpeopleid = req()->uid;
@@ -97,12 +101,11 @@ class AuctionProc {
 //更新拍品缓存
 
         $obj = self::updateAuctionUserItemListCache();
-//发送邮件,给拍品
-        $sList = explode(',', $aucItem->contents);
+//发送邮件,给拍品       
         EmailProc::SendAuctionItemsMail(req()->zoneid, req()->uid, $sList[0], $sList[1]);
 
         EmailProc::SendAuctionCashMail(req()->zoneid, $aucItem->sellerid, $sList[0], 2, $buyoutPrice - intval($buyoutPrice * 0.05)); //上架玩家给钻石邮件  
-
+     
         UserProc::updateUserInfo();                                             # 回写玩家数据
         return Resp::ok(array(
                     "auction" => $obj->data,

+ 16 - 0
Gameserver/Amfphp/process/EmailProc.php

@@ -438,6 +438,22 @@ class EmailProc {
                 $name . "拍品取消出售,系统返还您的出价钻石", "$cash,$num");
         self::InsertMail($zoneid, $uid, $mail);
     }
+    
+    /**
+     * 一口价拍走拍品,竞拍者钻石回退
+     * @param type $zoneid
+     * @param type $uid
+     * @param type $itemid
+     * @param type $cash
+     * @param type $num
+     */
+    public static function SendAuctionItemsBidCashFallback($zoneid, $uid, $itemid,$cash, $num) {
+        $name = GameConfig::item_base_getItem($itemid)->name;
+
+        $mail = new Ins_Email(null, enum_Mail_Type::SysTemMail, "拍卖退款邮件", #
+                $name . "拍品已经被别人拍走,系统返还您的出价钻石", "$cash,$num");
+        self::InsertMail($zoneid, $uid, $mail);
+    }
 
 // </editor-fold>
 //