Exemple #1
0
 /**
  * 插入订单对应下的总表信息,没有批量处理事件
  * @para $data as array
  * @add by Herman.Xi
  * @last modified 20131022
  * $in 默认为进入订单模式
  */
 public static function insertAllOrderRowNoEvent($orderData, $tName = 'om_unshipped_order', $in = true)
 {
     self::initDB();
     //var_dump($orderData); exit;
     $obj_order_data = $orderData['orderData'];
     $orderExtenData = $orderData['orderExtenData'];
     $orderUserInfoData = $orderData['orderUserInfoData'];
     $orderDetailArr = $orderData['orderDetail'];
     $orderTrackInfo = $orderData['orderTrack'];
     //var_dump($obj_order_data); exit;
     //$tName = 'om_unshipped_order';
     $where = "WHERE recordNumber='{$obj_order_data['recordNumber']}' AND platformId={$obj_order_data['platformId']}";
     $flagCountUnshipped = OmAvailableModel::getTNameCount($tName, $where);
     //var_dump($flagCountUnshipped); exit;
     $_tName = 'om_shipped_order';
     $flagCountshipped = OmAvailableModel::getTNameCount($_tName, $where);
     if ($obj_order_data && empty($flagCountshipped)) {
         //判断订单是否已经在系统2个订单表(未发货和已发货)中存在
         $platfrom = omAccountModel::getPlatformSuffixById($obj_order_data['platformId']);
         $extension = $platfrom['suffix'];
         //获取后缀名称
         //echo $extension; echo "<br>"; exit;
         $insertOrderDataRow = self::insertOrderRow($obj_order_data, $tName);
         //插入到order表
         if (empty($insertOrderDataRow)) {
             self::$errCode = "020";
             self::$errMsg = "插入订单失败!";
             return false;
         }
         $orderExtenData['omOrderId'] = $insertOrderDataRow;
         $orderUserInfoData['omOrderId'] = $insertOrderDataRow;
         $resultExten = self::insertExtension($orderExtenData, $extension, $tName);
         //插入到order_extend表
         if (!$resultExten) {
             self::$errCode = "021";
             self::$errMsg = "插入订单附加表失败!";
             return false;
         }
         $resultUserInfo = self::insertUserinfoRow($orderUserInfoData, $tName);
         //插入到order_userInfo表
         if (!$resultUserInfo) {
             self::$errCode = "022";
             self::$errMsg = "插入用户信息表失败!";
             return false;
         }
         foreach ($orderDetailArr as $orderDetail) {
             $orderDetailData = $orderDetail['orderDetailData'];
             $orderDetailExtenData = $orderDetail['orderDetailExtenData'];
             $orderDetailData['omOrderId'] = $insertOrderDataRow;
             $orderDetailData['createdTime'] = time();
             $insertOrderDatilRow = self::insertOrderdetail($orderDetailData, $tName);
             //插入到detail表
             if (empty($insertOrderDatilRow)) {
                 self::$errCode = "023";
                 self::$errMsg = "插入订明细单失败!";
                 return false;
             }
             $orderDetailExtenData['omOrderdetailId'] = $insertOrderDatilRow;
             if ($orderDetailExtenData) {
                 $resultOrderDetailExten = self::insertDetailExtension($orderDetailExtenData, $extension, $tName);
                 //插入到detailExtend
                 if (!$resultOrderDetailExten) {
                     self::$errCode = "024";
                     self::$errMsg = "插入订单明细附带表失败!";
                     return false;
                 }
             }
         }
         if ($obj_order_data['platformId'] == 1 && $in) {
             $insertOrderidsDada = array('omOrderId' => $insertOrderDataRow, 'PayPalPaymentId' => $orderData['orderExtenData']['PayPalPaymentId'], 'orderid' => $orderData['orderExtenData']['orderId'], 'accountId' => $orderData['orderData']['accountId'], 'saletime' => time());
             $insertOrderids = OrderidsModel::insertOrderidsList($insertOrderidsDada);
             if (!$insertOrderids) {
                 self::$errCode = "025";
                 self::$errMsg = "插入ebay订单IDS失败!";
                 return false;
             }
         }
         if (isset($orderData['orderNote']) && !empty($orderData['orderNote'])) {
             $orderNote = $orderData['orderNote'];
             $insertOrderNoteDada = array('omOrderId' => $insertOrderDataRow, 'content' => $orderNote['content'], 'userId' => $orderNote['userId'], 'createdTime' => $orderNote['createdTime']);
             $insertOrderNoteids = self::insertOrderNotesRow($insertOrderNoteDada);
             if (!$insertOrderNoteids) {
                 self::$errCode = "026";
                 self::$errMsg = "插入订单Note失败!";
                 return false;
             }
         }
         $buyerInfo = $orderUserInfoData;
         $buyerInfo['platformId'] = $obj_order_data['platformId'];
         unset($buyerInfo['omOrderId']);
         unset($buyerInfo['countrySn']);
         unset($buyerInfo['currency']);
         unset($buyerInfo['currency']);
         //var_dump($buyerInfo);
         $insertBuyerInfo = self::insertBuyerInfoRow($buyerInfo);
         //var_dump($insertBuyerInfo);
         if (!$insertBuyerInfo) {
             return false;
         }
         //判断为新插入订单时,需要插入跟踪号
         if ($orderTrackInfo['tracknumber'] != '' && $in) {
             $orderTrackInfo['omOrderId'] = $insertOrderDataRow;
             $insertTrack = self::insertOrderTrackRow($orderTrackInfo);
             if (!$insertTrack) {
                 return false;
             }
         }
         $ProductStatus = new ProductStatus();
         if (!$ProductStatus->updateSkuStatusByOrderStatus(array($insertOrderDataRow))) {
             self::$errCode = "400";
             self::$errMsg = "已经包含订单信息,不能重复插入!";
             return false;
         }
         //var_dump($insertOrderDataRow); exit;
         return $insertOrderDataRow;
     } else {
         self::$errCode = "400";
         self::$errMsg = "已经包含订单信息,不能重复插入!";
         return false;
     }
 }