public function actionAdd() { $shipping_id = (int) \yii::$app->request->get('shipping', 0); $sql = "SELECT shipping_name,shipping_code FROM " . Shipping::tableName() . " WHERE id={$shipping_id}"; $shipping = \yii::$app->getDb()->createCommand($sql)->queryOne(); $set_modules = 1; include_once \yii::getAlias('@ext') . '/shipping/' . $shipping['shipping_code'] . '.php'; $fields = []; foreach ($modules[0]['configure'] as $key => $val) { $fields[$key]['name'] = $val['name']; $fields[$key]['value'] = $val['value']; $fields[$key]['label'] = \yii::t('shipping', $val['name']); } $count = count($fields); $fields[$count]['name'] = "freee_money"; $fields[$count]['value'] = "0"; $fields[$count]['label'] = \yii::t('shipping', 'free_money'); //如果支持货到付款,则允许设置货到付款支付费用 if ($modules[0]['cod']) { $count++; $fields[$count]['name'] = "pay_fee"; $fields[$count]['value'] = "0"; $fields[$count]['label'] = \yii::t('shipping', 'pay_fee'); } $shipping_area['shipping_id'] = 0; $shipping_area['free_money'] = 0; return $this->render('shipping_area_info', ['shipping_area' => ['shipping_id' => $shipping_id, 'shipping_code' => $shipping['shipping_code']], 'fields' => $fields, 'form_action' => 'insert']); }
public function uninstall($code) { $row = (new \yii\db\Query())->select(['id', 'shipping_name', 'print_bg'])->from(self::tableName())->where(['shipping_code' => $code])->limit(1)->one(); if (!$row) { return true; } $shipping_id = $row['id']; $shipping_name = $row['shipping_name']; //获取配送地区id $rows = (new \yii\db\Query())->select(['id'])->from(ShippingArea::tableName())->where(['shipping_id' => $shipping_id])->all(); $all = UtilD::getCol($rows); $in = UtilD::db_create_in(join(',', $all)); $conn = \Yii::$app->getDb(); $transaction = $conn->beginTransaction(); try { $sql1 = "DELETE FROM " . AreaRegion::tableName() . " WHERE shipping_area_id " . $in; $sql2 = "DELETE FROM " . ShippingArea::tableName() . " WHERE id=" . $shipping_id; $sql3 = "DELETE FROM " . Shipping::tableName() . " WHERE id=" . $shipping_id; $conn->createCommand($sql1)->execute(); $conn->createCommand($sql2)->execute(); $conn->createCommand($sql3)->execute(); $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); return false; } //删除上传的非默认快递单 if ($row['print_bg'] != '' && !UtilD::is_print_bg_default($row['print_bg'])) { @unlink(\Yii::getAlias('@web') . DIRECTORY_SEPARATOR . $row['print_bg']); } AdminLog::admin_log(addslashes($shipping_name), 'uninstall', 'shipping'); return true; }
public function actionRecoveryDefaultTemplate() { $shipping_id = \yii::$app->request->post('shipping', 0); $sql = "SELECT shipping_code FROM " . Shipping::tableName() . " WHERE id={$shipping_id}"; $code = \yii::$app->getDb()->createCommand($sql)->queryScalar(); $set_modules = true; include_once \yii::getAlias('@ext') . '/shipping/' . $code . '.php'; $sql = "UPDATE " . Shipping::tableName() . " SET print_bg='" . addslashes($modules[0]['print_bg']) . "',config_lable='" . addslashes($modules[0]['config_lable']) . "' WHERE shipping_code='{$code}' LIMIT 1"; \yii::$app->getDb()->createCommand($sql)->execute(); $this->redirect(['/shipping/edit-print-template', 'shipping' => $shipping_id]); }