| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace common\models\forms;
- use common\components\Model;
- use common\models\Order;
- use yii\base\Exception;
- class OrderInvoiceRemarkForm extends Model
- {
- public $orderSn;
- public $invoiceRemark;
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['orderSn'], 'trim'],
- [['orderSn'], 'required'],
- ['invoiceRemark', 'string', 'max' => 50000],
- ];
- }
- public function attributeLabels()
- {
- return [
- 'orderSn' => '订单号',
- 'invoiceRemark' => '发票备注',
- ];
- }
- /**
- * 指定校验场景
- * @return array
- */
- public function scenarios()
- {
- $parentScenarios = parent::scenarios();
- $customScenarios = [];
- return array_merge($parentScenarios, $customScenarios);
- }
- /**
- * @throws Exception
- */
- public function remarkOrderInvoice()
- {
- if (!$this->validate()) {
- return null;
- }
- $sn = $this->orderSn;
- // 订单详情
- $orderInfo = Order::findOneAsArray(['SN' => $sn]);
- if (!$orderInfo) {
- throw new Exception('订单不存在');
- }
- $db = \Yii::$app->db;
- $transaction = $db->beginTransaction();
- try {
- Order::updateAll(
- ['INVOICE_REMARK' => $this->invoiceRemark],
- 'SN=:SN',
- ['SN' => $sn]
- );
- $transaction->commit();
- } catch(Exception $e) {
- $transaction->rollBack();
- $this->addError('add', $e->getMessage());
- return null;
- }
- return true;
- }
- }
|