메뉴 목록 가져오는 로직 추가, demo api url 삭제

This commit is contained in:
2025-12-09 16:59:31 +09:00
parent 294ee8142f
commit 2423478b0b
9 changed files with 220 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
package com.kamco.cd.kamcoback.postgres.core;
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import com.kamco.cd.kamcoback.postgres.repository.menu.MenuRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
public class MenuCoreService {
private final MenuRepository menuRepository;
public List<MenuDto.Basic> getFindAll() {
return menuRepository.getFindAll().stream().map(MenuEntity::toDto).toList();
}
}

View File

@@ -1,5 +1,6 @@
package com.kamco.cd.kamcoback.postgres.entity;
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
import com.kamco.cd.kamcoback.postgres.CommonDateEntity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
@@ -47,4 +48,25 @@ public class MenuEntity extends CommonDateEntity {
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<MenuEntity> children = new ArrayList<>();
@Column(name = "menu_api_uri")
private String menuApiUri;
public MenuDto.Basic toDto(){
return new MenuDto.Basic(
this.menuUid,
this.menuNm,
this.menuUrl,
this.description,
this.menuOrder,
this.isUse,
this.deleted,
this.createdUid,
this.updatedUid,
this.children.stream().map(MenuEntity::toDto).toList(),
this.getCreatedDate(),
this.getModifiedDate(),
this.menuApiUri
);
}
}

View File

@@ -0,0 +1,6 @@
package com.kamco.cd.kamcoback.postgres.repository.menu;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MenuRepository extends JpaRepository<MenuEntity, String>, MenuRepositoryCustom {}

View File

@@ -0,0 +1,10 @@
package com.kamco.cd.kamcoback.postgres.repository.menu;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import java.util.List;
public interface MenuRepositoryCustom {
List<MenuEntity> getFindAll();
}

View File

@@ -0,0 +1,30 @@
package com.kamco.cd.kamcoback.postgres.repository.menu;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.core.types.dsl.StringExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
import java.util.List;
import static com.kamco.cd.kamcoback.postgres.entity.QMenuEntity.menuEntity;
public class MenuRepositoryImpl extends QuerydslRepositorySupport implements MenuRepositoryCustom {
private final JPAQueryFactory queryFactory;
private final StringExpression NULL_STRING = Expressions.stringTemplate("cast(null as text)");
public MenuRepositoryImpl(JPAQueryFactory queryFactory) {
super(MenuEntity.class);
this.queryFactory = queryFactory;
}
@Override
public List<MenuEntity> getFindAll() {
return queryFactory
.selectFrom(menuEntity)
.where(menuEntity.deleted.isFalse())
.fetch();
}
}