dbms_init...1

This commit is contained in:
choi.jh 2025-07-08 13:26:25 +09:00
parent 4f5bc4ca0d
commit eedf08d057
18 changed files with 48 additions and 57 deletions

View File

@ -44,6 +44,10 @@ abstract class DBMigration extends BaseController
$temps['coupon_balance'] = 0;
$temps['point_balance'] = 0;
$temps['status'] = 'default';
$temps['updated_at'] = empty($row['Client_Renew_date']) ? NULL : $row['Client_Renew_date'];;
if (!empty($row['Client_Receive_date'])) {
$temps['created_at'] = $row['Client_Receive_date'];;
}
return $temps;
}
private function setClient(mixed $rows): void

File diff suppressed because one or more lines are too long

View File

@ -1298,7 +1298,7 @@
"comment": "",
"dataType": "VARCHAR(100)",
"default": "",
"options": 8,
"options": 12,
"ui": {
"keys": 0,
"widthName": 60,
@ -1307,7 +1307,7 @@
"widthDefault": 60
},
"meta": {
"updateAt": 1745819764137,
"updateAt": 1751945770191,
"createAt": 1745819764137
}
},
@ -7707,7 +7707,7 @@
"widthDefault": 60
},
"meta": {
"updateAt": 1751881957770,
"updateAt": 1751945842697,
"createAt": 1751880475984
}
}

View File

