dbmsv2 init...1

This commit is contained in:
choi.jh 2025-08-22 11:00:49 +09:00
parent 3f56a6235f
commit 7849b10ed6
20 changed files with 563 additions and 224 deletions

View File

@ -130,23 +130,26 @@ abstract class CommonController extends BaseController
return array_key_exists($field, $this->_control['default_values']) ? $this->_control['default_values'][$field] : null; return array_key_exists($field, $this->_control['default_values']) ? $this->_control['default_values'][$field] : null;
} }
final protected function initAction(string $action, $formFields = []): void final protected function initAction(string $action, $actionFields = []): void
{ //각 Field 초기화 { //각 Field 초기화
$this->setAction($action); $this->setAction($action);
switch ($action) { switch ($action) {
case 'view': case 'view':
$fields = $this->_control['view_fields'] = array_key_exists('fields', $formFields) ? $formFields['fields'] : $this->getService()->getViewFields()['fields'] ?? []; $actionFields = array_key_exists('view_fields', $actionFields) ? $actionFields : $this->getService()->getViewFields();
$filters = $this->_control['filter_fields'] = array_key_exists('filters', $formFields) ? $formFields['filters'] : $this->getService()->getViewFields()['filters'] ?? []; $fields = $this->_control['view_fields'] = $actionFields['fields'] ?? [];
$filters = $this->_control['filter_fields'] = $actionFields['filters'] ?? [];
break; break;
case 'index': case 'index':
$fields = $this->_control['index_fields'] = array_key_exists('fields', $formFields) ? $formFields['fields'] : $this->getService()->getIndexFields()['fields'] ?? []; $actionFields = array_key_exists('index_fields', $actionFields) ? $actionFields : $this->getService()->getIndexFields();
$filters = $this->_control['filter_fields'] = array_key_exists('filters', $formFields) ? $formFields['filters'] : $this->getService()->getIndexFields()['filters'] ?? []; $fields = $this->_control['index_fields'] = $actionFields['fields'] ?? [];
$this->_control['batchjob_fields'] = array_key_exists('batchjobFields', $formFields) ? $formFields['batchjobFields'] : $this->getService()->getIndexFields()['batchjob_fields'] ?? []; $filters = $this->_control['filter_fields'] = $actionFields['filters'] ?? [];
$this->_control['batchjob_buttions'] = array_key_exists('batchjobButtions', $formFields) ? $formFields['batchjobFields'] : $this->getService()->getIndexFields()['batchjob_buttions'] ?? []; $this->_control['batchjob_fields'] = $actionFields['batchjob_fields'] ?? [];
$this->_control['batchjob_buttions'] = $actionFields['batchjob_buttions'] ?? [];
break; break;
default: default:
$fields = $this->_control['form_fields'] = array_key_exists('fields', $formFields) ? $formFields['fields'] : $this->getService()->getFormFields()['fields'] ?? []; $actionFields = array_key_exists('form_fields', $actionFields) ? $actionFields : $this->getService()->getFormFields();
$filters = $this->_control['filter_fields'] = array_key_exists('filters', $formFields) ? $formFields['filters'] : $this->getService()->getFormFields()['filters'] ?? []; $fields = $this->_control['form_fields'] = $actionFields['fields'] ?? [];
$filters = $this->_control['filter_fields'] = $actionFields['filters'] ?? [];
break; break;
} }
$this->_control['field_rules'] = []; $this->_control['field_rules'] = [];

View File

@ -6,14 +6,20 @@ return [
'clientinfo_uid' => "고객명", 'clientinfo_uid' => "고객명",
'bank' => "은행", 'bank' => "은행",
'title' => "제목", 'title' => "제목",
'alias' => "/출금자명", 'alias' => "출금자명",
'amount' => "금액", 'amount' => "금액",
'status' => "상태", 'status' => "상태",
'issue_at' => "수정", 'issue_at' => "입출금",
'updated_at' => "수정일", 'updated_at' => "수정일",
'created_at' => "작성일", 'created_at' => "작성일",
'deleted_at' => "삭제일", 'deleted_at' => "삭제일",
], ],
"BANK" => [
'국민은행' => "국민은행",
"하나은행" => "하나은행",
"신한은행" => "신한은행",
"농협" => "농협",
],
"STATUS" => [ "STATUS" => [
'deposit' => "입금", 'deposit' => "입금",
"withdrawal" => "출금", "withdrawal" => "출금",

View File

@ -4,7 +4,7 @@ return [
'label' => [ 'label' => [
'clientinfo_uid' => "고객명", 'clientinfo_uid' => "고객명",
'title' => "제목", 'title' => "제목",
'amount' => "갯수", 'cnt' => "갯수",
'status' => "추가/사용", 'status' => "추가/사용",
'updated_at' => "수정일", 'updated_at' => "수정일",
'created_at' => "작성일", 'created_at' => "작성일",

View File

@ -15,8 +15,24 @@ class LocalService extends AuthService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"id", 'fields' => [
"passwd", "id",
"passwd",
],
'filters' => [],
];
}
public function getIndexFields(): array
{
return [
'fields' => [
"id",
"passwd",
"status",
],
'filters' => [],
'batchjob_fields' => ['status'],
'batchjob_buttions' => []
]; ];
} }

View File

@ -16,21 +16,11 @@ abstract class CommonService
$this->_model = $model; $this->_model = $model;
} }
abstract public function getFormFields(): array; abstract public function getFormFields(): array;
abstract public function getIndexFields(): array;
public function getViewFields(): array public function getViewFields(): array
{ {
return $this->getFormFields(); return $this->getFormFields();
} }
public function getIndexFields(): array
{
return $this->getFormFields();
}
public function getBatchJobButtons(): array
{
return [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
];
}
//기본 기능부분 //기본 기능부분
final public function __get($name) final public function __get($name)
{ {
@ -126,14 +116,18 @@ abstract class CommonService
{ {
switch ($field) { switch ($field) {
default: default:
$formOptionDatas = lang($this->getClassName() . '.' . strtoupper($field));
if (!is_array($formOptionDatas)) {
throw new \Exception(__FUNCTION__ . "에서 {$field}}의 formOptionDatas 값이 array가 아닙니다.\n" . var_export($formOptionDatas, true));
}
$options = []; $options = [];
foreach (lang($this->getClassName() . '.' . strtoupper($field)) as $key => $value) { foreach ($formOptionDatas as $key => $value) {
$options[$key] = new FormOptionEntity(['uid' => $key, 'title' => $value]); $options[$key] = new FormOptionEntity(['uid' => $key, 'title' => $value]);
} }
break; break;
} }
if (!is_array($options)) { if (!is_array($options)) {
throw new \Exception(__FUNCTION__ . "에서 field의 options 값이 array가 아닙니다.\n" . var_export($options, true)); throw new \Exception(__FUNCTION__ . "에서 {$field}의 options 값이 array가 아닙니다.\n" . var_export($options, true));
} }
return $options; return $options;
} }

View File

@ -16,22 +16,45 @@ class AccountService extends CustomerService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"clientinfo_uid", 'fields' => [
"bank", "clientinfo_uid",
"title", "bank",
"alias", "title",
"issue_at", "alias",
"amount", "issue_at",
"status", "amount",
"status",
],
'filters' => [
"clientinfo_uid",
"bank",
"status",
],
]; ];
} }
public function getFilterFields(): array public function getIndexFields(): array
{ {
return ["clientinfo_uid", 'status']; return [
} 'fields' => [
public function getBatchJobFields(): array "clientinfo_uid",
{ "bank",
return ['status']; "title",
"alias",
"issue_at",
"amount",
"status",
],
'filters' => [
"clientinfo_uid",
"bank",
"status",
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분 //기본 기능부분

View File

@ -14,19 +14,52 @@ class ClientService extends CustomerService
} }
public function getFormFields(): array public function getFormFields(): array
{ {
return ['site', 'name', 'email', 'phone', 'role']; return [
} 'fields' => [
public function getFilterFields(): array 'site',
{ 'name',
return ['site', 'role', 'status']; 'email',
} 'phone',
public function getBatchJobFields(): array 'role',
{ ],
return ['site', 'role', 'status']; 'filters' => [
'site',
'role',
'status',
],
];
} }
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['site', 'name', 'email', 'phone', 'role', 'account_balance', 'coupon_balance', 'point_balance', 'status', 'created_at', 'updated_at']; return [
'fields' => [
'site',
'name',
'email',
'phone',
'role',
'account_balance',
'coupon_balance',
'point_balance',
'status',
'created_at',
'updated_at',
],
'filters' => [
'site',
'role',
'status',
],
'batchjob_fields' => [
'site',
'role',
'status',
],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분 //기본 기능부분

View File

@ -16,19 +16,37 @@ class CouponService extends CustomerService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"clientinfo_uid", 'fields' => [
"title", "clientinfo_uid",
"cnt", "title",
"status", "cnt",
"status",
],
'filters' => [
"clientinfo_uid",
"status",
],
]; ];
} }
public function getFilterFields(): array public function getIndexFields(): array
{ {
return ["clientinfo_uid", 'status']; return [
} 'fields' => [
public function getBatchJobFields(): array "clientinfo_uid",
{ "title",
return ['status']; "cnt",
"status",
],
'filters' => [
"clientinfo_uid",
"status",
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분 //기본 기능부분

View File

@ -25,32 +25,50 @@ class PaymentService extends CustomerService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"clientinfo_uid", 'fields' => [
"serviceinfo_uid", "clientinfo_uid",
"title", "serviceinfo_uid",
"amount", "title",
"billing_method", "amount",
"billing_at", "billing_method",
"pay_method", "billing_at",
"status" "pay_method",
"status"
],
'filters' => [
'clientinfo_uid',
'billing_method',
'pay_method',
'status',
'user_uid'
],
]; ];
} }
public function getFilterFields(): array
{
return ['clientinfo_uid', 'billing_method', 'pay_method', 'status', 'user_uid'];
}
public function getBatchJobFields(): array
{
return ['clientinfo_uid', 'billing_method', 'pay_method', 'status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{
return ['clientinfo_uid', 'billing_method', 'title', 'amount', 'billing_at', 'pay_method', 'status', 'countdown', 'user_uid'];
}
public function getBatchJobButtons(): array
{ {
return [ return [
'invoice' => '청구서 발행', 'fields' => [
'clientinfo_uid',
'billing_method',
'title',
'amount',
'billing_at',
'pay_method',
'status',
'countdown',
'user_uid'
],
'filters' => [
'clientinfo_uid',
'billing_method',
'pay_method',
'status',
'user_uid'
],
'batchjob_fields' => ['clientinfo_uid', 'billing_method', 'pay_method', 'status'],
'batchjob_buttions' => [
'invoice' => '청구서 발행',
],
]; ];
} }
//기본 기능부분 //기본 기능부분

View File

@ -16,19 +16,37 @@ class PointService extends CustomerService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"clientinfo_uid", 'fields' => [
"title", "clientinfo_uid",
"amount", "title",
"status", "amount",
"status",
],
'filters' => [
"clientinfo_uid",
"status",
],
]; ];
} }
public function getFilterFields(): array public function getIndexFields(): array
{ {
return ["clientinfo_uid", 'status']; return [
} 'fields' => [
public function getBatchJobFields(): array "clientinfo_uid",
{ "title",
return ['status']; "amount",
"status",
],
'filters' => [
"clientinfo_uid",
"status",
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분 //기본 기능부분

View File

@ -17,31 +17,62 @@ class ServiceService extends CustomerService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"clientinfo_uid", 'fields' => [
"type", "clientinfo_uid",
"location", "type",
"serverinfo_uid", "location",
"billing_at", "serverinfo_uid",
"amount", "billing_at",
"start_at", "amount",
"end_at", "start_at",
"history", "end_at",
"status", "history",
"status",
],
'filters' => [
'site',
'clientinfo_uid',
'serverinfo_uid',
'type',
'location',
'status'
],
]; ];
} }
public function getFilterFields(): array
{
return ['site', 'clientinfo_uid', 'serverinfo_uid', 'type', 'location', 'status'];
}
public function getBatchJobFields(): array
{
return ['site', 'clientinfo_uid', 'status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['site', 'clientinfo_uid', 'type', 'location', 'serverinfo_uid', 'billing_at', 'amount', 'start_at', 'end_at', 'updated_at', 'status', 'user_uid']; return [
'fields' => [
'site',
'clientinfo_uid',
'type',
'location',
'serverinfo_uid',
'billing_at',
'amount',
'start_at',
'end_at',
'updated_at',
'status',
'user_uid'
],
'filters' => [
'site',
'clientinfo_uid',
'serverinfo_uid',
'type',
'location',
'status'
],
'batchjob_fields' => ['site', 'clientinfo_uid', 'status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//Entity의 관련객체정의용 //기본 기능부분
//검색용
public function setSearchIp(string $ip): void public function setSearchIp(string $ip): void
{ {
$this->_searchIP = $ip; $this->_searchIP = $ip;

View File

@ -15,27 +15,50 @@ class CSService extends EquipmentService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"serverinfo_uid", 'fields' => [
"type", "serverinfo_uid",
"ip", "type",
"accountid", "ip",
"domain", "accountid",
"price", "domain",
"status", "price",
"status",
],
'filters' => [
"clientinfo_uid",
'serverinfo_uid',
'type',
'status'
],
]; ];
} }
public function getFilterFields(): array
{
return ["clientinfo_uid", 'serverinfo_uid', 'type', 'status'];
}
public function getBatchJobFields(): array
{
return ["type", 'status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ["clientinfo_uid", 'serverinfo_uid', 'type', 'ip', 'accountid', 'domain', 'price', 'status']; return [
'fields' => [
"clientinfo_uid",
'serverinfo_uid',
'type',
'ip',
'accountid',
'domain',
'price',
'status'
],
'filters' => [
"clientinfo_uid",
'serverinfo_uid',
'type',
'status'
],
'batchjob_fields' => ["type", 'status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분
//List 검색용 //List 검색용
//OrderBy 처리 //OrderBy 처리
public function setOrderBy(mixed $field = null, mixed $value = null): void public function setOrderBy(mixed $field = null, mixed $value = null): void

View File

@ -19,24 +19,48 @@ class IPService extends EquipmentService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"lineinfo_uid", 'fields' => [
"serverinfo_uid", "lineinfo_uid",
"ip", "serverinfo_uid",
"price", "ip",
"status", "price",
"status",
],
'filters' => [
'old_clientinfo_uid',
'clientinfo_uid',
'serverinfo_uid',
"lineinfo_uid",
'status'
],
]; ];
} }
public function getFilterFields(): array
{
return ['old_clientinfo_uid', 'clientinfo_uid', 'serverinfo_uid', "lineinfo_uid", 'status'];
}
public function getBatchJobFields(): array
{
return ['status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['lineinfo_uid', 'ip', 'price', 'amount', 'status', 'clientinfo_uid', 'serverinfo_uid', 'old_clientinfo_uid']; return [
'fields' => [
'lineinfo_uid',
'ip',
'price',
'amount',
'status',
'clientinfo_uid',
'serverinfo_uid',
'old_clientinfo_uid'
],
'filters' => [
'old_clientinfo_uid',
'clientinfo_uid',
'serverinfo_uid',
"lineinfo_uid",
'status'
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
final public function getLineService(): LineService final public function getLineService(): LineService
{ {

View File

@ -14,24 +14,41 @@ class LineService extends EquipmentService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"type", 'fields' => [
"title", "type",
"bandwith", "title",
"start_at", "bandwith",
"end_at", "start_at",
"status", "end_at",
"status",
],
'filters' => [
"type",
'status',
],
]; ];
} }
public function getFilterFields(): array
{
return ["type", 'status',];
}
public function getBatchJobFields(): array
{
return ['status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['type', 'title', 'bandwith', "start_at", "end_at", 'status']; return [
'fields' => [
'type',
'title',
'bandwith',
"start_at",
"end_at",
'status'
],
'filters' => [
"type",
'status',
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
],
];
} }
//기본 기능부분}
} }

