홈페이지 메뉴 관리 (작업중)

This commit is contained in:
2023-07-26 17:54:14 +09:00
parent 94f92ddfb9
commit db907c52a6
18 changed files with 948 additions and 4 deletions

View File

@@ -507,7 +507,69 @@ public class SysMgtController {
return sysService.selectAuthMemuListForAddAuth();
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 조회
* @param homeMenuReqDto
* @return
*/
@RequestMapping(value = "/selectHomeMenuList", method = {RequestMethod.POST})
@ResponseBody
public HomeMenuResDto selectHomeMenuList(@RequestBody @Valid HomeMenuReqDto homeMenuReqDto) {
return sysService.selectHomeMenuList(homeMenuReqDto);
}
/**
* date : 2023. 07. 20.
* auth : lmh
* desc : 홈페이지 부모 메뉴 조회
* @param homeMenuReqDto
* @return
*/
@RequestMapping(value = "/selectPrntMenu", method = {RequestMethod.POST})
@ResponseBody
public HomeMenuResDto selectPrntMenu() {
return sysService.selectPrntMenu();
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 등록
* @param insertHomeMenuReqDto
* @return
*/
@RequestMapping(value = "/insertHomeMenu", method = {RequestMethod.POST})
@ResponseBody
public InsertHomeMenuResDto insertHomeMenu(@RequestBody @Valid InsertHomeMenuReqDto insertHomeMenuReqDto) {
return sysService.insertHomeMenu(insertHomeMenuReqDto);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 삭제
* @param deleteHomeMenuReqDto
* @return
*/
@RequestMapping(value = "/deleteHomeMenu", method = {RequestMethod.POST})
@ResponseBody
public DeleteHomeMenuResDto deleteHomeMenu(@RequestBody @Valid DeleteHomeMenuReqDto deleteHomeMenuReqDto) {
return sysService.deleteHomeMenu(deleteHomeMenuReqDto);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 업데이트
* @param updateHomeMenuReqDto
* @return
*/
@RequestMapping(value = "/updateHomeMenu", method = {RequestMethod.POST})
@ResponseBody
public UpdateHomeMenuResDto updateHomeMenu(@RequestBody @Valid UpdateHomeMenuReqDto updateHomeMenuReqDto) {
return sysService.updateHomeMenu(updateHomeMenuReqDto);
}
}

View File

@@ -65,4 +65,14 @@ public interface SysMgtMapper {
List<AuthMenu> selectAuthMemuChdList(AuthMenuUpper authMenuUpper); //권한 추가를 위한 메뉴 조회
}
/* 홈페이지 메뉴 관리 */
List<HomeMenu> selectHomeMenuList(HomeMenuReqDto homeMenuReqDto); //홈페이지 메뉴 조회
int insertHomeMenu(InsertHomeMenuReqDto insertHomeMenuReqDto); //홈페이지 메뉴 등록
int deleteHomeMenu(DeleteHomeMenuReqDto deleteHomeMenuReqDto); //홈페이지 메뉴 삭제
int updateHomeMenu(UpdateHomeMenuReqDto updateHomeMenuReqDto); //홈페이지 메뉴 수정
List<HomeMenu> selectPrntMenu();
};

View File

@@ -792,4 +792,138 @@ public class SysMgtService {
return new AuthMenuResDto(ApiResponseCode.SUCCESS, authMenuData);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 조회
* @param homeMenuReqDto
* @return
*/
public HomeMenuResDto selectHomeMenuList(HomeMenuReqDto homeMenuReqDto) {
SysMgtMapper sysMgtMapper = sqlSessionSlave.getMapper(SysMgtMapper.class);
List<HomeMenu> homeMenuList = new ArrayList<HomeMenu>();
HomeMenuRes homeMenuRes = new HomeMenuRes();
try {
homeMenuList = sysMgtMapper.selectHomeMenuList(homeMenuReqDto);
if(homeMenuList.size() < 1) {
return new HomeMenuResDto(ApiResponseCode.CM_NOT_FOUND);
}
homeMenuRes.setList(homeMenuList);
} catch (Exception e) {
return new HomeMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR);
}
return new HomeMenuResDto(ApiResponseCode.SUCCESS, homeMenuRes);
}
/**
* date : 2023. 07. 20.
* auth : lmh
* desc : 홈페이지 부모메뉴 조회
* @return
*/
public HomeMenuResDto selectPrntMenu() {
SysMgtMapper sysMgtMapper = sqlSessionSlave.getMapper(SysMgtMapper.class);
List<HomeMenu> selectPrntMenuList = new ArrayList<HomeMenu>();
HomeMenuRes homeMenuRes = new HomeMenuRes();
try {
selectPrntMenuList = sysMgtMapper.selectPrntMenu();
if(selectPrntMenuList.size() < 1) {
return new HomeMenuResDto(ApiResponseCode.CM_NOT_FOUND);
}
logger.debug("selectPrntMenuList={}",selectPrntMenuList);
homeMenuRes.setList(selectPrntMenuList);
} catch (Exception e) {
return new HomeMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR);
}
return new HomeMenuResDto(ApiResponseCode.SUCCESS, homeMenuRes);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 등록
* @param insertHomeMenuReqDto
* @return
*/
public InsertHomeMenuResDto insertHomeMenu(InsertHomeMenuReqDto insertHomeMenuReqDto) {
SysMgtMapper sysMgtMapper = sqlSessionMaster.getMapper(SysMgtMapper.class);
logger.info("insertHomeMenu Start. Insert Info = {}", insertHomeMenuReqDto);
int insertSucCnt = 0;
try {
insertSucCnt = sysMgtMapper.insertHomeMenu(insertHomeMenuReqDto);
if(insertSucCnt < 1) {
return new InsertHomeMenuResDto(ApiResponseCode.CM_NOT_FOUND);
}
} catch (Exception e) {
return new InsertHomeMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR);
}
return new InsertHomeMenuResDto(ApiResponseCode.SUCCESS);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 수정
* @param updateHomeMenuReqDto
* @return
*/
public UpdateHomeMenuResDto updateHomeMenu(UpdateHomeMenuReqDto updateHomeMenuReqDto) {
SysMgtMapper sysMgtMapper = sqlSessionMaster.getMapper(SysMgtMapper.class);
logger.info("updateHomeMenu Start. updateHomeMenu Info = {}", updateHomeMenuReqDto);
int updateSucCnt = 0;
try {
updateSucCnt = sysMgtMapper.updateHomeMenu(updateHomeMenuReqDto);
if(updateSucCnt < 1) {
return new UpdateHomeMenuResDto(ApiResponseCode.CM_NOT_FOUND);
}
} catch (Exception e) {
return new UpdateHomeMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR);
}
return new UpdateHomeMenuResDto(ApiResponseCode.SUCCESS);
}
/**
* date : 2023. 07. 19.
* auth : lmh
* desc : 홈페이지 메뉴 삭제
* @param deleteHomeMenuReqDto
* @return
*/
public DeleteHomeMenuResDto deleteHomeMenu(DeleteHomeMenuReqDto deleteHomeMenuReqDto) {
SysMgtMapper sysMgtMapper = sqlSessionMaster.getMapper(SysMgtMapper.class);
logger.info("deleteHomeMenu Start. deleteHomeMenu Info ={}", deleteHomeMenuReqDto);
int deleteSucCnt = 0;
try {
deleteSucCnt = sysMgtMapper.deleteHomeMenu(deleteHomeMenuReqDto);
if(deleteSucCnt < 1) {
return new DeleteHomeMenuResDto(ApiResponseCode.CM_NOT_FOUND);
}
} catch (Exception e) {
return new DeleteHomeMenuResDto(ApiResponseCode.CM_DB_QUERY_ERR);
}
return new DeleteHomeMenuResDto(ApiResponseCode.SUCCESS);
}
}

