From 7ac80afc1fe346441a867f37bdea5e58e0aa2f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Thu, 10 Apr 2025 14:00:47 +0900 Subject: [PATCH] dbms_primeidc_init...1 --- .../DBMS/Client/CouponController.php | 64 +++++++++++++++++++ .../DBMS/Client/MemoController.php | 3 +- .../DBMS/Client/PaymentController.php | 11 ++-- extdbms/lib/Entities/ServiceEntity.php | 8 +++ extdbms/lib/Services/MemberService.php | 5 ++ .../lib/Views/dbms/client/coupon/index.php | 41 ++++++++++++ .../WebContent/jsp/cupon/IdcCouponUseMK.jsp | 2 +- 7 files changed, 124 insertions(+), 10 deletions(-) create mode 100644 extdbms/lib/Controllers/DBMS/Client/CouponController.php create mode 100644 extdbms/lib/Views/dbms/client/coupon/index.php diff --git a/extdbms/lib/Controllers/DBMS/Client/CouponController.php b/extdbms/lib/Controllers/DBMS/Client/CouponController.php new file mode 100644 index 0000000..5fa3e7e --- /dev/null +++ b/extdbms/lib/Controllers/DBMS/Client/CouponController.php @@ -0,0 +1,64 @@ +getView()->setPath('onetime'); + } // + public function getMemberService(): MemberService + { + if ($this->_memberService === null) { + $this->_memberService = new MemberService(); + } + return $this->_memberService; + } + //IdcCouponUseMK.jsp -> domain_coupon_use.php + //CLI 접속방법 : php index.php site/client/counpon + //WEB 접속방법 : http://localhost/site/client/coupon + public function index(array $params) + { + if (!array_key_exists('client_code', $params)) { + throw new \Exception("client_code 값이 정의되지 않았습니다."); + } + $client_code = $params['client_code']; + $client = $this->getClientService()->getEntityByCode($client_code); + if (!$client) { + throw new \Exception("[$client_code]에 해당하는 사용자정보가 존재하지 않습니다."); + } + $this->client = $client; + //전체 관리자정보(등록자) + $member_code = $params['member_code']; + $member = $this->getMemberService()->getEntityByCode($member_code); + if (!$member) { + throw new \Exception("[$member_code]에 해당하는 관리자정보가 존재하지 않습니다."); + } + $this->member = $member; + //쿠폰내역 + $this->getServiceService()->getModel()->where("client_code", $client_code); + $this->getServiceService()->getModel()->whereNotIn("service_line", ['vpn', 'test', 'soloLine', 'substitution']); + //Query문 Rest여부 -> 같은조건에 Count 받고, 결과값을 받고 싶을때는 continue() + $this->getServiceService()->getModel()->setContinue(true); + $this->total = $this->getServiceService()->getCount(); + //limit, offset 설정 + $this->curPage = intval($params['curPage'] ?? $this->getRequest()->get('curPage') ?? 1); + $this->perPage = intval($params['perPage'] ?? $this->getRequest()->get('perPage') ?? VIEW_LIST_PERPAGE); + $this->getServiceService()->getModel()->limit($this->perPage); + $this->getServiceService()->getModel()->offset(($this->curPage - 1) * $this->perPage); + $this->services = $this->getServiceService()->getEntities(); + $this->pagination = new Pagination($this->total, (int)$this->curPage, (int)$this->perPage); + $total_coupon = 0; + foreach ($this->services as $service) { + $total_coupon += $service->getCoupon(); + } + $this->total_coupon = $total_coupon; + return $this->render(__FUNCTION__); + } +} //Class diff --git a/extdbms/lib/Controllers/DBMS/Client/MemoController.php b/extdbms/lib/Controllers/DBMS/Client/MemoController.php index e683b73..845f353 100644 --- a/extdbms/lib/Controllers/DBMS/Client/MemoController.php +++ b/extdbms/lib/Controllers/DBMS/Client/MemoController.php @@ -21,8 +21,7 @@ class MemoController extends ClientController throw new \Exception("client_code 값이 정의되지 않았습니다."); } $client_code = $params['client_code']; - $this->getClientService()->getModel()->where("Client_Code", $client_code); - $entity = $this->getClientService()->getEntity(); + $entity = $this->getClientService()->getEntityByCode($client_code); if (!$entity) { throw new \Exception("[$client_code]에 해당하는 사용자정보가 존재하지 않습니다."); } diff --git a/extdbms/lib/Controllers/DBMS/Client/PaymentController.php b/extdbms/lib/Controllers/DBMS/Client/PaymentController.php index 08461cd..8c7100e 100644 --- a/extdbms/lib/Controllers/DBMS/Client/PaymentController.php +++ b/extdbms/lib/Controllers/DBMS/Client/PaymentController.php @@ -51,8 +51,6 @@ class PaymentController extends ClientController //mode 당일,1일전,2일전,3일전,custom $today = date("Y-m-d");; $mode = $params['mode'] ?? $this->getRequest()->get('mode') ?? 'all'; - $curPage = intval($params['curPage'] ?? $this->getRequest()->get('curPage') ?? 1); - $perPage = intval($params['perPage'] ?? $this->getRequest()->get('perPage') ?? VIEW_LIST_PERPAGE); switch ($mode) { case 'today': $this->getServiceService()->getModel()->where("service_payment_date = CURDATE()"); @@ -91,13 +89,12 @@ class PaymentController extends ClientController $this->getServiceService()->getModel()->setContinue(true); $this->total = $this->getServiceService()->getCount(); //limit, offset 설정 - $this->getServiceService()->getModel()->limit($perPage); - $this->getServiceService()->getModel()->offset(($curPage - 1) * $perPage); - + $this->curPage = intval($params['curPage'] ?? $this->getRequest()->get('curPage') ?? 1); + $this->perPage = intval($params['perPage'] ?? $this->getRequest()->get('perPage') ?? VIEW_LIST_PERPAGE); + $this->getServiceService()->getModel()->limit($this->perPage); + $this->getServiceService()->getModel()->offset(($this->curPage - 1) * $this->perPage); $this->entities = $this->getServiceService()->getEntities(); $this->mode = $mode; - $this->curPage = $curPage; - $this->perPage = $perPage; $this->pagination = new Pagination($this->total, (int)$this->curPage, (int)$this->perPage); return $this->render(path: __FUNCTION__); } diff --git a/extdbms/lib/Entities/ServiceEntity.php b/extdbms/lib/Entities/ServiceEntity.php index 0c6eed5..2a46d9e 100644 --- a/extdbms/lib/Entities/ServiceEntity.php +++ b/extdbms/lib/Entities/ServiceEntity.php @@ -31,4 +31,12 @@ class ServiceEntity extends Entity { return $this->client_code; } + public function getCoupon(): string + { + return $this->coupon; + } + public function getUsedCoupon(): string + { + return $this->coupon_use; + } } //Class diff --git a/extdbms/lib/Services/MemberService.php b/extdbms/lib/Services/MemberService.php index ae201fa..359a5f4 100644 --- a/extdbms/lib/Services/MemberService.php +++ b/extdbms/lib/Services/MemberService.php @@ -27,4 +27,9 @@ class MemberService extends CommonService { return Entity::class; } + public function getEntityByCode(string $key): Entity|null|false + { + $this->getModel()->where(Model::PKField, $key); + return $this->getEntity(); + } } diff --git a/extdbms/lib/Views/dbms/client/coupon/index.php b/extdbms/lib/Views/dbms/client/coupon/index.php new file mode 100644 index 0000000..df45676 --- /dev/null +++ b/extdbms/lib/Views/dbms/client/coupon/index.php @@ -0,0 +1,41 @@ +