View File

@ -14,23 +14,38 @@ class PartService extends EquipmentService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"type", 'fields' => [
"title", "type",
"price", "title",
"status", "price",
"status",
],
'filters' => [
"type",
'status',
],
]; ];
} }
public function getFilterFields(): array
{
return ["type", 'status',];
}
public function getBatchJobFields(): array
{
return ['status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['type', 'title', 'price', 'status', 'created_at']; return [
'fields' => [
'type',
'title',
'price',
'status',
'created_at'
],
'filters' => [
"type",
'status',
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분 //기본 기능부분
//FieldForm관련용 //FieldForm관련용

View File

@ -61,6 +61,10 @@ class ServerService extends EquipmentService
], ],
'filters' => ['clientinfo_uid', 'serviceinfo_uid', 'type', 'status'], 'filters' => ['clientinfo_uid', 'serviceinfo_uid', 'type', 'status'],
'batchjob_fields' => ['clientinfo_uid', 'type', 'status'], 'batchjob_fields' => ['clientinfo_uid', 'type', 'status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
]; ];
} }
final public function getPartService(): PartService final public function getPartService(): PartService

View File

@ -16,24 +16,43 @@ class SwitchService extends EquipmentService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"serverinfo_uid", 'fields' => [
"code", "serverinfo_uid",
"status", "code",
"status",
],
'filters' => [
'clientinfo_uid',
'serviceinfo_uid',
'serverinfo_uid',
'status'
],
]; ];
} }
public function getFilterFields(): array
{
return ['clientinfo_uid', 'serviceinfo_uid', 'serverinfo_uid', 'status'];
}
public function getBatchJobFields(): array
{
return ['clientinfo_uid', 'serverinfo_uid', 'status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['code', 'status', 'clientinfo_uid', 'serviceinfo_uid', 'serverinfo_uid']; return [
'fields' => [
'code',
'status',
'clientinfo_uid',
'serviceinfo_uid',
'serverinfo_uid'
],
'filters' => [
'clientinfo_uid',
'serviceinfo_uid',
'serverinfo_uid',
'status'
],
'batchjob_fields' => ['clientinfo_uid', 'serverinfo_uid', 'status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본기능 //기본 기능부분
//FieldForm관련용 //FieldForm관련용
//상태변경 //상태변경
public function setStatus(string $code, string $status): SwitchEntity public function setStatus(string $code, string $status): SwitchEntity

View File

@ -17,24 +17,38 @@ class MyLogService extends CommonService
} }
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"user_uid", 'fields' => [
"title", "user_uid",
"content", "title",
"status", "content",
"status",
],
'filters' => [
'user_uid',
'status'
],
]; ];
} }
public function getFilterFields(): array
{
return ['user_uid', 'status'];
}
public function getBatchJobFields(): array
{
return ['status'];
}
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['user_uid', 'title', 'status', 'created_at']; return [
'fields' => [
'user_uid',
'title',
'status',
'created_at'
],
'filters' => [
'user_uid',
'status'
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
public function getUserService(): UserService public function getUserService(): UserService
{ {
@ -43,7 +57,7 @@ class MyLogService extends CommonService
} }
return $this->_userService; return $this->_userService;
} }
//기본기능 //기본 기능부분
//FieldForm관련용 //FieldForm관련용
public function getFormFieldOption(string $field, array $options = []): array public function getFormFieldOption(string $field, array $options = []): array
{ {

View File

@ -16,21 +16,45 @@ class UserSNSService extends CommonService
public function getFormFields(): array public function getFormFields(): array
{ {
return [ return [
"site", 'fields' => [
"user_uid", "site",
"id", "user_uid",
"name", "id",
"email", "name",
"detail", "email",
"status", "detail",
"status",
],
'filters' => [
"site",
"user_uid",
"status",
],
]; ];
} }
public function getFilterFields(): array public function getIndexFields(): array
{ {
return []; return [
} 'fields' => [
public function getBatchJobFields(): array "site",
{ "user_uid",
return []; "id",
"name",
"email",
"detail",
"status",
],
'filters' => [
"site",
"user_uid",
"status",
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
} }
//기본 기능부분
} }

View File

@ -14,24 +14,63 @@ class UserService extends CommonService
} }
public function getFormFields(): array public function getFormFields(): array
{ {
return ['id', 'passwd', 'confirmpassword', 'name', 'email', 'mobile', 'role']; return [
} 'fields' => [
public function getFilterFields(): array 'id',
{ 'passwd',
return ['role', 'status']; 'confirmpassword',
} 'name',
public function getBatchJobFields(): array 'email',
{ 'mobile',
return ['status']; 'role'
} ],
public function getIndexFields(): array 'filters' => [
{ 'role',
return ['id', 'name', 'email', 'mobile', 'role', 'status']; 'status'
],
];
} }
public function getViewFields(): array public function getViewFields(): array
{ {
return ['id', 'name', 'email', 'mobile', 'role', 'status']; return [
'fields' => [
'id',
'name',
'email',
'mobile',
'role',
'status'
],
'filters' => [
'role',
'status'
],
];
} }
public function getIndexFields(): array
{
return [
'fields' => [
'id',
'name',
'email',
'mobile',
'role',
'status'
],
'filters' => [
'role',
'status'
],
'batchjob_fields' => ['status'],
'batchjob_buttions' => [
'batchjob' => '일괄 처리',
'batchjob_delete' => '일괄 삭제',
]
];
}
//기본 기능부분
public function create(array $formDatas): UserEntity public function create(array $formDatas): UserEntity
{ {
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']); $formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);