diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonQueryRepository.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonQueryRepository.java new file mode 100644 index 0000000..8223ce1 --- /dev/null +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonQueryRepository.java @@ -0,0 +1,26 @@ +package com.bpgroup.poc.admin.web.common; + +import com.bpgroup.poc.admin.web.common.dropdown.RoleCombo; +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +import static com.bpgroup.poc.admin.domain.role.entity.QRole.role; + +@Repository +@RequiredArgsConstructor +public class CommonQueryRepository { + + private final JPAQueryFactory queryFactory; + + public List findRoles() { + return queryFactory.select(Projections.fields(RoleCombo.class, + role.id, + role.name)) + .from(role) + .fetch(); + } +} diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonWebService.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonWebService.java new file mode 100644 index 0000000..349d685 --- /dev/null +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonWebService.java @@ -0,0 +1,19 @@ +package com.bpgroup.poc.admin.web.common; + +import com.bpgroup.poc.admin.web.common.dropdown.RoleCombo; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class CommonWebService { + + private final CommonQueryRepository queryRepository; + + public List findRoleForCombo() { + return queryRepository.findRoles(); + }; + +} diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/dropdown/RoleCombo.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/dropdown/RoleCombo.java new file mode 100644 index 0000000..d97c487 --- /dev/null +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/dropdown/RoleCombo.java @@ -0,0 +1,9 @@ +package com.bpgroup.poc.admin.web.common.dropdown; + +import lombok.Getter; + +@Getter +public class RoleCombo { + private Long id; + private String name; +} diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonResponse.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/reqres/CommonResponse.java similarity index 73% rename from poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonResponse.java rename to poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/reqres/CommonResponse.java index 28dfe4e..f392b3f 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/CommonResponse.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/common/reqres/CommonResponse.java @@ -1,4 +1,4 @@ -package com.bpgroup.poc.admin.web.common; +package com.bpgroup.poc.admin.web.common.reqres; import lombok.Getter; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementController.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementController.java index 9ae8144..f1994a4 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementController.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementController.java @@ -1,15 +1,23 @@ package com.bpgroup.poc.admin.web.main.admin.management; +import com.bpgroup.poc.admin.web.common.CommonWebService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller +@RequiredArgsConstructor @RequestMapping("/admin/management") public class AdminManagementController { + private final CommonWebService commonWebService; + + @GetMapping - public String adminManagementPage() { + public String adminManagementPage(Model model) { + model.addAttribute("roles", commonWebService.findRoleForCombo()); return "main/admin/management/list"; } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementQueryRepository.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementQueryRepository.java index 4a47218..acad89a 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementQueryRepository.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdminManagementQueryRepository.java @@ -18,11 +18,15 @@ public class AdminManagementQueryRepository { private final JPAQueryFactory queryFactory; public List findAll() { - return queryFactory.select(Projections.fields(AdminFind.Response.class, - admin.id, - admin.loginId, - admin.email, - admin.name)) + return queryFactory.select( + Projections.fields( + AdminFind.Response.class, + admin.id, + admin.loginId, + admin.email, + admin.name + ) + ) .from(admin) .fetch(); } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminCreate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminCreate.java index 9516f38..7aec662 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminCreate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminCreate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.management.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminDelete.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminDelete.java index 862746a..9311115 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminDelete.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminDelete.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.management.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotNull; import lombok.Builder; import lombok.Data; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminUpdate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminUpdate.java index b1cd03e..9fe8e45 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminUpdate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdminUpdate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.management.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuCreate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuCreate.java index 5c707e6..1b3b026 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuCreate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuCreate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuDelete.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuDelete.java index 42ce9bf..c8052b0 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuDelete.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuDelete.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotNull; import lombok.Builder; import lombok.Data; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupCreate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupCreate.java index f1a1818..51129d5 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupCreate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupCreate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupDelete.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupDelete.java index f85b6e5..e400e62 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupDelete.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupDelete.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotNull; import lombok.Builder; import lombok.Data; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupUpdate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupUpdate.java index 39d2b0b..95c9fce 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupUpdate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuGroupUpdate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuUpdate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuUpdate.java index 7bde76e..cfa82c6 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuUpdate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/menu/reqres/MenuUpdate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.menu.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleAddMenu.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleAddMenu.java index 01e742c..2c3cbfb 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleAddMenu.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleAddMenu.java @@ -1,7 +1,7 @@ package com.bpgroup.poc.admin.web.main.admin.role.reqres; import com.bpgroup.poc.admin.domain.role.RoleMenuType; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Builder; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleCreate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleCreate.java index 9332f34..7e92028 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleCreate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleCreate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.role.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import lombok.Builder; import lombok.Data; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleDelete.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleDelete.java index bd8be52..9bad42b 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleDelete.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleDelete.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.role.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotNull; import lombok.Builder; import lombok.Data; diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleUpdate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleUpdate.java index a5af759..bf1807a 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleUpdate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/reqres/RoleUpdate.java @@ -1,6 +1,6 @@ package com.bpgroup.poc.admin.web.main.admin.role.reqres; -import com.bpgroup.poc.admin.web.common.CommonResponse; +import com.bpgroup.poc.admin.web.common.reqres.CommonResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Builder; diff --git a/poc/admin/src/main/resources/data.sql b/poc/admin/src/main/resources/data.sql index 939bb08..7421898 100644 --- a/poc/admin/src/main/resources/data.sql +++ b/poc/admin/src/main/resources/data.sql @@ -1,29 +1,34 @@ INSERT INTO `role` (`name`, `description`, `create_date`, `update_date`) VALUES ('SUPER_ADMIN', '최고 관리자', CURDATE(), CURDATE()), ('ADMIN', '관리자', CURDATE(), CURDATE()), - ('CLIENT', '고객', CURDATE(), CURDATE()); + ('CLIENT', '고객', CURDATE(), CURDATE()) +; INSERT INTO `admin` (`login_id`, `password`, `email`, `name`, `role_id`, `create_date`, `update_date`) -VALUES ('admin', '$2a$10$g6UOrQ/OS8o5r5CJk7C5juVFaItQ62U3EIn8zLPzkFplM3wVLvKZ2', 'admin@admin.com', '홍길동', 1, CURDATE(), CURDATE()); +VALUES ('admin', '$2a$10$g6UOrQ/OS8o5r5CJk7C5juVFaItQ62U3EIn8zLPzkFplM3wVLvKZ2', 'admin@admin.com', '홍길동', 1, CURDATE(), + CURDATE()); INSERT INTO `menu_group` (`uri`, `name`, `sort_order`, `create_date`, `update_date`) -VALUES ('/admin', '관리자 관리', 2, CURDATE(), CURDATE()), - ('/settings', '설정', 3, CURDATE(), CURDATE()), - ('/temp', '임시', 1, CURDATE(), CURDATE()); - -INSERT INTO `menu` (`uri`, `name`, `sort_order`, `menu_group_id`, `create_date`, `update_date`) -VALUES ('/admin/management', '관리자 관리', 1, 1, CURDATE(), CURDATE()), - ('/admin/role', '권한 관리', 2, 1, CURDATE(), CURDATE()) +VALUES ('/main', '메인', 1, CURDATE(), CURDATE()), + ('/admin', '관리자 관리', 2, CURDATE(), CURDATE()), + ('/settings', '설정', 3, CURDATE(), CURDATE()) ; INSERT INTO `menu` (`uri`, `name`, `sort_order`, `menu_group_id`, `create_date`, `update_date`) -VALUES ('/settings/code', '코드 관리', 1, 2, CURDATE(), CURDATE()) +VALUES ('/main', '메인화면', 1, 1, CURDATE(), CURDATE()), + ('/admin/management', '관리자 관리', 2, 2, CURDATE(), CURDATE()), + ('/admin/role', '권한 관리', 3, 2, CURDATE(), CURDATE()) +; + +INSERT INTO `menu` (`uri`, `name`, `sort_order`, `menu_group_id`, `create_date`, `update_date`) +VALUES ('/settings/code', '코드 관리', 1, 3, CURDATE(), CURDATE()) ; INSERT INTO `role_menu` (`role_id`, `menu_id`, `create_date`, `update_date`) VALUES ('1', '1', CURDATE(), CURDATE()), ('1', '2', CURDATE(), CURDATE()), - ('1', '3', CURDATE(), CURDATE()) + ('1', '3', CURDATE(), CURDATE()), + ('1', '4', CURDATE(), CURDATE()) ; diff --git a/poc/admin/src/main/resources/templates/main/admin/management/list.html b/poc/admin/src/main/resources/templates/main/admin/management/list.html index 6ae7385..4d5ee8b 100644 --- a/poc/admin/src/main/resources/templates/main/admin/management/list.html +++ b/poc/admin/src/main/resources/templates/main/admin/management/list.html @@ -10,11 +10,16 @@ - - + + + + -

관리자 조회

+

관리자 조회

+ + +
-

관리자 삭제

+

관리자 삭제

@@ -85,7 +96,8 @@ loginId: document.getElementById('iptCreateLoginId').value, password: document.getElementById('iptCreatePassword').value, email: document.getElementById('iptCreateEmail').value, - name: document.getElementById('iptCreateEmail').value + name: document.getElementById('iptCreateEmail').value, + roleId: document.getElementById('selCreateRole').value }; const requestUri = /*[[@{/admin/management/create}]]*/ ''; @@ -133,14 +145,16 @@ id: document.getElementById('iptUpdateId').value, password: document.getElementById('iptUpdatePassword').value, email: document.getElementById('iptUpdateEmail').value, - name: document.getElementById('iptUpdateName').value + name: document.getElementById('iptUpdateName').value, + roleId: document.getElementById('selUpdateRole').value }; const requestUri = /*[[@{/admin/management/update}]]*/ ''; Reqhelper.reqPostJson(requestUri, data, () => { PageHelper.showAlertModal({title: '수정 완료', message: '수정이 완료되었습니다.'}); }, () => { - PageHelper.showErrorModal('수정에 실패했습니다.'); + // PageHelper.showErrorModal('수정에 실패했습니다.'); + alert('수정에 실패했습니다.'); }); });