고객명 : client->getTitle() ?> / 쿠폰발급대상 : services) ?> 대 / 전체 남은 수량 : total_coupon; ?> 개

+
+ + + + + + + + + + + + + + + + + + + + services as $service) { ?> + services) - $i; ?> + + + + + + + + + + + + + + + +
No발급쿠폰남은수량사용완료고객명서비스코드장비명서버IP서비스개시일회선종류사용
getCoupon() + $service->getUsedCoupon() ?>getCoupon() ?>client->getName() ?>getUsedCoupon() ?>getServiceCode() ?>getServerCode() ?>service_ip ?>service_open_date ?>service_line ?>getServiceCode() ?>&client_name=client->getName() ?>&client_code=getClientCode() ?>&server_code=getServerCode() ?>&coupon=getCoupon() ?>&mkid=member->getPK() ?>>사용하기
+
+
pagination->render(DBMS_SITE_URL . "/IdcCouponUseMK.cup", ['client_code' => $this->member->getClientCode(), 'member_code' => $this->member->getPK(), 'curPage' => $this->curPage, 'perPage' => $this->perPage]) ?>
\ No newline at end of file diff --git a/idcproject/WebContent/jsp/cupon/IdcCouponUseMK.jsp b/idcproject/WebContent/jsp/cupon/IdcCouponUseMK.jsp index acc6131..565cbfe 100644 --- a/idcproject/WebContent/jsp/cupon/IdcCouponUseMK.jsp +++ b/idcproject/WebContent/jsp/cupon/IdcCouponUseMK.jsp @@ -11,7 +11,7 @@

도메인 쿠폰 사용하기

- +