Explorar o código

feat: EK-3320: [Order List]新增发票功能.

kevin hai 2 meses
pai
achega
d5aecbaaa4

+ 5 - 8
common/models/forms/OrderInvoiceRemarkForm.php

@@ -8,6 +8,7 @@ use yii\base\Exception;
 class OrderInvoiceRemarkForm extends Model
 {
     public $orderSn;
+    public $invoiceRemark;
 
     /**
      * @inheritdoc
@@ -17,7 +18,7 @@ class OrderInvoiceRemarkForm extends Model
         return [
             [['orderSn'], 'trim'],
             [['orderSn'], 'required'],
-            ['remark', 'string', 'max' => 50000],
+            ['invoice_remark', 'string', 'max' => 50000],
         ];
     }
 
@@ -25,7 +26,7 @@ class OrderInvoiceRemarkForm extends Model
     {
         return [
             'orderSn' => '订单号',
-            'remark' => '发票备注',
+            'invoice_remark' => '发票备注',
         ];
     }
 
@@ -53,7 +54,7 @@ class OrderInvoiceRemarkForm extends Model
         $sn = $this->orderSn;
         // 订单详情
         $orderInfo = Order::findUseDbCalc()
-        ->select('ID,INVOICE_REMARK,SN,INVOICE_REMARK_EDIE_CNT,STATUS,COUNTRY_ID')
+        ->select('ID,INVOICE_REMARK,SN,STATUS,COUNTRY_ID')
         ->where("SN=:SN", [':SN' => $sn])
         ->asArray()
         ->one();
@@ -61,16 +62,12 @@ class OrderInvoiceRemarkForm extends Model
         if (!$orderInfo) {
             throw new Exception('订单不存在');
         }
-        // 已经修改过就可以再修改了
-        if ($orderInfo['INVOICE_REMARK_EDIE_CNT'] > 0) {
-            throw new Exception('订单已经修改过,不能再修改');
-        }
 
         $db = \Yii::$app->db;
         $transaction = $db->beginTransaction();
         try {
             Order::updateAll(
-                ['INVOICE_REMARK' => 1, 'INVOICE_REMARK_EDIE_CNT' => 1],
+                ['INVOICE_REMARK' => $this->invoiceRemark],
                 'SN=:SN',
                 ['SN' => $sn]
             );

+ 1 - 0
console/controllers/ToolController.php

@@ -214,6 +214,7 @@ class ToolController extends BaseController
             $formModel = new \common\models\forms\OrderInvoiceRemarkForm();
             // 设置测试用的订单号
             $formModel->orderSn = 'OS202402015553509710';
+            $formModel->invoiceRemark = "这是一个测试发票备注。<span style='color:red;'>这是一个测试发票备注。</span>";
 
             // 调用remarkOrderInvoice方法
             $result = $formModel->remarkOrderInvoice();