コード例 #1
0
ファイル: OrderList.php プロジェクト: song-yuan/wymenujp
 public static function UpdatePadOrder($dpid, $orderId, $goodsIds)
 {
     if ($goodsIds) {
         $transaction = Yii::app()->db->beginTransaction();
         try {
             foreach ($goodsIds as $key => $val) {
                 if (!strpos($key, 'group')) {
                     //去除套餐中的 checkbox
                     $goodsArr = explode(',', $key);
                     //如果数组元素个数是2 证明书套餐
                     if (count($goodsArr) == 2) {
                         $setId = $goodsArr[0];
                         $sql = 'delete from nb_order_product where order_id=:orderId and set_id=:setId and dpid=:dpid';
                         $connect = Yii::app()->db->createCommand($sql);
                         $connect->bindValue(':setId', $setId);
                         $connect->bindValue(':orderId', $orderId);
                         $conn->bindValue(':dpid', $dpid);
                         $connect->execute();
                         $goodsData = explode('-', $goodsArr[1]);
                         foreach ($goodsData as $goods) {
                             $se = new Sequence("order_product");
                             $lid = $se->nextval();
                             $insertData = array('lid' => $lid, 'dpid' => $dpid, 'create_at' => date('Y-m-d H:i:s', time()), 'order_id' => $orderId, 'set_id' => $setId, 'product_id' => $goods, 'price' => ProductSetClass::GetProductSetPrice($dpid, $setId, $goods), 'update_at' => date('Y-m-d H:i:s', time()), 'amount' => $val, 'taste_memo' => yii::t('app', '无'));
                             Yii::app()->db->createCommand()->insert('nb_order_product', $insertData);
                         }
                     } else {
                         $sql = 'update nb_order_product set amount = :amount where order_id = :orderId and product_id = :productId and dpid=:dpid';
                         $conn = Yii::app()->db->createCommand($sql);
                         $conn->bindValue(':amount', $val);
                         $conn->bindValue(':orderId', $orderId);
                         $conn->bindValue(':productId', $key);
                         $conn->bindValue(':dpid', $dpid);
                         $conn->execute();
                     }
                 }
             }
             $transaction->commit();
             return true;
         } catch (Exception $e) {
             $transaction->rollback();
             //如果操作失败, 数据回滚
             return false;
         }
     } else {
         return false;
     }
 }