cyzhao 2 năm trước cách đây
mục cha
commit
a224c77f00
2 tập tin đã thay đổi với 33 bổ sung11 xóa
  1. 7 0
      Gameserver/Amfphp/base/ErrCode.php
  2. 26 11
      Gameserver/Amfphp/process/AuctionProc.php

+ 7 - 0
Gameserver/Amfphp/base/ErrCode.php

@@ -1221,6 +1221,13 @@ class ErrCode {
      * 出价低于当前价
      */
     const auction_failprice = 4708;
+    
+    /**
+     * 上传拍品价格太低
+     */
+    const auction_loadpricelow = 4709;
+
+
 // </editor-fold>
     //
     // <editor-fold defaultstate="collapsed" desc="公会错误码 - 48xx开始">

+ 26 - 11
Gameserver/Amfphp/process/AuctionProc.php

@@ -140,7 +140,7 @@ class AuctionProc {
      * @return type
      */
     static function UploadAuctionItems() {
-        list($itemId, $num, $bugoutPrice) = req()->paras; //上传拍品的 id 数量 竞拍价 一口价
+        list($itemId, $num, $bugoutPrice,$userBidPrice) = req()->paras; //上传拍品的 id 数量 竞拍价 一口价
 
         $user = ctx();
 
@@ -149,16 +149,17 @@ class AuctionProc {
         my_Assert($mo != null, ErrCode::err_const_no);
 
         $sList = explode(',', $mo->buyoutPrice);
-        my_Assert($bugoutPrice >= $sList[1], ErrCode::notenough_cash_msg);
-
+        my_Assert($bugoutPrice >= $sList[1], ErrCode::auction_loadpricelow);
+        my_Assert($userBidPrice >= $mo->auctionPrice, ErrCode::auction_loadpricelow);
+        
         StoreProc::removeItemFromStore($user->store, $itemId, $num);
 
         $aucItem = new Ins_AuctionItemModel();
         $aucItem->addstep = 10;
         $aucItem->contents = $itemId . "," . $num;
-        $aucItem->startprice = $mo->auctionPrice;
-        $aucItem->buyoutPrice = $sList[1] * $num;
-        $aucItem->currprice = $mo->auctionPrice;
+        $aucItem->startprice = $userBidPrice;
+        $aucItem->buyoutPrice = $bugoutPrice;
+        $aucItem->currprice = 0;
         $aucItem->startts = time();
         $aucItem->endts = glc()->AuctionEndTs * 60 * 60 + time(); # 24小时 
         $aucItem->sellerid = req()->uid;
@@ -217,7 +218,9 @@ class AuctionProc {
         
         UserProc::updateUserInfo();                                             # 回写玩家数据
         return Resp::ok(array(
-                    "store" => $user->store,
+                    "res"=>"ok",
+                    "cash"=>ctx()->baseInfo->cash,
+                    //"store" => ctx()->store,
                     "auction" => $auctionDic, #拍品
         ));
     }
@@ -232,10 +235,22 @@ class AuctionProc {
             foreach ($result as $aucItem) {
                 //发送流拍邮件
                 $sList = explode(',', $aucItem->contents);
-                EmailProc::SendAuctionItemsStreamingMail(req()->zoneid, req()->uid, $sList[0], $sList[1]);
-
-                //更新数据库信息
-                $aucItem->result = "流拍";
+                $currpeopleid = $aucItem->currpeopleid;
+                $sellerId = $aucItem->sellerid;
+                $zoneid = $aucItem->zoneid;
+                
+                if($currpeopleid != null){//结算拍品
+                    $currprice = $aucItem->currprice;//最后的竞价的钱    
+                    $aucItem->result = "完成";  
+                    //给卖家钻石邮件
+                    EmailProc::SendAuctionCashMail($zoneid, $sellerId, $sList[0], 2, $currprice);
+                    //给买家拍品邮件
+                    EmailProc::SendAuctionItemsMail($zoneid, $currpeopleid, $sList[0], $sList[1]);
+                } else {                    
+                    $aucItem->result = "流拍";                   
+                    EmailProc::SendAuctionItemsStreamingMail($zoneid, $sellerId, $sList[0], $sList[1]);
+                }
+                                              
                 self::updateAuctionItemState($aucItem);
             }
         }