diff --git a/app/Config/Constants.php b/app/Config/Constants.php
index b05e584..dc38b57 100644
--- a/app/Config/Constants.php
+++ b/app/Config/Constants.php
@@ -175,8 +175,9 @@ define('URLS', [
'Order' => '/front/order',
'addCart' => '/front/order/addCart',
'cancelCart' => '/front/order/cancelCart',
- 'cardPayment' => '/front/order/payment/card',
- 'depositPayment' => '/front/order/payment/deposit',
+ 'Billing' => '/front/billing',
+ 'cardPayment' => '/front/billing/payment/card',
+ 'depositPayment' => '/front/billing/payment/deposit',
]);
//SESSION 관련
define('SESSION_NAMES', [
diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 9ea29f9..2ce5e5e 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -172,16 +172,16 @@ $routes->group('front', ['namespace' => 'App\Controllers\Front'], function ($rou
$routes->get('view/(:uuid)', 'OrderController::view/$1');
$routes->post('addCart', 'CartController::insert');
$routes->get('cancelCart/(:uuid)', 'CartController::delete/$1');
- $routes->group('payment', ['namespace' => 'App\Controllers\Front\Order\Payment', 'filter' => 'authFilter:user'], static function ($routes) {
- $routes->get('card/(:uuid)', 'CardController::update_form/$1');
- $routes->post('card/(:uuid)', 'CardController::update/$1');
- $routes->get('deposit/(:uuid)', 'DepositController::update_form/$1');
- $routes->post('deposit/(:uuid)', 'DepositController::update/$1');
- });
});
- $routes->group('billing', static function ($routes) {
+ $routes->group('billing', ['namespace' => 'App\Controllers\Front\Billing', 'filter' => 'authFilter:user'], static function ($routes) {
$routes->get('', 'BillingController::index', ['filter' => 'authFilter:user']);
$routes->get('download/(:any)/(:num)', 'BillingController::download/$1/$2');
+ $routes->group('payment', ['namespace' => 'App\Controllers\Front\Billing\Payment'], static function ($routes) {
+ $routes->get('card/(:num)', 'CardController::update_form/$1');
+ $routes->post('card/(:num)', 'CardController::update/$1');
+ $routes->get('deposit/(:num)', 'DepositController::update_form/$1');
+ $routes->post('deposit/(:num)', 'DepositController::update/$1');
+ });
});
});
/*
diff --git a/app/Controllers/Front/BillingController.php b/app/Controllers/Front/Billing/BillingController.php
similarity index 80%
rename from app/Controllers/Front/BillingController.php
rename to app/Controllers/Front/Billing/BillingController.php
index 18a450b..92eb0e0 100644
--- a/app/Controllers/Front/BillingController.php
+++ b/app/Controllers/Front/Billing/BillingController.php
@@ -1,14 +1,17 @@
isRole('index');
}
+ final protected function getUserModel(): UserModel
+ {
+ return $this->_userModel = $this->_userModel ?: new UserModel();
+ }
+
final public function getFields(string $action = ""): array
{
switch ($action) {
case 'update':
- return ['order_uid', "email", "phone", "title", "upload_file", "status"];
+ return ['order_uid', "title", "upload_file", "status"];
break;
case "index":
case "excel":
- return ["order_uid", "email", "phone", "title", "upload_file", "status", "updated_at", "created_at"];
+ return ["order_uid", "title", "upload_file", "status", "updated_at", "created_at"];
break;
case "view":
- return ['order_uid', "email", "phone", "title", "upload_file", "status", "updated_at", "created_at", 'response'];
+ return ['order_uid', "title", "upload_file", "status", "updated_at", "created_at", 'response'];
break;
default:
return [];
diff --git a/app/Controllers/Front/Order/Payment/CardController.php b/app/Controllers/Front/Billing/Payment/CardController.php
similarity index 100%
rename from app/Controllers/Front/Order/Payment/CardController.php
rename to app/Controllers/Front/Billing/Payment/CardController.php
diff --git a/app/Controllers/Front/Order/Payment/DepositController.php b/app/Controllers/Front/Billing/Payment/DepositController.php
similarity index 100%
rename from app/Controllers/Front/Order/Payment/DepositController.php
rename to app/Controllers/Front/Billing/Payment/DepositController.php
diff --git a/app/Controllers/Front/Order/Payment/PaymentController.php b/app/Controllers/Front/Billing/Payment/PaymentController.php
similarity index 85%
rename from app/Controllers/Front/Order/Payment/PaymentController.php
rename to app/Controllers/Front/Billing/Payment/PaymentController.php
index 20c92a0..0ef2a4b 100644
--- a/app/Controllers/Front/Order/Payment/PaymentController.php
+++ b/app/Controllers/Front/Billing/Payment/PaymentController.php
@@ -1,28 +1,21 @@
_billingModel = $this->_billingModel ?: new BillingModel();
- }
-
//Update관련 (결제처리용)
protected function update_form_process($entity)
{
@@ -34,7 +27,6 @@ class PaymentController extends OrderController
{
try {
$entity = $this->_model->getEntity([$this->_model->getPrimaryKey() => $uid]);
- $this->_product = $this->getProductModel()->getEntity([$this->_model->getPrimaryKey() => $entity->product_uid]);
$this->_viewDatas = $this->init(__FUNCTION__);
$this->_viewDatas['entity'] = $this->update_form_process($entity);
helper(['form']);
@@ -50,7 +42,6 @@ class PaymentController extends OrderController
$msg = "";
try {
$entity = $this->_model->getEntity([$this->_model->getPrimaryKey() => $uid]);
- $this->_product = $this->getProductModel()->getEntity([$this->_model->getPrimaryKey() => $entity->product_uid]);
$this->_viewDatas = $this->init(__FUNCTION__);
$this->update_validate($entity);
//Transaction 시작
@@ -92,7 +83,7 @@ class PaymentController extends OrderController
'response' => $response,
'status' => DEFAULTS['STATUS']
];
- return $this->getBillingModel()->create($fieldDatas);
+ return $this->_model->create($fieldDatas);
}
final protected function sendBilling($email, string $subject, string $html): bool
{
diff --git a/app/Controllers/Front/Order/OrderController.php b/app/Controllers/Front/Order/OrderController.php
index ed7e565..5a8b356 100644
--- a/app/Controllers/Front/Order/OrderController.php
+++ b/app/Controllers/Front/Order/OrderController.php
@@ -5,16 +5,13 @@ namespace App\Controllers\Front\Order;
use App\Controllers\Front\FrontController;
use App\Models\OrderModel;
use App\Models\ProductModel;
-use App\Models\UserModel;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
class OrderController extends FrontController
{
- private $_userModel = null;
private $_productModel = null;
- protected $_product = null;
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
@@ -30,10 +27,6 @@ class OrderController extends FrontController
$this->isRole('index');
}
- final protected function getUserModel(): UserModel
- {
- return $this->_userModel = $this->_userModel ?: new UserModel();
- }
final protected function getProductModel(): ProductModel
{
return $this->_productModel = $this->_productModel ?: new ProductModel();
diff --git a/app/Database/shoppingmall.sql b/app/Database/shoppingmall.sql
index 7321d4c..d7ce875 100644
--- a/app/Database/shoppingmall.sql
+++ b/app/Database/shoppingmall.sql
@@ -169,6 +169,5 @@ CREATE TABLE shoppingmall.tw_billing (
created_at timestamp NOT NULL DEFAULT current_timestamp(),
deleted_at timestamp NULL DEFAULT NULL,
PRIMARY KEY (uid),
- CONSTRAINT FOREIGN KEY (order_uid) REFERENCES tw_order (uid),
CONSTRAINT FOREIGN KEY (user_uid) REFERENCES tw_user (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT ='청구서 정보';
\ No newline at end of file
diff --git a/app/Helpers/Billing_helper.php b/app/Helpers/Billing_helper.php
index 5b08577..bbe381f 100644
--- a/app/Helpers/Billing_helper.php
+++ b/app/Helpers/Billing_helper.php
@@ -157,6 +157,24 @@ function getFieldIndex_Row_BillingHelper($field, $entity, array $viewDatas): str
$field
);
break;
+ case 'status':
+ //미납인경우
+ if ($value == DEFAULTS['STATUS']) {
+ $card = anchor(
+ URLS['cardPayment'] . '/' . $entity->getPrimaryKey(),
+ ICONS['CARD'] . lang("{$viewDatas['className']}.PAYMENT.CARD"),
+ ["class" => "btn btn-sm btn-primary btn-circle", "style" => "color:white", "target" => "_self"]
+ );
+ $deposit = anchor(
+ URLS['depositPayment'] . '/' . $entity->getPrimaryKey(),
+ ICONS['DEPOSIT'] . lang("{$viewDatas['className']}.PAYMENT.DEPOSIT"),
+ ["class" => "btn btn-sm btn-info btn-circle", "style" => "color:white", "target" => "_self"]
+ );
+ return sprintf("%s
%s", $card, $deposit);
+ } else {
+ return getFieldView_OrderHelper($field, $entity, $viewDatas);
+ }
+ break;
default:
return getFieldView_BillingHelper($field, $entity, $viewDatas);
break;
diff --git a/app/Helpers/Order_helper.php b/app/Helpers/Order_helper.php
index f47fb5e..f71bb31 100644
--- a/app/Helpers/Order_helper.php
+++ b/app/Helpers/Order_helper.php
@@ -142,22 +142,16 @@ function getFieldIndex_Row_OrderHelper($field, $entity, array $viewDatas): strin
return sprintf("%s
%s", $uid, $title);
break;
case 'status':
+ //장바구니인경우
if ($value == DEFAULTS['STATUS']) {
- $card = anchor(
- URLS['cardPayment'] . '/' . $entity->getPrimaryKey(),
- ICONS['CARD'] . lang("{$viewDatas['className']}.PAYMENT.CARD"),
+ return anchor(
+ URLS['Billing'] . '/' . $entity->getPrimaryKey(),
+ CLASS_ICONS['BILLING'] . '결제하기',
["class" => "btn btn-sm btn-primary btn-circle", "style" => "color:white", "target" => "_self"]
);
- $deposit = anchor(
- URLS['depositPayment'] . '/' . $entity->getPrimaryKey(),
- ICONS['DEPOSIT'] . lang("{$viewDatas['className']}.PAYMENT.DEPOSIT"),
- ["class" => "btn btn-sm btn-info btn-circle", "style" => "color:white", "target" => "_self"]
- );
- return sprintf("%s
%s", $card, $deposit);
} else {
return getFieldView_OrderHelper($field, $entity, $viewDatas);
}
- break;
default:
return getFieldView_OrderHelper($field, $entity, $viewDatas);
break;