View File

@@ -0,0 +1,11 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class DeleteHomeMenuReqDto implements Serializable{
}

View File

@@ -0,0 +1,33 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import kr.co.uplus.ez.common.data.ApiResponseCode;
import kr.co.uplus.ez.common.data.ResponseMessage;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class DeleteHomeMenuResDto extends ResponseMessage implements Serializable{
// 데이터.
private DeleteHomeMenuResDto data;
public DeleteHomeMenuResDto() {
this.retCode = ApiResponseCode.SUCCESS.getResultCode();
this.retMsg = ApiResponseCode.SUCCESS.getResultMsg();
}
public DeleteHomeMenuResDto(ApiResponseCode returnStr) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
}
public DeleteHomeMenuResDto(ApiResponseCode returnStr, DeleteHomeMenuResDto data) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
this.data = data;
}
}

View File

@@ -0,0 +1,64 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class HomeMenu implements Serializable {
/** 메뉴 번호 */
@ApiModelProperty(example = "메뉴번호", name = "메뉴번호", dataType = "String")
private String menuNo;
/** 부모 메뉴 번호 */
@ApiModelProperty(example = "부모 메뉴 번호", name = "부모 메뉴 번호", dataType = "String")
private String prntsMenuNo;
/** 부모 메뉴 명 */
@ApiModelProperty(example = "부모 메뉴 명", name = "부모 메뉴 명", dataType = "String")
private String prntNm;
/** 메뉴 명 */
@ApiModelProperty(example = "메뉴 명", name = "메뉴 명", dataType = "String")
private String menuNm;
/** 메뉴 구분(G: GNB, L:LNB, N:미지정) */
@ApiModelProperty(example = "메뉴 구분", name = "메뉴 구분(G: GNB, L:LNB, N:미지정)", dataType = "String")
private String menuGubun;
/** 메뉴 순서 */
@ApiModelProperty(example = "메뉴 순서", name = "메뉴 순서", dataType = "String")
private String menuOdrg;
/** 사용 여부 */
@ApiModelProperty(example = "사용 여부", name = "사용 여부", dataType = "String")
private String useYn;
/** 메뉴 레벨 */
@ApiModelProperty(example = "메뉴 레벨", name = "메뉴 레벨", dataType = "String")
private String menuLvl;
/** 메뉴 URL */
@ApiModelProperty(example = "메뉴 URL", name = "메뉴 URL", dataType = "String")
private String menuUrl;
/** 등록 ID */
@ApiModelProperty(example = "등록 ID", name = "등록 ID", dataType = "String")
private String regId;
/** 등록 일시 */
@ApiModelProperty(example = "등록 일시", name = "등록 일시", dataType = "String")
private String regDt;
/** 변경 ID */
@ApiModelProperty(example = "변경 ID", name = "변경 ID", dataType = "String")
private String chgId;
/** 변경 일시 */
@ApiModelProperty(example = "변경 일시", name = "변경 일시", dataType = "String")
private String chgDt;
}

