From 11a47df12d016ad4198b1533ba1a2947f557c02f Mon Sep 17 00:00:00 2001 From: "choi.jh" Date: Mon, 23 Jun 2025 17:56:59 +0900 Subject: [PATCH] dbms_init...1 --- app/Database/dbms_init_all.sql | 9 +- app/Database/erp2_2.vuerd.json | 112 ++++++++++++++---- .../Customer/ServicePaymentEntity.php | 8 +- app/Helpers/Customer/ServicePaymentHelper.php | 2 +- app/Language/en/Customer/ServicePayment.php | 3 +- app/Models/Customer/ServicePaymentModel.php | 4 + .../Customer/ServicePaymentService.php | 21 +++- 7 files changed, 129 insertions(+), 30 deletions(-) diff --git a/app/Database/dbms_init_all.sql b/app/Database/dbms_init_all.sql index 8de03af..b5aa3e4 100644 --- a/app/Database/dbms_init_all.sql +++ b/app/Database/dbms_init_all.sql @@ -512,7 +512,7 @@ CREATE TABLE `serviceinfo` ( LOCK TABLES `serviceinfo` WRITE; /*!40000 ALTER TABLE `serviceinfo` DISABLE KEYS */; -INSERT INTO `serviceinfo` VALUES (1,1,1,1,'R45P20','MP370','tokyo','defence','RAID1','2025-07-18','2025-06-02','default','2025-06-10 10:20:51','2025-06-02 03:37:30'),(2,2,3,1,'R45P20','JPN130','default','default','default','2025-07-18','2025-06-04','default','2025-06-10 08:11:11','2025-06-09 08:23:13'),(3,4,4,1,'R35P10','XP240','default','dedicated','RAID5','2025-07-18','2025-06-04','default',NULL,'2025-06-11 08:20:37'),(4,5,5,1,'R45P20','JPN150','default','alternative','RAID1','2025-06-21','2025-06-19','default','2025-06-23 04:50:40','2025-06-20 01:03:04'),(5,6,6,1,'R45P20','XP250','tokyo','test','RAID5','2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:45:04'); +INSERT INTO `serviceinfo` VALUES (1,1,1,1,'R45P20','MP370','tokyo','defence','RAID1','2025-07-18','2025-06-02','default','2025-06-10 10:20:51','2025-06-02 03:37:30'),(2,2,3,1,'R45P20','JPN130','default','default','default','2025-07-18','2025-06-04','default','2025-06-10 08:11:11','2025-06-09 08:23:13'),(3,4,4,1,'R35P10','XP240','default','dedicated','RAID5','2025-07-18','2025-06-04','default',NULL,'2025-06-11 08:20:37'),(4,5,7,1,'R45P20','JPN150','default','alternative','RAID1','2025-06-21','2025-06-19','default','2025-06-23 07:42:38','2025-06-20 01:03:04'),(5,6,6,1,'R45P20','XP250','tokyo','test','RAID5','2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:45:04'); /*!40000 ALTER TABLE `serviceinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -593,6 +593,7 @@ CREATE TABLE `serviceinfo_payment` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `serviceinfo_uid` int(11) NOT NULL COMMENT '서비스정보', `ownerinfo_uid` int(11) NOT NULL COMMENT '관리자정보', + `user_uid` int(11) DEFAULT NULL COMMENT '결제자정보', `item_type` varchar(20) NOT NULL, `item_uid` int(11) NOT NULL, `billing_cycle` varchar(20) NOT NULL COMMENT '청구방식', @@ -605,7 +606,9 @@ CREATE TABLE `serviceinfo_payment` ( PRIMARY KEY (`uid`), KEY `FK_serviceinfo_TO_serviceinfo_payment` (`serviceinfo_uid`), KEY `FK_clientinfo_TO_serviceinfo_payment` (`ownerinfo_uid`), + KEY `FK_clientinfo_TO_serviceinfo_payment1` (`user_uid`), CONSTRAINT `FK_clientinfo_TO_serviceinfo_payment` FOREIGN KEY (`ownerinfo_uid`) REFERENCES `clientinfo` (`uid`), + CONSTRAINT `FK_clientinfo_TO_serviceinfo_payment1` FOREIGN KEY (`user_uid`) REFERENCES `clientinfo` (`uid`), CONSTRAINT `FK_serviceinfo_TO_serviceinfo_payment` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='결제정보'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -616,7 +619,7 @@ CREATE TABLE `serviceinfo_payment` ( LOCK TABLES `serviceinfo_payment` WRITE; /*!40000 ALTER TABLE `serviceinfo_payment` DISABLE KEYS */; -INSERT INTO `serviceinfo_payment` VALUES (4,2,1,'RAM',2,'onetime',5000,'2025-06-25','2025-06-12','default','2025-06-16 08:26:48','2025-06-12 03:36:55'),(5,2,4,'RAM',2,'month',10000,'2025-06-25','2025-06-25','default','2025-06-16 08:55:59','2025-06-13 00:36:43'),(6,2,1,'STORAGE',1,'onetime',50000,'2025-06-25','2025-06-13','default','2025-06-16 08:56:03','2025-06-13 08:38:52'),(7,3,4,'IP',82,'month',40000,'2025-06-25','2025-06-16','default',NULL,'2025-06-16 09:03:01'),(48,1,1,'LINE',8,'month',500000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(49,1,1,'IP',12,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(50,1,1,'IP',11,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(51,1,1,'SERVER',3,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(52,1,1,'CPU',1,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(53,1,1,'CPU',1,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(54,1,1,'STORAGE',1,'month',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(55,1,1,'SOFTWARE',4,'month',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(56,1,1,'SOFTWARE',5,'month',5000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(57,1,1,'DEFENCE',3,'month',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(58,2,3,'LINE',8,'month',150000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(59,2,3,'IP',16,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(60,2,3,'SERVER',5,'month',200000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(61,2,3,'CPU',2,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(62,2,3,'CPU',2,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(63,2,3,'RAM',3,'month',5000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(64,2,3,'SOFTWARE',1,'month',1000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(65,2,3,'SOFTWARE',4,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(66,3,4,'RAM',2,'month',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(67,3,4,'IP',82,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(68,3,4,'STORAGE',1,'onetime',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:22:57'),(69,3,4,'CPU',1,'onetime',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 10:05:56'),(71,4,5,'IP',3,'onetime',50000,'2025-06-21','2025-06-20','paid','2025-06-20 03:02:47','2025-06-20 01:07:25'),(72,4,5,'STORAGE',1,'onetime',50000,'2025-06-21','2025-06-20','default',NULL,'2025-06-20 01:12:48'),(74,4,5,'RAM',2,'month',5000,'2025-06-21','2025-06-20','default',NULL,'2025-06-20 03:11:36'),(75,5,6,'IP',12,'month',40000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:45:38'),(76,5,6,'LINE',8,'month',100000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:46:07'),(77,5,6,'SERVER',5,'month',150000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:46:35'),(78,5,6,'CPU',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:01'),(79,5,6,'CPU',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:20'),(80,5,6,'RAM',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:47'),(81,5,6,'RAM',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:48:09'),(82,5,6,'STORAGE',1,'month',100000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:48:37'),(83,5,6,'SOFTWARE',3,'onetime',10000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:49:13'),(84,5,6,'DEFENCE',2,'month',200000,'2025-06-25','2025-06-23','default',NULL,'2025-06-23 02:00:31'),(85,4,5,'LINE',8,'month',50000,'2025-06-21','2025-06-23','default',NULL,'2025-06-23 04:28:36'),(86,5,6,'STORAGE',2,'onetime',100000,'2025-06-25','2025-06-23','default',NULL,'2025-06-23 04:31:18'); +INSERT INTO `serviceinfo_payment` VALUES (4,2,1,NULL,'RAM',2,'onetime',5000,'2025-06-25','2025-06-12','default','2025-06-16 08:26:48','2025-06-12 03:36:55'),(5,2,4,NULL,'RAM',2,'month',10000,'2025-06-25','2025-06-25','default','2025-06-16 08:55:59','2025-06-13 00:36:43'),(6,2,1,NULL,'STORAGE',1,'onetime',50000,'2025-06-25','2025-06-13','default','2025-06-16 08:56:03','2025-06-13 08:38:52'),(7,3,4,NULL,'IP',82,'month',40000,'2025-06-25','2025-06-16','default',NULL,'2025-06-16 09:03:01'),(48,1,1,NULL,'LINE',8,'month',500000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(49,1,1,NULL,'IP',12,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(50,1,1,NULL,'IP',11,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(51,1,1,NULL,'SERVER',3,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(52,1,1,NULL,'CPU',1,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(53,1,1,NULL,'CPU',1,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(54,1,1,NULL,'STORAGE',1,'month',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(55,1,1,NULL,'SOFTWARE',4,'month',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(56,1,1,NULL,'SOFTWARE',5,'month',5000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(57,1,1,NULL,'DEFENCE',3,'month',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(58,2,3,NULL,'LINE',8,'month',150000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(59,2,3,NULL,'IP',16,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(60,2,3,NULL,'SERVER',5,'month',200000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(61,2,3,NULL,'CPU',2,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(62,2,3,NULL,'CPU',2,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(63,2,3,NULL,'RAM',3,'month',5000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(64,2,3,NULL,'SOFTWARE',1,'month',1000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(65,2,3,NULL,'SOFTWARE',4,'month',100000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(66,3,4,NULL,'RAM',2,'month',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(67,3,4,NULL,'IP',82,'month',40000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:18:55'),(68,3,4,NULL,'STORAGE',1,'onetime',50000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 04:22:57'),(69,3,4,NULL,'CPU',1,'onetime',10000,'2025-07-18','2025-06-18','default',NULL,'2025-06-18 10:05:56'),(71,4,5,1,'IP',3,'onetime',50000,'2025-06-21','2025-06-20','paid','2025-06-20 03:02:47','2025-06-20 01:07:25'),(72,4,7,NULL,'STORAGE',1,'onetime',50000,'2025-06-21','2025-06-20','default','2025-06-23 07:42:38','2025-06-20 01:12:48'),(74,4,7,NULL,'RAM',2,'month',5000,'2025-06-21','2025-06-20','default','2025-06-23 07:42:38','2025-06-20 03:11:36'),(75,5,6,NULL,'IP',12,'month',40000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:45:38'),(76,5,6,NULL,'LINE',8,'month',100000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:46:07'),(77,5,6,NULL,'SERVER',5,'month',150000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:46:35'),(78,5,6,NULL,'CPU',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:01'),(79,5,6,NULL,'CPU',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:20'),(80,5,6,NULL,'RAM',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:47:47'),(81,5,6,NULL,'RAM',2,'month',50000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:48:09'),(82,5,6,NULL,'STORAGE',1,'month',100000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:48:37'),(83,5,6,NULL,'SOFTWARE',3,'onetime',10000,'2025-06-25','2025-06-20','default',NULL,'2025-06-20 04:49:13'),(84,5,6,NULL,'DEFENCE',2,'month',200000,'2025-06-25','2025-06-23','default',NULL,'2025-06-23 02:00:31'),(85,4,7,NULL,'LINE',8,'month',50000,'2025-06-21','2025-06-23','default','2025-06-23 07:42:38','2025-06-23 04:28:36'),(86,5,6,NULL,'STORAGE',2,'onetime',100000,'2025-06-25','2025-06-23','default',NULL,'2025-06-23 04:31:18'); /*!40000 ALTER TABLE `serviceinfo_payment` ENABLE KEYS */; UNLOCK TABLES; @@ -721,4 +724,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-06-23 16:42:20 +-- Dump completed on 2025-06-23 17:41:08 diff --git a/app/Database/erp2_2.vuerd.json b/app/Database/erp2_2.vuerd.json index a7d5499..86a1bcd 100644 --- a/app/Database/erp2_2.vuerd.json +++ b/app/Database/erp2_2.vuerd.json @@ -4,13 +4,13 @@ "settings": { "width": 3000, "height": 3000, - "scrollTop": -1193.6655, - "scrollLeft": -1398.9278, - "zoomLevel": 0.16, + "scrollTop": -847.6656, + "scrollLeft": -448.1008, + "zoomLevel": 0.73, "show": 511, "database": 4, "databaseName": "", - "canvasType": "ERD", + "canvasType": "@dineug/erd-editor/builtin-schema-sql", "language": 1, "tableNameCase": 4, "columnNameCase": 2, @@ -67,7 +67,8 @@ "6oBuPqT-ikPI7X8a05Trv", "Hj5AZkoYGvM_syvnqMeOi", "dgALp3F5aQw7gy6h_Ejcl", - "cRqZmxohkCGd_FTkg1rhI" + "cRqZmxohkCGd_FTkg1rhI", + "2TcX9drzSjfyNoNBwHe2B" ], "indexIds": [], "memoIds": [] @@ -286,7 +287,7 @@ "8ZPjmeG3NoO6C0icGibJP" ], "ui": { - "x": 957.9838, + "x": 940.1755, "y": 1802.951, "zIndex": 2, "widthName": 68, @@ -294,7 +295,7 @@ "color": "" }, "meta": { - "updateAt": 1749435425211, + "updateAt": 1750667287086, "createAt": 1745819764138 } }, @@ -335,14 +336,14 @@ ], "ui": { "x": 941.0514, - "y": 1471.1988, + "y": 1494.4864, "zIndex": 2, "widthName": 60, "widthComment": 60, "color": "" }, "meta": { - "updateAt": 1749612916799, + "updateAt": 1750667284071, "createAt": 1745819764138 } }, @@ -721,6 +722,7 @@ "GMPyqxaroK2OjQZnoCRwn", "ZWV8iXrgQovfYTm32QGbZ", "yc1mNA3iMmF8xoUX60z6F", + "38UvwuKxUk-yugwJmu0o0", "xWCCXo-zVdNuL4E9AhjCN", "4O3Qit9vqva-izvWHJLTD", "N-ESuxOk84rEdS2SzpVcx", @@ -736,6 +738,8 @@ "ZWV8iXrgQovfYTm32QGbZ", "yc1mNA3iMmF8xoUX60z6F", "2Re7GlIDs1MKhwQ1n_5Ty", + "DyOOetopwDOswgJ6vjzNY", + "38UvwuKxUk-yugwJmu0o0", "xWCCXo-zVdNuL4E9AhjCN", "4O3Qit9vqva-izvWHJLTD", "N-ESuxOk84rEdS2SzpVcx", @@ -755,7 +759,7 @@ "color": "" }, "meta": { - "updateAt": 1749701095112, + "updateAt": 1750667736061, "createAt": 1748484896313 } }, @@ -857,7 +861,7 @@ "mzjynvHZERYSmrLQ3_gX7" ], "ui": { - "x": 148.8111, + "x": 137.852, "y": 1186.5143, "zIndex": 2502, "widthName": 92, @@ -865,7 +869,7 @@ "color": "" }, "meta": { - "updateAt": 1749634092732, + "updateAt": 1750667701015, "createAt": 1748507247933 } }, @@ -6616,6 +6620,46 @@ "updateAt": 1750645865952, "createAt": 1750645375147 } + }, + "DyOOetopwDOswgJ6vjzNY": { + "id": "DyOOetopwDOswgJ6vjzNY", + "tableId": "QCNA57Pi6A9dJDgybxS5v", + "name": "user_uid", + "comment": "관리자정보", + "dataType": "INT", + "default": "", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 62, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1750667712863, + "createAt": 1750667712862 + } + }, + "38UvwuKxUk-yugwJmu0o0": { + "id": "38UvwuKxUk-yugwJmu0o0", + "tableId": "QCNA57Pi6A9dJDgybxS5v", + "name": "user_uid", + "comment": "결제자정보", + "dataType": "INT", + "default": "", + "options": 8, + "ui": { + "keys": 2, + "widthName": 60, + "widthComment": 62, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1750667755749, + "createAt": 1750667733988 + } } }, "relationshipEntities": { @@ -6742,7 +6786,7 @@ "7B0zaLoZnOoMNW8OHZlrQ" ], "x": 941.0514, - "y": 1607.1988, + "y": 1630.4864, "direction": 1 }, "end": { @@ -6779,7 +6823,7 @@ "Z2KizkUFrIaV_R_Quv4Ho" ], "x": 1457.0513999999998, - "y": 1607.1988, + "y": 1630.4864, "direction": 2 }, "meta": { @@ -6798,7 +6842,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1615.2084, - "y": 864.0747999999999, + "y": 904.0748, "direction": 1 }, "end": { @@ -6834,7 +6878,7 @@ "columnIds": [ "TerqekzImISduE6ewW1b5" ], - "x": 665.8111, + "x": 654.852, "y": 1346.5143, "direction": 2 }, @@ -6882,7 +6926,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1615.2084, - "y": 970.7414666666665, + "y": 984.0748, "direction": 1 }, "end": { @@ -6975,7 +7019,7 @@ "ZWV8iXrgQovfYTm32QGbZ" ], "x": 682.6305, - "y": 1056.9288000000001, + "y": 1105.5954666666667, "direction": 2 }, "meta": { @@ -6994,7 +7038,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1615.2084, - "y": 757.4081333333332, + "y": 744.0748, "direction": 1 }, "end": { @@ -7003,7 +7047,7 @@ "yc1mNA3iMmF8xoUX60z6F" ], "x": 682.6305, - "y": 884.9288, + "y": 860.2621333333333, "direction": 2 }, "meta": { @@ -7038,6 +7082,34 @@ "updateAt": 1750645375148, "createAt": 1750645375148 } + }, + "2TcX9drzSjfyNoNBwHe2B": { + "id": "2TcX9drzSjfyNoNBwHe2B", + "identification": false, + "relationshipType": 16, + "startRelationshipType": 2, + "start": { + "tableId": "6ajvOCaGuXU9pzV0Y9jEi", + "columnIds": [ + "_AcWUYKzNJd-V0fRHq8Cx" + ], + "x": 1615.2084, + "y": 824.0748, + "direction": 1 + }, + "end": { + "tableId": "QCNA57Pi6A9dJDgybxS5v", + "columnIds": [ + "38UvwuKxUk-yugwJmu0o0" + ], + "x": 682.6305, + "y": 982.9287999999999, + "direction": 2 + }, + "meta": { + "updateAt": 1750667733988, + "createAt": 1750667733988 + } } }, "indexEntities": {}, diff --git a/app/Entities/Customer/ServicePaymentEntity.php b/app/Entities/Customer/ServicePaymentEntity.php index a6d1824..29210b7 100644 --- a/app/Entities/Customer/ServicePaymentEntity.php +++ b/app/Entities/Customer/ServicePaymentEntity.php @@ -10,13 +10,17 @@ class ServicePaymentEntity extends CustomerEntity const PK = ServicePaymentModel::PK; const TITLE = ServicePaymentModel::TITLE; //관리자정보객체 + final public function getServiceUid(): int + { + return intval($this->attributes['serviceinfo_uid']); + } final public function getOwnerUID(): int { return intval($this->attributes['ownerinfo_uid']); } - final public function getServiceUid(): int + final public function getUserUID(): int { - return intval($this->attributes['serviceinfo_uid']); + return intval($this->attributes['user_uid']); } final public function getService(): ServiceEntity|null { diff --git a/app/Helpers/Customer/ServicePaymentHelper.php b/app/Helpers/Customer/ServicePaymentHelper.php index d37dacd..d324338 100644 --- a/app/Helpers/Customer/ServicePaymentHelper.php +++ b/app/Helpers/Customer/ServicePaymentHelper.php @@ -33,7 +33,7 @@ class ServicePaymentHelper extends CustomerHelper break; default: if (in_array($field, $viewDatas['control']['filter_fields'])) { - $value = $viewDatas['control']['filter_optons'][$field][$value]->getTitle(); + $value = $value ? $viewDatas['control']['filter_optons'][$field][$value]->getTitle() : ""; } break; } diff --git a/app/Language/en/Customer/ServicePayment.php b/app/Language/en/Customer/ServicePayment.php index 099096f..df09ef7 100644 --- a/app/Language/en/Customer/ServicePayment.php +++ b/app/Language/en/Customer/ServicePayment.php @@ -2,8 +2,9 @@ return [ 'title' => "서비스결제정보", 'label' => [ - 'serviceinfo_uid' => "서비스명", + 'serviceinfo_uid' => "서비스", 'ownerinfo_uid' => "관리자", + 'user_uid' => "결제자", 'item_type' => "항목종류", 'item_uid' => "항목", 'billing_cycle' => "납부방식", diff --git a/app/Models/Customer/ServicePaymentModel.php b/app/Models/Customer/ServicePaymentModel.php index 7a5c28e..7fa5916 100644 --- a/app/Models/Customer/ServicePaymentModel.php +++ b/app/Models/Customer/ServicePaymentModel.php @@ -16,6 +16,7 @@ class ServicePaymentModel extends CustomerModel protected $allowedFields = [ "serviceinfo_uid", "ownerinfo_uid", + "user_uid", "item_type", "item_uid", "billing_cycle", @@ -41,6 +42,9 @@ class ServicePaymentModel extends CustomerModel case "amount": $rule = "required|numeric"; break; + case "user_uid": + $rule = "if_exist|numeric"; + break; case "item_type": case "billing_cycle": $rule = "required|trim|string"; diff --git a/app/Services/Customer/ServicePaymentService.php b/app/Services/Customer/ServicePaymentService.php index 3d6f0c0..262d474 100644 --- a/app/Services/Customer/ServicePaymentService.php +++ b/app/Services/Customer/ServicePaymentService.php @@ -7,9 +7,11 @@ use App\Entities\Customer\ServiceItemEntity; use App\Entities\Customer\ServicePaymentEntity; use App\Models\Customer\ServicePaymentModel; use App\Services\Customer\ServiceService; +use App\Services\UserService; class ServicePaymentService extends CustomerService { + private ?UserService $_userService = null; private ?ServiceService $_serviceService = null; public function __construct(mixed $request = null) { @@ -29,6 +31,7 @@ class ServicePaymentService extends CustomerService return [ "serviceinfo_uid", "ownerinfo_uid", + "user_uid", "item_type", "item_uid", "billing_cycle", @@ -40,7 +43,7 @@ class ServicePaymentService extends CustomerService } public function getFilterFields(): array { - return ["serviceinfo_uid", "ownerinfo_uid", 'item_type', 'item_uid', 'billing_cycle', 'status']; + return ["serviceinfo_uid", "ownerinfo_uid", 'user_uid', 'item_type', 'item_uid', 'billing_cycle', 'status']; } public function getBatchJobFields(): array { @@ -48,9 +51,15 @@ class ServicePaymentService extends CustomerService } public function getIndexFields(): array { - return ['serviceinfo_uid', "ownerinfo_uid", 'item_type', 'item_uid', 'billing_cycle', 'amount', 'billing_at', 'issue_at', 'countdown', 'status']; + return ['serviceinfo_uid', "ownerinfo_uid", 'item_type', 'item_uid', 'billing_cycle', 'amount', 'billing_at', 'issue_at', 'countdown', 'status', 'user_uid']; + } + public function getUSerService(): UserService + { + if (!$this->_userService) { + $this->_userService = new UserService($this->request); + } + return $this->_userService; } - public function getServiceService(): ServiceService { if (!$this->_serviceService) { @@ -67,6 +76,12 @@ class ServicePaymentService extends CustomerService case 'serviceinfo_uid': $options = $this->getServiceService()->getEntities(); break; + case 'ownerinfo_uid': + $options = $this->getClientService()->getEntities(); + break; + case 'user_uid': + $options = $this->getUserService()->getEntities(); + break; case 'item_uid': $options = []; break;