diff --git a/library/Plugin/Helpers.php b/library/Plugin/Helpers.php
index 9d19803..b9baeb4 100644
--- a/library/Plugin/Helpers.php
+++ b/library/Plugin/Helpers.php
@@ -561,9 +561,10 @@ class Helpers
      *
      * @param array $cartGoods 购物车商品列表
      * @param boolean $isValid 是否是可用商品(非失效商品),默认是
+     * @param bool $isAdvanceCart 是否是预售购物车(和上市期有关)
      * @return array 处理之后的购物车商品数据
      */
-    public static function formatCartGoods($cartGoods, $isValid = true)
+    public static function formatCartGoods($cartGoods, $isAdvanceCart, $isValid = true)
     {
         $arr = array();
 
@@ -592,7 +593,7 @@ class Helpers
                 $oneGoods['isAdvanceBuy'] = true;
             }
             // 上市期
-            if (!empty($value['expect_arrival_time'])) {
+            if ($isAdvanceCart && !empty($value['expect_arrival_time'])) {
                 $oneGoods['appearDate'] = $value['expect_arrival_time'];
             }
             // 商品链接
@@ -628,7 +629,6 @@ class Helpers
                 $oneGoods['id'] = $single['product_skn'];
                 $oneGoods['name'] = $single['product_name'];
                 $oneGoods['thumb'] = !empty($single['goods_images']) ? Images::getImageUrl($single['goods_images'], 120, 160) : '';
-                $oneGoods['appearDate'] = '12月'; // 目前app接口没有返回该数据
                 $oneGoods['price'] = self::transPrice($single['last_price']);
                 $oneGoods['marketPrice'] = self::transPrice($single['market_price']);
                 $oneGoods['count'] = $single['storage_number'];
diff --git a/static/js/cart/order-ensure.js b/static/js/cart/order-ensure.js
index 3eac761..024c69f 100644
--- a/static/js/cart/order-ensure.js
+++ b/static/js/cart/order-ensure.js
@@ -16,6 +16,7 @@ var dispatchModeHammer,
     dispatchTimeHammer,
     $invoice = $('.invoice'),
     $price = $('.price-cal'),
+    $couponUse = $('.coupon-use.used'),
     payType,
     priceTmpl = Handlebars.compile($('#tmpl-price').html()),
     queryString = $.queryString(),
@@ -27,6 +28,11 @@ if (window.getUid() !== orderInfo('uid')) {
     order.init();
 }
 
+if ($couponUse.data('value') !== orderInfo('couponValue')) {
+    orderInfo('couponCode', null);
+    orderInfo('couponValue', null);
+}
+
 function dispacthTapEvt(e) {
     var $cur = $(e.target).closest('li');
 
@@ -110,9 +116,24 @@ function orderCompute() {
 }
 
 function submitOrder() {
-    if (orderInfo('invoice') && !orderInfo('invoiceText')) {
-        tip.show('请输入发票抬头');
-        return;
+    var invoiceText = $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'),
+        msg = $('#msg').find('input').val() || orderInfo('msg');
+
+    if (orderInfo('invoice')) {
+        if (!invoiceText) {
+            tip.show('请输入发票抬头');
+            return;
+        }
+        if (invoiceText.length > 30) {
+            tip.show('发票抬头不得超过30个汉字');
+            return;
+        }
+    }
+    if (msg) {
+        if (msg.length > 40) {
+            tip.show('留言不得超过40个汉字');
+            return;
+        }
     }
     loading.showLoadingMask();
     $.ajax({
@@ -123,9 +144,9 @@ function submitOrder() {
             cartType: queryString.cartType || queryString.carttype || 'ordinary',
             deliveryId: orderInfo('deliveryId'),
             deliveryTimeId: orderInfo('deliveryTimeId'),
-            invoiceText: $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'),
+            invoiceText: invoiceText,
             invoiceType: $invoice.find('.invoice-type').val() || orderInfo('invoiceType'),
-            msg: $('#msg').find('input').val() || orderInfo('msg'),
+            msg: msg,
             paymentTypeId: orderInfo('paymentTypeId'),
             paymentType: orderInfo('paymentType'), //支付方式
             couponCode: orderInfo('couponCode'),
@@ -198,7 +219,7 @@ $invoice.find('[name="invoice-title"]').on('blur', function() {
     orderInfo('invoiceType', $(this).val());
 });
 
-$('#msg').find('input').on('blur', function() {
+$('#msg').find('textarea').on('blur', function() {
     orderInfo('msg', $(this).val());
 });
 
diff --git a/static/sass/cart/_order-ensure.scss b/static/sass/cart/_order-ensure.scss
index 93c8de4..cc75665 100644
--- a/static/sass/cart/_order-ensure.scss
+++ b/static/sass/cart/_order-ensure.scss
@@ -166,19 +166,26 @@
         }
     }
 
-    .block input {
-        box-sizing: border-box;
-        margin: pxToRem(20px) 0;
-        padding: 0 pxToRem(12px);
-        width: 100%;
-        height: pxToRem(60px);
-        color: #444;
-        background: #efefef;
-        font-size: pxToRem(16px);
-        line-height: 1;
-        outline: 0;
-        border: 0;
-        @include border-radius(4px);
+    .block {
+        input, textarea {
+            box-sizing: border-box;
+            margin: pxToRem(20px) 0;
+            padding: 0 pxToRem(12px);
+            width: 100%;
+            height: pxToRem(60px);
+            color: #444;
+            background: #efefef;
+            font-size: pxToRem(16px);
+            line-height: 1;
+            outline: 0;
+            border: 0;
+            @include border-radius(4px);
+        }
+        textarea {
+            padding: pxToRem(12px);
+            height: auto;
+            resize: none;
+        }
     }
 
     #invoice {
diff --git a/template/m.yohobuy.com/actions/cart/index/order-ensure.phtml b/template/m.yohobuy.com/actions/cart/index/order-ensure.phtml
index a256e8b..48d61c0 100644
--- a/template/m.yohobuy.com/actions/cart/index/order-ensure.phtml
+++ b/template/m.yohobuy.com/actions/cart/index/order-ensure.phtml
@@ -50,7 +50,7 @@
                             </span>
 
                             {{#if value}}
-                                <span class="used coupon-use">
+                                <span class="used coupon-use" data-value="{{value}}">
                                     -¥{{value}}
                                     <i class="iconfont">&#xe614;</i>
                                 </span>
@@ -77,7 +77,7 @@
                         <span class="title">发票</span>
                         <span class="iconfont checkbox {{#if needInvoice}}icon-cb-checked{{else}}icon-checkbox{{/if}}"></span>
                         <form id="invoice">
-                            <input type="text" name="invoice-title" value="{{invoiceText}}" placeholder="发票抬头">
+                            <input type="text" name="invoice-title" value="{{invoiceText}}" maxlength="30" placeholder="发票抬头">
                             <label>
                                 发票类型
                                 <select class="invoice-type" name="invoice-type">
@@ -92,7 +92,7 @@
             </ul>
 
             <form id="msg" action="" method="post">
-                <input type="text" name="msg" value="{{msg}}" placeholder="留言">
+                <textarea name="msg" rows="2" maxlength="40" placeholder="留言">{{msg}}</textarea>
             </form>
         </section>
 
diff --git a/yohobuy/m.yohobuy.com/application/models/Index/Cart.php b/yohobuy/m.yohobuy.com/application/models/Index/Cart.php
index f0fddfa..8f2e222 100644
--- a/yohobuy/m.yohobuy.com/application/models/Index/Cart.php
+++ b/yohobuy/m.yohobuy.com/application/models/Index/Cart.php
@@ -103,7 +103,7 @@ class CartModel
 
             /* 普通购物车 */
             $result['commonGoodsCount'] = $ordinaryCount;
-            $result['commonCart'] = self::procCartData($cart['ordinary_cart_data'], $onlyGift, $onlyAdvanceBuy);
+            $result['commonCart'] = self::procCartData($cart['ordinary_cart_data'], $onlyGift, $onlyAdvanceBuy, false);
             /* 预售购物车 */
             $result['presellGoodsCount'] = $advanceCount;
             $result['preSellCart'] = self::procCartData($cart['advance_cart_data'], $onlyGift, $onlyAdvanceBuy);
@@ -722,15 +722,16 @@ class CartModel
      * @param array $data 不同类型购物车数据
      * @param bool $onlyGift 只获取赠品的商品数据
      * @param bool $onlyAdvanceBuy 只获取加价购的商品数据
+     * @param bool $isAdvanceCart 是否是预售购物车,默认是,(和上市期有关)
      * @return array $result 处理之后的不同类型购物车数据
      */
-    private static function procCartData($data, $onlyGift = false, $onlyAdvanceBuy = false)
+    private static function procCartData($data, $onlyGift = false, $onlyAdvanceBuy = false, $isAdvanceCart = true)
     {
         $result = array();
 
         do {
             // 数据为空时返回空的标志
-            if (empty($data)) {
+            if (empty($data['goods_list'])) {
                 break;
             }
 
@@ -746,13 +747,13 @@ class CartModel
             }
 
             // 购买的可用商品列表
-            $validGoods = Helpers::formatCartGoods($data['goods_list']);
+            $validGoods = Helpers::formatCartGoods($data['goods_list'], $isAdvanceCart);
             if (!empty($validGoods)) {
                 $result['goods'] = $validGoods;
             }
 
             // 失效商品列表
-            $notValidGoods = Helpers::formatCartGoods($data['sold_out_goods_list'], false);
+            $notValidGoods = Helpers::formatCartGoods($data['sold_out_goods_list'], $isAdvanceCart, false);
             if (!empty($notValidGoods)) {
                 $result['notValidGoods'] = $notValidGoods;
             }