View File

@@ -0,0 +1,62 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class HomeMenuReqDto implements Serializable{
/** 메뉴 번호 */
@ApiModelProperty(example = "메뉴번호", name = "메뉴번호", dataType = "String")
private String menuNo;
/** 부모 메뉴 번호 */
@ApiModelProperty(example = "부모 메뉴 번호", name = "부모 메뉴 번호", dataType = "String")
private String prntNm;
/** 메뉴 명 */
@ApiModelProperty(example = "메뉴 명", name = "메뉴 명", dataType = "String")
private String menuNm;
/** 메뉴 구분(G: GNB, L:LNB, N:미지정) */
@ApiModelProperty(example = "메뉴 구분", name = "메뉴 구분(G: GNB, L:LNB, N:미지정)", dataType = "String")
private String menuGubun;
/** 메뉴 순서 */
@ApiModelProperty(example = "메뉴 순서", name = "메뉴 순서", dataType = "String")
private String menuOdrg;
/** 사용 여부 */
@ApiModelProperty(example = "사용 여부", name = "사용 여부", dataType = "String")
private String userYn;
/** 메뉴 레벨 */
@ApiModelProperty(example = "메뉴 레벨", name = "메뉴 레벨", dataType = "String")
private String menuLvl;
/** 메뉴 URL */
@ApiModelProperty(example = "메뉴 URL", name = "메뉴 URL", dataType = "String")
private String menuUrl;
/** 등록 ID */
@ApiModelProperty(example = "등록 ID", name = "등록 ID", dataType = "String")
private String regId;
/** 등록 일시 */
@ApiModelProperty(example = "등록 일시", name = "등록 일시", dataType = "String")
private String regDt;
/** 변경 ID */
@ApiModelProperty(example = "변경 ID", name = "변경 ID", dataType = "String")
private String chgId;
/** 변경 일시 */
@ApiModelProperty(example = "변경 일시", name = "변경 일시", dataType = "String")
private String chgDt;
}

View File

@@ -0,0 +1,15 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import java.util.List;
import kr.co.uplus.ez.common.data.Paging;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class HomeMenuRes implements Serializable{
private Paging paging;
private List<HomeMenu> list;
}

View File

@@ -0,0 +1,31 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import kr.co.uplus.ez.common.data.ApiResponseCode;
import kr.co.uplus.ez.common.data.ResponseMessage;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class HomeMenuResDto extends ResponseMessage implements Serializable {
//데이터
private HomeMenuRes data;
public HomeMenuResDto() {
this.retCode = ApiResponseCode.SUCCESS.getResultCode();
this.retMsg = ApiResponseCode.SUCCESS.getResultMsg();
}
public HomeMenuResDto(ApiResponseCode returnStr) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
}
public HomeMenuResDto(ApiResponseCode returnStr, HomeMenuRes data) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
this.data = data;
}
}

View File

@@ -0,0 +1,29 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class InsertHomeMenuReqDto implements Serializable{
private String prntNm;
private String menuNm;
private String menuGubun;
private String menuOdrg;
private String useYn;
private String menuLvl;
private String menuUrl;
private String regIdn = "test";
private String chgId = "test";
}

View File