@ -13,9 +13,6 @@ class AuthHelper extends CommonHelper
}
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
switch ($field) {
case 'id':
case 'passwd':

View File

@ -212,10 +212,6 @@ class CommonHelper
// header.php에서 getFieldForm_Helper사용
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
// create, modify, create_form, modify_form일때 required가 있으면 class 추가
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
switch ($field) {
case 'email':
$form = form_input($field, $value ?? "", ["placeholder" => "예)test@example.com", ...$extras]);
@ -238,6 +234,7 @@ class CommonHelper
}
$form = implode(" ", $forms);
} else {
$extra_class = isset($extras['class']) ? $extras['class'] . ' select-field' : 'select-field';
$formOptions = ["" => lang($viewDatas['class_path'] . '.label.' . $field) . ' 선택'];
foreach ($viewDatas['control']['filter_optons'][$field] as $key => $filterEntity) {
$formOptions[$key] = $filterEntity->getTitle();
@ -251,12 +248,12 @@ class CommonHelper
case 'updated_at':
case 'created_at':
$extra_class = isset($extras['class']) ? $extras['class'] . ' calender' : 'calender';
$form = form_input($field, $value ?? "", ['class' => $extra_class, ...array_diff_key($extras, ['class' => ''])]);
$form = form_input($field, $value ?? "", ['class' => $extra_class, ...$extras]);
break;
case 'description':
case 'content':
$extra_class = isset($extras['class']) ? $extras['class'] . ' tinymce' : 'tinymce';
$form = form_textarea($field, $value ?? "", ['id' => $field, 'class' => $extra_class, ...array_diff_key($extras, ['class' => ''])]);
$form = form_textarea($field, $value ?? "", ['id' => $field, 'class' => $extra_class, ...$extras]);
break;
default:
if (in_array($field, $viewDatas['control']['filter_fields'])) {
@ -273,7 +270,7 @@ class CommonHelper
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$value = $value ?? DEFAULTS['STATUS'];
}
$form = form_dropdown($field, $formOptions, $value, ['class' => $extra_class, ...array_diff_key($extras, ['class' => ''])]);
$form = form_dropdown($field, $formOptions, $value, ['class' => $extra_class, ...$extras]);
} else {
$form = form_input($field, $value ?? "", $extras);
}

View File

@ -46,11 +46,6 @@ class ServiceHelper extends CustomerHelper
}
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
// $test_value = $value === null ? "NULL" : $value;
// echo "Field:{$field},VALUE:{$test_value}";
switch ($field) {
case 'switchinfo_uid':
if (!is_array($viewDatas['control']['filter_optons'][$field])) {

View File

@ -18,9 +18,6 @@ class ServiceItemHelper extends CustomerHelper
private function getFieldFormByItemType(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
$form = "";
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
$item_type = $viewDatas['item_type'];
//Field는 item_uid이지만 , item_tpe에 따라 filter_options가 달라진다.
switch ($item_type) {
@ -96,9 +93,6 @@ class ServiceItemHelper extends CustomerHelper
}
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
switch ($field) {
case 'item_uid':
$form = $this->getFieldFormByItemType($field, $value, $viewDatas, $extras);

View File

@ -14,9 +14,6 @@ class DomainHelper extends PartHelper
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
switch ($field) {
case 'domain':
$form = form_input($field, $value ?? "", ['id' => $field, "placeholder" => "예)domain.co.kr", ...$extras]);

View File

@ -13,9 +13,6 @@ class UserHelper extends CommonHelper
}
public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string
{
if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) {
$extras = (strpos($viewDatas['control']['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras];
}
switch ($field) {
case 'passwd':
case 'confirmpassword':

View File

@ -11,8 +11,8 @@ return [
'coupon_balance' => "쿠폰",
'point_balance' => "포인트",
'status' => "상태",
'updated_at' => "수정",
'created_at' => "작성",
'updated_at' => "갱신",
'created_at' => "등록",
'deleted_at' => "삭제일",
],
'DEFAULTS' => [

View File

@ -140,6 +140,11 @@ abstract class CommonModel extends Model
protected function create_process(array $formDatas): mixed
{
$pkField = $this->getPKField();
// primaryKey가 자동입력이 아니면
if (!$this->useAutoIncrement) {
$formDatas[$pkField] = $this->generateUUID();
}
// 최종 저장 시 오류 발생하면
if (!$this->save($formDatas)) {
$message = sprintf(
@ -150,10 +155,16 @@ abstract class CommonModel extends Model
LogCollector::debug($message);
throw new \Exception($message);
}
//Model별 returntype형의 Entity 호출
if (!class_exists($this->returnType)) {
throw new \RuntimeException(__METHOD__ . "에서 returnType: {$this->returnType}이 정의되지 않았습니다.");
}
return new $this->returnType($formDatas);
$entity = new $this->returnType($formDatas);
// primaryKey가 자동입력이면
if ($this->useAutoIncrement) {
$entity->$pkField = $this->getInsertID();
}
return $entity;
}
final public function create(array $formDatas): mixed
{
@ -164,18 +175,7 @@ abstract class CommonModel extends Model
$formDatas[$field] = $this->convert_process(__FUNCTION__, $field, $formDatas);
}
}
// primaryKey가 자동입력이 아니면
if (!$this->useAutoIncrement) {
$pkField = $this->getPKField();
$formDatas[$pkField] = $this->generateUUID();
}
$entity = $this->create_process($formDatas);
// primaryKey가 자동입력이면
if ($this->useAutoIncrement) {
$pkField = $this->getPKField();
$entity->$pkField = $this->getInsertID();
}
return $entity;
return $this->create_process($formDatas);
}
protected function modify_process(mixed $entity): mixed
{
@ -206,6 +206,7 @@ abstract class CommonModel extends Model
$entity->setUpdatedAt(date("Y-m-d H:i:s"));
// LogCollector::debug("[{$entity->getPK()}/{$entity->getTitle()}] 변경 후 내용");
// LogCollector::debug(var_export($entity->toArray(), true));
// dd($entity);
return $this->modify_process($entity);
}

View File

@ -13,6 +13,7 @@ class ClientModel extends CustomerModel
protected $primaryKey = self::PK;
protected $returnType = ClientEntity::class;
protected $allowedFields = [
"code",
"name",
"email",
"phone",
@ -34,12 +35,17 @@ class ClientModel extends CustomerModel
}
switch ($field) {
case "name":
$rule = "required|trim|string";
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
break;
case "role":
$rule = "required|trim|string";
break;
case "code":
$rule = "if_exist|trim|string";
break;
case "email":
$rule = "if_exist|trim|valid_email";
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
break;
case "account_balance":
case "coupon_balance":

View File

@ -34,7 +34,7 @@ class ClientService extends CustomerService
}
public function getIndexFields(): array
{
return ['name', 'email', 'phone', 'role', 'account_balance', 'coupon_balance', 'point_balance', 'status'];
return ['name', 'email', 'phone', 'role', 'account_balance', 'coupon_balance', 'point_balance', 'status', 'created_at', 'updated_at'];
}
//기본 기능부분

View File

@ -93,7 +93,9 @@ class ServiceItemService extends CustomerService
$entity = parent::create($formDatas);
//결제정보 ServicePaymentService에 등록
$this->getServicePaymentService()->setServiceItemEntity($entity);
$this->getServicePaymentService()->create(['user_uid' => $this->getMyAuth()->getUIDByAuthInfo()]);
//관리자 정보 자동추가용
$paymentFormDatas = ['user_uid' => $this->getMyAuth()->getUIDByAuthInfo()];
$this->getServicePaymentService()->create($paymentFormDatas);
return $entity;
}
public function modify(mixed $entity, array $formDatas): ServiceItemEntity

View File

@ -34,7 +34,7 @@
<?php $viewDatas['entity'] = $entity; ?>
<tr <?= $viewDatas['helper']->getListRowColor($entity) ?>>
<?php $viewDatas['cnt'] = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt); ?>
<td><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<td nowrap><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<?php foreach ($viewDatas['control']['index_fields'] as $field): ?>
<td><?= $viewDatas['helper']->getFieldView($field, $entity->$field, $viewDatas) ?></td>
<?php endforeach ?>

View File

@ -23,7 +23,7 @@
<?php $viewDatas['entity'] = $entity; ?>
<tr <?= $viewDatas['helper']->getListRowColor($entity) ?>>
<?php $viewDatas['cnt'] = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt); ?>
<td><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<td nowrap><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<?php foreach ($viewDatas['control']['index_fields'] as $field): ?>
<td><?= $viewDatas['helper']->getFieldView($field, $entity->$field, $viewDatas) ?></td>
<?php endforeach ?>

View File

@ -34,7 +34,7 @@
<?php $viewDatas['entity'] = $entity; ?>
<tr <?= $viewDatas['helper']->getListRowColor($entity) ?>>
<?php $viewDatas['cnt'] = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt); ?>
<td><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<td nowrap><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<?php foreach ($viewDatas['control']['index_fields'] as $field): ?>
<td><?= $viewDatas['helper']->getFieldView($field, $entity->$field, $viewDatas) ?></td>
<?php endforeach ?>

View File

@ -7,7 +7,7 @@
<?= ICONS['LOCK'] ?>
</li>
<li class="nav-item">
<input type="text" class="form-control" value="<?= $viewDatas['helper']->getPasswordString() ?>"
<input type="text" value="<?= $viewDatas['helper']->getPasswordString() ?>"
id="makePassword">
</li>
<li class="nav-item">