dbms_init...1
This commit is contained in:
parent
2f99e33763
commit
4f5bc4ca0d
@ -67,22 +67,6 @@ class ServiceController extends CustomerController
|
||||
return $result;
|
||||
}
|
||||
//Index,FieldForm관련
|
||||
//추가관련
|
||||
protected function create_process(array $formDatas): void
|
||||
{
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
//부모처리
|
||||
parent::create_process($formDatas);
|
||||
}
|
||||
//수정관련
|
||||
protected function modify_process(mixed $entity, array $formDatas): void
|
||||
{
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
//부모처리
|
||||
parent::modify_process($entity, $formDatas);
|
||||
}
|
||||
//View 관련
|
||||
protected function view_process(mixed $entity): void
|
||||
{
|
||||
|
||||
@ -78,22 +78,6 @@ class ServicePaymentController extends CustomerController
|
||||
return $result;
|
||||
}
|
||||
//Index,FieldForm관련
|
||||
//추가관련
|
||||
protected function create_process(array $formDatas): void
|
||||
{
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
//부모처리
|
||||
parent::create_process($formDatas);
|
||||
}
|
||||
//수정관련
|
||||
protected function modify_process(mixed $entity, array $formDatas): void
|
||||
{
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
//부모처리
|
||||
parent::modify_process($entity, $formDatas);
|
||||
}
|
||||
//View 관련
|
||||
protected function view_process(mixed $entity): void
|
||||
{
|
||||
|
||||
@ -53,7 +53,9 @@ class Payment extends BaseController
|
||||
foreach ($this->getServiceItemService()->getEntities(['serviceinfo_uid' => $serviceEntity->getPK()]) as $itemEntity) {
|
||||
//결제정보 ServicePaymentService에 월별 결제만 신규등록
|
||||
if ($itemEntity->getBillingCycle() == "month") {
|
||||
$this->getServicePaymentService()->createByServiceItem($itemEntity);
|
||||
//결제정보 ServicePaymentService에 등록
|
||||
$this->getServicePaymentService()->setServiceItemEntity($itemEntity);
|
||||
$this->getServicePaymentService()->create([]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -9,9 +9,9 @@ class ClientEntity extends CustomerEntity
|
||||
const PK = ClientModel::PK;
|
||||
const TITLE = ClientModel::TITLE;
|
||||
//타 객체정의 부분
|
||||
public function getSerialCode(): string
|
||||
public function getCode(): string
|
||||
{
|
||||
return $this->attributes['code'];
|
||||
return $this->attributes['code'] ?? "null";
|
||||
}
|
||||
public function getName(): string
|
||||
{
|
||||
|
||||
@ -71,7 +71,11 @@ class ClientHelper extends CustomerHelper
|
||||
{
|
||||
switch ($action) {
|
||||
case 'modify':
|
||||
$action = !$this->getMyAuth()->isAccessRole(['security']) ? $viewDatas['cnt'] : parent::getListButton($action, $label, $viewDatas, $extras);
|
||||
if (!$this->getMyAuth()->isAccessRole(['security'])) {
|
||||
$action = $viewDatas['entity']->getCode();
|
||||
} else {
|
||||
$action = parent::getListButton($action, $viewDatas['entity']->getCode(), $viewDatas, $extras);
|
||||
}
|
||||
break;
|
||||
case 'create':
|
||||
case 'delete':
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
return [
|
||||
'title' => "고객정보",
|
||||
'label' => [
|
||||
'code' => "고객코드",
|
||||
'email' => "메일",
|
||||
'phone' => "연락처",
|
||||
'role' => "권한",
|
||||
|
||||
@ -10,7 +10,7 @@ abstract class CommonModel extends Model
|
||||
protected $table = '';
|
||||
protected $primaryKey = '';
|
||||
protected $useAutoIncrement = true;
|
||||
protected $returnType = 'array';
|
||||
// protected $returnType = 'array';
|
||||
|
||||
protected $useSoftDeletes = false;
|
||||
protected $protectFields = true;
|
||||
@ -108,17 +108,14 @@ abstract class CommonModel extends Model
|
||||
return $rule;
|
||||
}
|
||||
// create, modify 직전 작업용 작업
|
||||
protected function convertEntityData(string $action, string $field, array $formDatas, mixed $entity): mixed
|
||||
protected function convert_process(string $action, string $field, array $formDatas): mixed
|
||||
{
|
||||
if (!array_key_exists($field, $formDatas)) {
|
||||
return $entity;
|
||||
}
|
||||
switch ($field) {
|
||||
case $this->getPKField():
|
||||
// $formDatas에 전달된 값이 없는 경우
|
||||
if (!array_key_exists($field, $formDatas)) {
|
||||
$randomBytes = bin2hex(random_bytes(32));
|
||||
$entity->$field = sprintf(
|
||||
$convertedData = sprintf(
|
||||
'%08s-%04s-%04x-%04x-%12s',
|
||||
substr($randomBytes, 0, 8),
|
||||
substr($randomBytes, 8, 4),
|
||||
@ -126,29 +123,62 @@ abstract class CommonModel extends Model
|
||||
substr($randomBytes, 16, 4),
|
||||
substr($randomBytes, 20, 12)
|
||||
);
|
||||
} else {
|
||||
$entity->$field = $formDatas[$field];
|
||||
}
|
||||
break;
|
||||
case "editor": // content 등 textarea를 사용한 Field
|
||||
case "detail": //content등 textarea를 사용한 Field
|
||||
case "content": // content 등 textarea를 사용한 Field
|
||||
case "discription": // content 등 textarea를 사용한 Field
|
||||
$entity->$field = htmlentities($formDatas[$field], ENT_QUOTES);
|
||||
$convertedData = htmlentities($formDatas[$field], ENT_QUOTES);
|
||||
break;
|
||||
default:
|
||||
$entity->$field = $formDatas[$field];
|
||||
$convertedData = $formDatas[$field];
|
||||
break;
|
||||
}
|
||||
return $convertedData;
|
||||
}
|
||||
|
||||
protected function create_process(array $formDatas): mixed
|
||||
{
|
||||
// 최종 저장 시 오류 발생하면
|
||||
if (!$this->save($formDatas)) {
|
||||
$message = sprintf(
|
||||
"\n------%s 오류-----\n%s\n------------------------------\n",
|
||||
__METHOD__,
|
||||
var_export($this->errors(), true)
|
||||
);
|
||||
LogCollector::debug($message);
|
||||
throw new \Exception($message);
|
||||
}
|
||||
if (!class_exists($this->returnType)) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 returnType: {$this->returnType}이 정의되지 않았습니다.");
|
||||
}
|
||||
return new $this->returnType($formDatas);
|
||||
}
|
||||
final public function create(array $formDatas): mixed
|
||||
{
|
||||
// LogCollector::debug("입력내용");
|
||||
// LogCollector::debug(var_export($formDatas, true));
|
||||
foreach (array_keys($formDatas) as $field) {
|
||||
if (array_key_exists($field, $formDatas)) {
|
||||
$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;
|
||||
}
|
||||
|
||||
final protected function save_process(mixed $entity): mixed
|
||||
protected function modify_process(mixed $entity): mixed
|
||||
{
|
||||
// 최종 변경사항이 없으면
|
||||
// if (!$entity->hasChanged()) {
|
||||
// return $entity;
|
||||
// }
|
||||
// 최종 저장 시 오류 발생하면
|
||||
if (!$this->save($entity)) {
|
||||
$message = sprintf(
|
||||
@ -161,29 +191,6 @@ abstract class CommonModel extends Model
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
|
||||
public function create(array $formDatas, mixed $entity): mixed
|
||||
{
|
||||
// LogCollector::debug("입력내용");
|
||||
// LogCollector::debug(var_export($formDatas, true));
|
||||
foreach (array_keys($formDatas) as $field) {
|
||||
$entity = $this->convertEntityData(__FUNCTION__, $field, $formDatas, $entity);
|
||||
}
|
||||
// primaryKey가 자동입력이 아니면
|
||||
if (!$this->useAutoIncrement) {
|
||||
$pkField = $this->getPKField();
|
||||
$entity->$pkField = $this->generateUUID();
|
||||
}
|
||||
$entity = $this->save_process($entity);
|
||||
// primaryKey가 자동입력이면
|
||||
if ($this->useAutoIncrement) {
|
||||
$pkField = $this->getPKField();
|
||||
$entity->$pkField = $this->getInsertID();
|
||||
}
|
||||
// LogCollector::debug("[{$entity->getPK()}/{$entity->getTitle()}] 입력 후 내용");
|
||||
// LogCollector::debug(var_export($entity->toArray(), true));
|
||||
return $entity;
|
||||
}
|
||||
final public function modify(mixed $entity, array $formDatas): mixed
|
||||
{
|
||||
// 저장하기 전에 데이터 값 변경이 필요한 Field
|
||||
@ -191,13 +198,15 @@ abstract class CommonModel extends Model
|
||||
// LogCollector::debug(var_export($formDatas, true));
|
||||
// LogCollector::debug(var_export($entity->toArray(), true));
|
||||
foreach (array_keys($formDatas) as $field) {
|
||||
$entity = $this->convertEntityData(__FUNCTION__, $field, $formDatas, $entity);
|
||||
if (array_key_exists($field, $formDatas)) {
|
||||
$entity->$field = $this->convert_process(__FUNCTION__, $field, $formDatas);
|
||||
}
|
||||
}
|
||||
//수정일추가
|
||||
$entity->setUpdatedAt(date("Y-m-d H:i:s"));
|
||||
// LogCollector::debug("[{$entity->getPK()}/{$entity->getTitle()}] 변경 후 내용");
|
||||
// LogCollector::debug(var_export($entity->toArray(), true));
|
||||
return $this->save_process($entity);
|
||||
return $this->modify_process($entity);
|
||||
}
|
||||
|
||||
//List 검색용
|
||||
|
||||
@ -52,17 +52,18 @@ class ClientModel extends CustomerModel
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
//Create용
|
||||
protected function create_process(array $formDatas): ClientEntity
|
||||
{
|
||||
$entity = parent::create_process($formDatas);
|
||||
//고객코드 Code 자동 생성 후 수정
|
||||
$code = 'C' . str_pad($entity->getPK(), 4, '0', STR_PAD_LEFT);
|
||||
return $this->modify($entity, ['code' => $code]);
|
||||
}
|
||||
//List 검색용
|
||||
public function setList_WordFilter(string $word): void
|
||||
{
|
||||
$this->orLike(self::TABLE . '.email', $word, 'both');
|
||||
parent::setList_WordFilter($word);
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity): mixed
|
||||
{
|
||||
$entity = parent::create($formDatas, $entity);
|
||||
$code = 'C' . str_pad($entity->getPK(), 4, '0', STR_PAD_LEFT);
|
||||
$this->update($entity->getPK(), ['code' => $code]);
|
||||
return $entity;
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,20 +55,20 @@ class UserModel extends CommonModel
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
protected function convertEntityData(string $action, string $field, array $formDatas, mixed $entity): mixed
|
||||
protected function convert_process(string $action, string $field, array $formDatas): mixed
|
||||
{
|
||||
switch ($field) {
|
||||
case "passwd":
|
||||
$entity->$field = password_hash($formDatas[$field], PASSWORD_DEFAULT);
|
||||
$convertedData = password_hash($formDatas[$field], PASSWORD_DEFAULT);
|
||||
break;
|
||||
case "confirmpassword":
|
||||
$entity->$field = password_hash($formDatas[$field], PASSWORD_DEFAULT);
|
||||
$convertedData = password_hash($formDatas[$field], PASSWORD_DEFAULT);
|
||||
break;
|
||||
default:
|
||||
$entity = parent::convertEntityData($action, $field, $formDatas, $entity);
|
||||
$convertedData = parent::convert_process($action, $field, $formDatas);
|
||||
break;
|
||||
}
|
||||
return $entity;
|
||||
return $convertedData;
|
||||
}
|
||||
//List 검색용
|
||||
public function setList_WordFilter(string $word): void
|
||||
|
||||
@ -115,9 +115,9 @@ abstract class CommonService
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): mixed
|
||||
public function create(array $formDatas): mixed
|
||||
{
|
||||
$entity = $this->getModel()->create($formDatas, $entity ?? $this->getEntityClass());
|
||||
$entity = $this->getModel()->create($formDatas);
|
||||
LogCollector::info("[{$entity->getTitle()}]" . MESSAGES["CREATED"] . ":");
|
||||
return $entity;
|
||||
}
|
||||
|
||||
@ -57,9 +57,9 @@ class AccountService extends CustomerService
|
||||
$entity = $this->getClientService()->withdrawal($entity, 'account_balance', $amount);
|
||||
}
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): AccountEntity
|
||||
public function create(array $formDatas): AccountEntity
|
||||
{
|
||||
$this->setBalance($formDatas);
|
||||
return parent::create($formDatas, $entity);
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,19 +97,21 @@ class ClientService extends CustomerService
|
||||
return $this->getClientService()->modify($entity, $formDatas);
|
||||
}
|
||||
|
||||
public function create(array $formDatas, mixed $entity = new ClientEntity()): ClientEntity
|
||||
public function create(array $formDatas): ClientEntity
|
||||
{
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
|
||||
return parent::create($formDatas, $entity ?? new ClientEntity());
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
public function modify(mixed $entity, array $formDatas): ClientEntity
|
||||
{
|
||||
// die(var_export($formDatas, true));
|
||||
//Role을 지정이 있을경우에만 , toggle이나 batcjhjob에서는 없을수도 있으므로
|
||||
if (isset($formDatas['role'])) {
|
||||
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
|
||||
}
|
||||
// die(var_export($formDatas, true));
|
||||
//수정자 정보 자동추가용
|
||||
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
|
||||
return parent::modify($entity, $formDatas);
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,9 +55,9 @@ class CouponService extends CustomerService
|
||||
$entity = $this->getClientService()->withdrawal($entity, 'coupon_balance', $amount);
|
||||
}
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): CouponEntity
|
||||
public function create(array $formDatas): CouponEntity
|
||||
{
|
||||
$this->setBalance($formDatas);
|
||||
return parent::create($formDatas, $entity);
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,9 +54,9 @@ class PointService extends CustomerService
|
||||
$entity = $this->getClientService()->withdrawal($entity, 'point_balance', $amount);
|
||||
}
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): PointEntity
|
||||
public function create(array $formDatas): PointEntity
|
||||
{
|
||||
$this->setBalance($formDatas);
|
||||
return parent::create($formDatas, $entity);
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,11 +88,13 @@ class ServiceItemService extends CustomerService
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): ServiceItemEntity
|
||||
public function create(array $formDatas): ServiceItemEntity
|
||||
{
|
||||
$entity = parent::create($formDatas);
|
||||
//결제정보 ServicePaymentService에 등록
|
||||
$this->getServicePaymentService()->createByServiceItem($entity);
|
||||
return parent::create($formDatas, $entity);
|
||||
$this->getServicePaymentService()->setServiceItemEntity($entity);
|
||||
$this->getServicePaymentService()->create(['user_uid' => $this->getMyAuth()->getUIDByAuthInfo()]);
|
||||
return $entity;
|
||||
}
|
||||
public function modify(mixed $entity, array $formDatas): ServiceItemEntity
|
||||
{
|
||||
|
||||
@ -11,6 +11,7 @@ use App\Services\UserService;
|
||||
|
||||
class ServicePaymentService extends CustomerService
|
||||
{
|
||||
private ?ServiceItemEntity $_serviceItemEntity = null;
|
||||
private ?UserService $_userService = null;
|
||||
private ?ServiceService $_serviceService = null;
|
||||
public function __construct()
|
||||
@ -66,6 +67,17 @@ class ServicePaymentService extends CustomerService
|
||||
}
|
||||
return $this->_serviceService;
|
||||
}
|
||||
public function setServiceItemEntity(ServiceItemEntity $entity): void
|
||||
{
|
||||
$this->_serviceItemEntity = $entity;
|
||||
}
|
||||
public function getServiceItemEntity(): ServiceItemEntity
|
||||
{
|
||||
if ($this->_serviceItemEntity === null) {
|
||||
throw new \Exception("ServiceItem이 지정되지 않았습니다.");
|
||||
}
|
||||
return $this->_serviceItemEntity;
|
||||
}
|
||||
//Entity의 관련객체정의용
|
||||
//기본 기능부분
|
||||
//FieldForm관련용
|
||||
@ -104,8 +116,9 @@ class ServicePaymentService extends CustomerService
|
||||
return $unpaids;
|
||||
}
|
||||
//결체처리정보 등록 : ServiceItemService에서 사용
|
||||
public function createByServiceItem(ServiceItemEntity $serviceItemEntity): ServicePaymentEntity
|
||||
public function create(array $formDatas): ServicePaymentEntity
|
||||
{
|
||||
$serviceItemEntity = $this->getServiceItemEntity();
|
||||
$serviceEntity = $this->getServiceService()->getEntity($serviceItemEntity->getServiceUid());
|
||||
if (!$serviceEntity) {
|
||||
throw new \Exception("{$serviceItemEntity->getServiceUid()}에 대한 서비스정보를 찾을수 없습니다.");
|
||||
|
||||
@ -201,13 +201,13 @@ class ServiceService extends CustomerService
|
||||
) WHERE billing_at = ? AND status = ?";
|
||||
return $this->getModel()->query($sql, [$billing_at, $status]);
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): ServiceEntity
|
||||
public function create(array $formDatas): ServiceEntity
|
||||
{
|
||||
//code의 경우 서비스중으로 설정작업
|
||||
$this->getCodeService()->setStatus($formDatas['codeinfo_uid'], CodeEntity::STATUS_OCCUPIED);
|
||||
//switch의 경우 서비스중으로 설정작업
|
||||
$this->getSwitchService()->setStatus($formDatas['switchinfo_uid'], SwitchEntity::STATUS_OCCUPIED);
|
||||
return parent::create($formDatas, $entity);
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
public function modify(mixed $entity, array $formDatas): ServiceEntity
|
||||
{
|
||||
|
||||
@ -66,11 +66,12 @@ class IpService extends PartService
|
||||
}
|
||||
public function createByLineInfo(LineEntity $entity, string $ip): IpEntity
|
||||
{
|
||||
$formDatas = [];
|
||||
$formDatas['lineinfo_uid'] = $entity->getPK();
|
||||
$formDatas['ip'] = $ip;
|
||||
$formDatas['status'] = DEFAULTS['STATUS'];
|
||||
return $this->create($formDatas, new IpEntity());
|
||||
$formDatas = [
|
||||
'lineinfo_uid' => $entity->getPK(),
|
||||
'ip' => $ip,
|
||||
'status' => DEFAULTS['STATUS'],
|
||||
];
|
||||
return $this->create($formDatas);
|
||||
}
|
||||
|
||||
//상태변경
|
||||
|
||||
@ -41,10 +41,10 @@ class UserService extends CommonService
|
||||
{
|
||||
return ['id', 'name', 'email', 'mobile', 'role', 'status'];
|
||||
}
|
||||
public function create(array $formDatas, mixed $entity = null): UserEntity
|
||||
public function create(array $formDatas): UserEntity
|
||||
{
|
||||
$formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']);
|
||||
return parent::create($formDatas, $entity ?? new UserEntity());
|
||||
return parent::create($formDatas);
|
||||
}
|
||||
public function modify(mixed $entity, array $formDatas): UserEntity
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user