diff --git a/app/Config/Constants.php b/app/Config/Constants.php
index b66405c..8a30781 100644
--- a/app/Config/Constants.php
+++ b/app/Config/Constants.php
@@ -257,7 +257,6 @@ define('AUDIOS', [
//Default값 정의
define('DEFAULTS', [
'ORDER_CATEGORY' => getenv('default.order_category') ?: 11,
- 'PAYMENT_CATEGORY' => getenv('default.payment_category') ?: 12,
'USER_CATEGORY' => getenv('default.user_category') ?: 22,
'ROLE' => getenv('default.role') ?: "guest",
'STATUS' => getenv('default.status') ?: "use",
diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 39a2628..0d51d5f 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -42,9 +42,9 @@ $routes->group('ecommerce', ['namespace' => 'App\Controllers\Ecommerce'], functi
$routes->get('cancelCart', 'CartController::delete');
$routes->group('payment', ['namespace' => 'App\Controllers\Ecommerce\Payment', 'filter' => 'authFilter:user'], 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->post('card/(:uuid)', 'CardController::update/$1');
+ $routes->get('deposit/(:uuid)', 'DepositController::update_form/$1');
+ $routes->post('deposit/(:uuid)', 'DepositController::update/$1');
});
});
// authGuard는 App\Config\Filters.php의 $aliases에 선언한 이름이어야 함
diff --git a/app/Controllers/Admin/OrderController.php b/app/Controllers/Admin/OrderController.php
index 1a8ff39..bdcac91 100644
--- a/app/Controllers/Admin/OrderController.php
+++ b/app/Controllers/Admin/OrderController.php
@@ -28,7 +28,7 @@ class OrderController extends AdminController
return ["user_uid", "name", "cost", "sale", "quantity", "price", "status", "updated_at", "created_at"];
break;
case "view":
- return ["user_uid", 'product_uid', "name", "cost", "sale", "quantity", "price", "status", "updated_at", "created_at"];
+ return ["user_uid", 'product_uid', "name", "cost", "sale", "quantity", "price", "status", "updated_at", "created_at", 'response'];
break;
default:
return [];
diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php
index 94e0611..c8174cc 100644
--- a/app/Controllers/BaseController.php
+++ b/app/Controllers/BaseController.php
@@ -313,7 +313,14 @@ abstract class BaseController extends Controller
}
protected function reply_validate($entity)
{
- $this->update_validate($entity);
+ if (!$this->validate($this->_viewDatas['fieldRules'])) {
+ throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors()));
+ }
+ //fieldData 적용
+ $this->_viewDatas['fieldDatas'] = array();
+ foreach ($this->_viewDatas['fields'] as $field) {
+ $this->_viewDatas['fieldDatas'] = $this->getFieldFormData($field, $entity);
+ }
}
protected function reply_process($entity)
{
@@ -342,11 +349,18 @@ abstract class BaseController extends Controller
//Toggle 관련
protected function toggle_validate($entity)
{
- $this->update_validate($entity);
+ if (!$this->validate($this->_viewDatas['fieldRules'])) {
+ throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors()));
+ }
+ //fieldData 적용
+ $this->_viewDatas['fieldDatas'] = array();
+ foreach ($this->_viewDatas['fields'] as $field) {
+ $this->_viewDatas['fieldDatas'] = $this->getFieldFormData($field, $entity);
+ }
}
protected function toggle_process($entity)
{
- return $this->update_process($entity);
+ return $this->_model->modify($entity, $this->_viewDatas['fieldDatas']);
}
public function toggle($uid, string $field)
{
@@ -369,11 +383,18 @@ abstract class BaseController extends Controller
//Batchjob 관련
protected function batchjob_validate($entity)
{
- $this->update_validate($entity);
+ if (!$this->validate($this->_viewDatas['fieldRules'])) {
+ throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors()));
+ }
+ //fieldData 적용
+ $this->_viewDatas['fieldDatas'] = array();
+ foreach ($this->_viewDatas['fields'] as $field) {
+ $this->_viewDatas['fieldDatas'] = $this->getFieldFormData($field, $entity);
+ }
}
protected function batchjob_process($entity)
{
- return $this->update_process($entity);
+ return $this->_model->modify($entity, $this->_viewDatas['fieldDatas']);
}
public function batchjob()
{
diff --git a/app/Controllers/Ecommerce/Payment/CardController.php b/app/Controllers/Ecommerce/Payment/CardController.php
index b3aed3f..d072e71 100644
--- a/app/Controllers/Ecommerce/Payment/CardController.php
+++ b/app/Controllers/Ecommerce/Payment/CardController.php
@@ -21,7 +21,7 @@ class CardController extends PaymentController
public function getFields(string $action = ""): array
{
switch ($action) {
- case 'insert':
+ case 'update':
return ["card_quota", "card_number", "card_expiration", "email", "mobile"];
break;
default:
@@ -82,21 +82,27 @@ class CardController extends PaymentController
}
//카드결제처리
- protected function update_process($entity)
+ private function pg_process(array $responses): array
{
//PG사 결제후 정보저장
$adapter = new PaymentAdapter();
$adapter->setDatas($this->_viewDatas['fieldDatas']);
- $response = $adapter->execute();
+ $result = $adapter->execute();
+ foreach ($result as $key => $value) {
+ $responses['response'] .= "{$key}:{$value}\n";
+ }
+ return $responses;
+ }
+ protected function update_process($entity)
+ {
//결과저장용
- $responses = array("status" => $this->_viewDatas['className']);
- foreach ($response as $key => $value) {
- array_push($responses, "{$key}:{$value}");
- }
+ $responses = array("status" => $this->_viewDatas['className'], "response" => "");
foreach ($this->_viewDatas['fieldDatas'] as $key => $value) {
- array_push($responses, "{$key}:{$value}");
+ $responses['response'] .= "{$key}:{$value}\n";
}
- $this->_viewDatas['fieldDatas'] = $responses;
+ $this->_viewDatas['fieldDatas'] = $this->pg_process($responses);
+ // echo var_export($this->_viewDatas['fieldDatas']);
+ // exit;
return parent::update_process($entity);
}
}
diff --git a/app/Controllers/Ecommerce/Payment/DepositController.php b/app/Controllers/Ecommerce/Payment/DepositController.php
index 8b4ee3c..e20ad64 100644
--- a/app/Controllers/Ecommerce/Payment/DepositController.php
+++ b/app/Controllers/Ecommerce/Payment/DepositController.php
@@ -20,7 +20,7 @@ class DepositController extends PaymentController
public function getFields(string $action = ""): array
{
switch ($action) {
- case 'insert':
+ case 'update':
return ["email", "mobile"];
break;
default:
@@ -59,23 +59,26 @@ class DepositController extends PaymentController
//무통장입금결제Form
protected function update_form_process($entity)
{
- parent::update_form_process($entity);
+ $entity = parent::update_form_process($entity);
$this->_viewDatas['bank'] = [
"name" => getenv("payment.deposit.bank.name") ?: "은행명",
"account" => getenv("payment.deposit.bank.account") ?: "계좌번호",
"holder" => getenv("payment.deposit.bank.holder") ?: "예금주"
];
+ return $entity;
}
//무통장입금결제처리
protected function update_process($entity)
{
//결과저장용
- $responses = array("status" => $this->_viewDatas['className']);
+ $responses = array("status" => $this->_viewDatas['className'], "response" => "");
foreach ($this->_viewDatas['fieldDatas'] as $key => $value) {
- array_push($responses, "{$key}:{$value}");
+ $responses['response'] .= "{$key}:{$value}\n";
}
$this->_viewDatas['fieldDatas'] = $responses;
+ // echo var_export($this->_viewDatas['fieldDatas']);
+ // exit;
return parent::update_process($entity);
}
}
diff --git a/app/Controllers/Ecommerce/Payment/PaymentController.php b/app/Controllers/Ecommerce/Payment/PaymentController.php
index 1fcbdc6..f20335e 100644
--- a/app/Controllers/Ecommerce/Payment/PaymentController.php
+++ b/app/Controllers/Ecommerce/Payment/PaymentController.php
@@ -20,7 +20,7 @@ abstract class PaymentController extends EcommerceController
$this->_viewPath .= 'payment/';
//Default 회원정보 Category
- $this->_category = DEFAULTS['PAYMENT_CATEGORY'];
+ $this->_category = DEFAULTS['ORDER_CATEGORY'];
$this->_category ?: throw new \Exception("분류를 지정하지 않으셨습니다.");
$this->_viewDatas['category'] = $this->getCategoryModel()->getEntity([$this->getCategoryModel()->getPrimaryKey() => $this->_category]);
$this->_viewDatas['parent_category'] = $this->getCategoryModel()->getEntity([$this->getCategoryModel()->getPrimaryKey() => $this->_viewDatas['category']->getHierarchy_ParentUID()]);
@@ -32,7 +32,13 @@ abstract class PaymentController extends EcommerceController
}
//Update관련
- public function update_form($uid)
+ protected function update_form_process($entity)
+ {
+ $entity = parent::update_form_process($entity);
+ $this->_viewDatas['user'] = $this->getUserModel()->getEntity([$this->getUserModel()->getPrimaryKey() => $this->_viewDatas['auth'][AUTH_FIELDS['ID']]]);
+ return $entity;
+ }
+ final public function update_form($uid)
{
try {
$this->_viewDatas = $this->init(__FUNCTION__);
diff --git a/app/Helpers/Order_helper.php b/app/Helpers/Order_helper.php
index a4bda84..1136e39 100644
--- a/app/Helpers/Order_helper.php
+++ b/app/Helpers/Order_helper.php
@@ -77,6 +77,9 @@ function getFieldView_OrderHelper($field, $entity, array $viewDatas)
case 'view_cnt':
return number_format(!$value ? 0 : $value);
break;
+ case 'response':
+ return nl2br($value);
+ break;
case 'content':
return html_entity_decode($value);
break;
@@ -134,12 +137,12 @@ function getFieldIndex_Row_OrderHelper($field, $entity, array $viewDatas): strin
return sprintf(
"
%s
%s
",
anchor(
- URLS['paymentCard'] . '?order_uid=' . $entity->getPrimaryKey(),
+ URLS['paymentCard'] . '/' . $entity->getPrimaryKey(),
"카 드 결 제",
["class" => "btn btn-sm btn-primary btn-circle", "style" => "color:white", "target" => "_self"]
),
anchor(
- URLS['paymentDeposit'] . '?order_uid=' . $entity->getPrimaryKey(),
+ URLS['paymentDeposit'] . '/' . $entity->getPrimaryKey(),
"무통장입금",
["class" => "btn btn-sm btn-info btn-circle", "style" => "color:white", "target" => "_self"]
)
@@ -156,7 +159,19 @@ function getFieldIndex_Row_OrderHelper($field, $entity, array $viewDatas): strin
//Admin용
function getFieldIndex_Row_OrderHelper_Admin($field, $entity, array $viewDatas): string
{
+ $value = $entity->$field ?: DEFAULTS['EMPTY'];
switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf(
+ "%s ",
+ anchor(
+ current_url() . '/view/' . $entity->getPrimaryKey(),
+ $value,
+ ["target" => "_self"]
+ )
+ );
+ break;
default:
if (in_array($field, $viewDatas['fieldFilters'])) {
$attributes["onChange"] = sprintf(
diff --git a/app/Language/ko/Order.php b/app/Language/ko/Order.php
index 60fe04b..9715feb 100644
--- a/app/Language/ko/Order.php
+++ b/app/Language/ko/Order.php
@@ -11,6 +11,7 @@ return [
'sale' => "할인",
'quantity' => "수량",
'price' => "결제금액",
+ 'response' => "결제처리결과",
'status' => "상태",
'updated_at' => "수정일",
'created_at' => "작성일"
diff --git a/app/Models/OrderModel.php b/app/Models/OrderModel.php
index 4156cae..1a5c9bc 100644
--- a/app/Models/OrderModel.php
+++ b/app/Models/OrderModel.php
@@ -14,7 +14,7 @@ class OrderModel extends BaseModel
public function __construct()
{
parent::__construct('Order');
- $this->allowedFields = [...$this->allowedFields, 'product_uid', "user_uid", "name", "cost", "sale", "quantity", "price", "status"];
+ $this->allowedFields = [...$this->allowedFields, 'product_uid', "user_uid", "name", "cost", "sale", "quantity", "price", "response", "status"];
$this->validationRules = [...$this->validationRules, ...$this->getFieldRules($this->allowedFields),];
}
final public function getTitleField(): string
diff --git a/app/Views/ecommerce/payment/card/update.php b/app/Views/ecommerce/payment/card/update.php
index fcbc51d..762c20e 100644
--- a/app/Views/ecommerce/payment/card/update.php
+++ b/app/Views/ecommerce/payment/card/update.php
@@ -1,23 +1,23 @@
= $this->extend('layouts/front') ?>
= $this->section('content') ?>
->
+
= html_entity_decode($viewDatas['category']->head) ?>
= form_open_multipart(current_url(), $viewDatas['forms']['attributes'], $viewDatas['forms']['hiddens']) ?>
= html_entity_decode($viewDatas['category']->tail) ?>
= $this->endSection() ?>
\ No newline at end of file
diff --git a/app/Views/front/order/index.php b/app/Views/front/order/index.php
index abbf543..713fcd9 100644
--- a/app/Views/front/order/index.php
+++ b/app/Views/front/order/index.php
@@ -11,7 +11,7 @@
번호
= getFieldIndex_Column_OrderHelper($field, $viewDatas) ?>
- 취소
+ 작업
@@ -24,7 +24,11 @@
= getFieldIndex_Row_OrderHelper($field, $entity, $viewDatas) ?>
- = anchor(current_url() . '/delete/' . $entity->getPrimaryKey(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?>
+
+ status == DEFAULTS['STATUS']) : ?>
+ = anchor(current_url() . '/delete/' . $entity->getPrimaryKey(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?>
+
+
diff --git a/app/Views/layouts/admin/left_menu/shoppingmall.php b/app/Views/layouts/admin/left_menu/shoppingmall.php
index b5a7ae2..210ebf9 100644
--- a/app/Views/layouts/admin/left_menu/shoppingmall.php
+++ b/app/Views/layouts/admin/left_menu/shoppingmall.php
@@ -9,8 +9,5 @@
-
\ No newline at end of file