shoppingmallv2 init...
This commit is contained in:
parent
71deae7b31
commit
6934f5ff83
@ -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",
|
||||
|
||||
@ -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에 선언한 이름이어야 함
|
||||
|
||||
@ -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 [];
|
||||
|
||||
@ -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()
|
||||
{
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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__);
|
||||
|
||||
@ -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(
|
||||
"<td nowrap><div class=\"payment\">%s</div><div class=\"payment\">%s</div></td>",
|
||||
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(
|
||||
"<td>%s</td>",
|
||||
anchor(
|
||||
current_url() . '/view/' . $entity->getPrimaryKey(),
|
||||
$value,
|
||||
["target" => "_self"]
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
if (in_array($field, $viewDatas['fieldFilters'])) {
|
||||
$attributes["onChange"] = sprintf(
|
||||
|
||||
@ -11,6 +11,7 @@ return [
|
||||
'sale' => "할인",
|
||||
'quantity' => "수량",
|
||||
'price' => "결제금액",
|
||||
'response' => "결제처리결과",
|
||||
'status' => "상태",
|
||||
'updated_at' => "수정일",
|
||||
'created_at' => "작성일"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,23 +1,23 @@
|
||||
<?= $this->extend('layouts/front') ?>
|
||||
<?= $this->section('content') ?>
|
||||
<link href="/css/front/content.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<div id="content">>
|
||||
<div id="content">
|
||||
<div><?= html_entity_decode($viewDatas['category']->head) ?></div>
|
||||
<?= form_open_multipart(current_url(), $viewDatas['forms']['attributes'], $viewDatas['forms']['hiddens']) ?>
|
||||
<table class="form table table-bordered table-hover table-striped">
|
||||
<tr>
|
||||
<td class="label">상품명</td>
|
||||
<td class="column"><?= $viewDatas['order']->getTitle() ?></td>
|
||||
<td class="column"><?= $viewDatas['entity']->getTitle() ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">결제금액</td>
|
||||
<td class="column"><?= number_format($viewDatas['order']->price) ?>원</td>
|
||||
<td class="column"><?= number_format($viewDatas['entity']->price) ?>원</td>
|
||||
</tr>
|
||||
<?php foreach ($viewDatas['fields'] as $field) : ?>
|
||||
<tr>
|
||||
<td class="label"><?= getFieldLabel_BoardHelper($field, $viewDatas) ?></td>
|
||||
<td class="label"><?= getFieldLabel_CardHelper($field, $viewDatas) ?></td>
|
||||
<td class="column">
|
||||
<?= getFieldForm_BoardHelper($field, old($field, $viewDatas['entity']->$field ?: DEFAULTS['EMPTY']), $viewDatas) ?>
|
||||
<?= getFieldForm_CardHelper($field, old($field, $viewDatas['entity']->$field ?: DEFAULTS['EMPTY']), $viewDatas) ?>
|
||||
<?= validation_show_error($field); ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -7,11 +7,11 @@
|
||||
<table class="form table table-bordered table-hover table-striped">
|
||||
<tr>
|
||||
<td class="label">상품명</td>
|
||||
<td class="column"><?= $viewDatas['order']->getTitle() ?></td>
|
||||
<td class="column"><?= $viewDatas['entity']->getTitle() ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">결제금액</td>
|
||||
<td class="column"><?= number_format($viewDatas['order']->price) ?>원</td>
|
||||
<td class="column"><?= number_format($viewDatas['entity']->price) ?>원</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">은행명</td>
|
||||
@ -29,25 +29,16 @@
|
||||
<tr>
|
||||
<td class="label"><?= getFieldLabel_DepositHelper($field, $viewDatas) ?></td>
|
||||
<td class="column">
|
||||
<?= getFieldForm_DepositHelper($field, old($field, DEFAULTS['EMPTY']), $viewDatas) ?>
|
||||
<?= getFieldForm_DepositHelper($field, old($field, $viewDatas['entity']->$field ?: DEFAULTS['EMPTY']), $viewDatas) ?>
|
||||
<?= validation_show_error($field); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
설명문......
|
||||
설명문......
|
||||
설명문......
|
||||
설명문......
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="bottom" colspan="2"><?= form_submit('', '무통장입금', array("class" => "btn btn-outline btn-primary")); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?= form_close(); ?>
|
||||
</table>
|
||||
<div><?= html_entity_decode($viewDatas['category']->tail) ?></div>
|
||||
</div>
|
||||
<?= $this->endSection() ?>
|
||||
@ -11,7 +11,7 @@
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<?php foreach ($viewDatas['fields'] as $field) : ?><?= getFieldIndex_Column_OrderHelper($field, $viewDatas) ?><?php endforeach ?>
|
||||
<th>취소</th>
|
||||
<th>작업</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -24,7 +24,11 @@
|
||||
<?php foreach ($viewDatas['fields'] as $field) : ?>
|
||||
<?= getFieldIndex_Row_OrderHelper($field, $entity, $viewDatas) ?>
|
||||
<?php endforeach ?>
|
||||
<td><?= anchor(current_url() . '/delete/' . $entity->getPrimaryKey(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?></td>
|
||||
<td>
|
||||
<?php if ($entity->status == DEFAULTS['STATUS']) : ?>
|
||||
<?= anchor(current_url() . '/delete/' . $entity->getPrimaryKey(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $cnt++ ?>
|
||||
<?php endforeach ?>
|
||||
|
||||
@ -9,8 +9,5 @@
|
||||
<div class="accordion-item">
|
||||
<h2><a href="/admin/order"><?= CLASS_ICONS['ORDER'] ?></i>주문 관리</a></h2>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<h2><a href="/admin/payment"><?= CLASS_ICONS['PAYMENT'] ?></i>결제 관리</a></h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user