@@ -0,0 +1,32 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import kr.co.uplus.ez.common.data.ApiResponseCode;
import kr.co.uplus.ez.common.data.ResponseMessage;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class InsertHomeMenuResDto extends ResponseMessage implements Serializable{
// 데이터.
private InsertHomeMenuResDto data;
public InsertHomeMenuResDto() {
this.retCode = ApiResponseCode.SUCCESS.getResultCode();
this.retMsg = ApiResponseCode.SUCCESS.getResultMsg();
}
public InsertHomeMenuResDto(ApiResponseCode returnStr) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
}
public InsertHomeMenuResDto(ApiResponseCode returnStr, InsertHomeMenuResDto data) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
this.data = data;
}
}

View File

@@ -0,0 +1,11 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class UpdateHomeMenuReqDto implements Serializable{
}

View File

@@ -0,0 +1,32 @@
package kr.co.uplus.ez.api.sysMgt.dto;
import java.io.Serializable;
import kr.co.uplus.ez.common.data.ApiResponseCode;
import kr.co.uplus.ez.common.data.ResponseMessage;
import lombok.Data;
@SuppressWarnings("serial")
@Data
public class UpdateHomeMenuResDto extends ResponseMessage implements Serializable{
// 데이터.
private UpdateHomeMenuResDto data;
public UpdateHomeMenuResDto() {
this.retCode = ApiResponseCode.SUCCESS.getResultCode();
this.retMsg = ApiResponseCode.SUCCESS.getResultMsg();
}
public UpdateHomeMenuResDto(ApiResponseCode returnStr) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
}
public UpdateHomeMenuResDto(ApiResponseCode returnStr, UpdateHomeMenuResDto data) {
this.retCode = returnStr.getResultCode();
this.retMsg = returnStr.getResultMsg();
this.data = data;
}
}

View File

@@ -551,4 +551,89 @@
ORDER BY A.MENU_ODRG ASC
</select>
<select id="selectHomeMenuList" parameterType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenuReqDto" resultType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenu">
/* sysMgt-mapper.xml(selectHomeMenuList) 홈페이지 메뉴 조회 */
SELECT
A.MENU_NO
, (SELECT B.MENU_NM FROM hubez_common.EZ_SVC_MENU B WHERE B.MENU_NO = A.PRNTS_MENU_NO) AS PRNT_NM
, A.MENU_NM
, A.MENU_GUBUN
, A.MENU_ODRG
, A.USE_YN
, A.MENU_LVL
, A.MENU_URL
, A.REG_ID
, A.REG_DT
, A.CHG_ID
, A.CHG_DT
FROM
hubez_common.EZ_SVC_MENU A
WHERE
1=1
</select>
<select id="selectPrntMenu" resultType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenu">
/* sysMgt-mapper.xml(selectPrntMenu) 홈페이지 부모 메뉴 */
SELECT
MENU_NM AS MENU_NM
FROM
hubez_common.EZ_SVC_MENU
WHERE
1=1
AND MENU_LVL = '1'
</select>
<insert id="insertHomeMenu" parameterType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenuReqDto">
/* sysMgt-mapper.xml(insertHomeMenu) 홈페이지 메뉴 등록 */
INSERT INTO hubez_common.EZ_SVC_MENU (
MENU_NO
, PRNTS_MENU_NO
, MENU_NM
, MENU_GUBUN
, MENU_ODRG
, USE_YN
, MENU_LVL
, MENU_URL
, REG_ID
, REG_DT
, CHG_ID
, CHG_DT
) VALUES (
(SELECT IFNULL(MAX(A.MENU_NO),0) + 1 FROM hubez_common.EZ_SVC_MENU A)
, (SELECT B.MENU_NO FROM hubez_common.EZ_SVC_MENU B WHERE B.MENU_NM = #{prntNm})
, #{menuNm}
, #{menuGubun}
, #{menuOdrg}
, #{useYn}
, #{menuLvl}
, #{menuUrl}
, #{regId}
, NOW()
, #{chgId}
, NOW()
)
</insert>
<delete id="deleteHomeMenu" parameterType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenuReqDto">
/* sysMgt-mapper.xml(deleteHomeMenu) 홈페이지 메뉴 삭제 */
DELETE FROM hubez_common.EZ_SVC_MENU
WHERE
MENU_NO = #{menuNo}
</delete>
<update id="updateHomeMenu" parameterType="kr.co.uplus.ez.api.sysMgt.dto.HomeMenuReqDto">
/* sysMgt-mapper.xml(updateHomeMenu) 홈페이지 메뉴 수정 */
UPDATE hubez_common.EZ_SVC_MENU
SET
PRNTS_MENU_NO = #{prntsMenuNo}
, MENU_NM = #{menuNm}
, MENU_GUBUN = #{menuGubun}
, MENU_ODRG = #{menuOdrg}
, USE_YN = #{useYn}
, MENU_LVL = #{menuLvl}
, MENU_URL = #{menuUrl}
, CHG_ID = #{chgId}
, CHG_DT = #{chgDt}
</update>
</mapper>