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

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

@@ -0,0 +1,184 @@
<template>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed modal20" @click="ModalClose();"></div>
<div class="popup-wrap modal20">
<div class="popup modal20 popup_form">
<div class="pop-head">
<h3 class="pop-tit">홈페이지 메뉴 등록</h3>
</div>
<table>
<tbody>
<tr>
<th>부모 메뉴</th>
<td>
<select name="" id="stat" v-model="prntNm">
<option value="">선택</option>
<option v-for="(option,i) in prntMenuList" v-bind:key="i">{{ option.menuNm }}</option>
</select>
</td>
</tr>
<tr>
<th>메뉴명</th>
<td><input type="text" v-model="menuNm"></td>
</tr>
<tr>
<th>메뉴구분</th>
<td>
<select name="" id="menugubun" v-model="menuGubun">
<option value="">선택</option>
<option value="G">GNB</option>
<option value="L">LNB</option>
<option value="N">미지정</option>
</select>
</td>
</tr>
<tr>
<th>메뉴순서</th>
<td><input type="number" v-model="menuOdrg"></td>
</tr>
<tr>
<th>사용여부</th>
<td>
<div>
<input
type="radio"
name="useYn"
value="Y"
id="popup_radio5"
v-model="useYn"/>
<label for="popup_radio5">사용</label>
<input
type="radio"
name="useYn"
value="N"
id="popup_radio6"
v-model="useYn"/>
<label for="popup_radio6">미사용</label>
</div></td>
</tr>
<tr>
<th>메뉴레벨</th>
<td><input type="number" value="2" v-model="menuLvl" readonly></td>
</tr>
<tr>
<th>메뉴URL</th>
<td><input type="menuUrl" v-model="menuUrl"></td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
<button class="btn-pcolor" @click="fnInsertHomeMenu()">저장</button>
<button class="btn-default" @click="ModalClose();">취소</button>
</div>
</div>
</div>
<common-modal ref="commonModal"></common-modal>
</div>
</template>
<script>
import sysMgtApi from "../service/sysMgtApi.js";
import commonModal from "./commonModal";
export default {
name: "homeMenuReg",
data() {
return {
isFocused: false,
row: {},
prntMenuList: [],
menuNo: '',
prntNm: '',
menuNm: '',
menuGubun: '',
menuOdrg: '',
useYn: '',
menuLvl: 2,
menuUrl: '',
}
},
components: {
commonModal,
},
created() {
this.formReset();
},
methods: {
async selectPrntMenu(){
try{
const response = await sysMgtApi.selectPrntMenu();
const result = response.data;
if(result != null && result.retCode == '0000'){
this.prntMenuList = result.data.list;
} else {
console.log("result",result)
this.row.title = '홈페이지 부모 메뉴';
this.row.msg1 = '조회정보가 없습니다.';
this.$refs.commonModal.alertSysModalOpen(this.row);
}
} catch(err) {
this.row.title = '홈페이지 부모 메뉴';
this.row.msg1 = '실패 하였습니다.'
this.$refs.commmonModal.alertSysModalOpen(this.row);
}
},
// 모달 띄우기
ModalOpen() {
this.formReset();
var dimmed = document.getElementsByClassName('modal20');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.selectPrntMenu();
},
// 모달 끄기
ModalClose() {
var dimmed = document.getElementsByClassName('modal20');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
fnInsertHomeMenu(){
let params = {
menuNo : this.menuNo,
prntNm : this.prntNm,
menuNm : this.menuNm,
menuGubun : this.menuGubun,
menuOdrg : this.menuOdrg,
useYn : this.useYn,
menuLvl : this.menuLvl,
menuUrl : this.menuUrl,
}
try{
const response = sysMgtApi.insertHomeMenu(params);
const result = response.data;
if(result != null && result.retCode == '0000'){
this.row.title = '홈페이지 메뉴 관리';
this.row.title = '메뉴가 등록되었습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
} catch (err) {
this.row.title = '홈페이지 메뉴 관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commonModal.alertModalOpen(this.row);
}
},
// 저장 후 부모창 호출.
toComplete() {
this.getParent('adminList').$refs.table.reloadData();
this.ModalClose();
},
formReset() {
var type = this.insertType;
Object.assign(this.$data, this.$options.data());
this.insertType = type;
},
checkFocus() {
},
}
}
</script>

View File

@@ -6,6 +6,7 @@ import BatchList from '../views/BatchList'
import BatchDetail from '../views/BatchDetail' import BatchDetail from '../views/BatchDetail'
import NotiList from '../views/NotiList' import NotiList from '../views/NotiList'
import WorkState from '../views/WorkState' import WorkState from '../views/WorkState'
import HomeMenuList from '../views/HomeMenuList'
export default [ export default [
{ {
@@ -56,6 +57,12 @@ export default [
component: WorkState, component: WorkState,
name: 'workState', name: 'workState',
meta: { public: false } meta: { public: false }
},
{
path: '/sysMgt/homeMenuList',
component: HomeMenuList,
name: 'homeMenuList',
meta: { public: false }
} }
] ]

View File

@@ -68,23 +68,27 @@ const resetPassword = (params) => {
return httpClient.post('/api/v1/bo/login/resetPassword', params, { withCredentials: false }); return httpClient.post('/api/v1/bo/login/resetPassword', params, { withCredentials: false });
} }
//배치 리스트 조회
const batchList = (params) => { const batchList = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/batchList', params, { withCredentials: false } ) return httpClient.post('/api/v1/bo/sysMgt/batchList', params, { withCredentials: false } )
} }
//배치 상세조회
const batchDetail = (params) => { const batchDetail = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/batchDetail', params, { withCredentials: false }) return httpClient.post('/api/v1/bo/sysMgt/batchDetail', params, { withCredentials: false })
} }
//배치 수동 조작
const batchExecuteJob = (params) => { const batchExecuteJob = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/batchExecuteJob', params, { withCredentials: false }) return httpClient.post('/api/v1/bo/sysMgt/batchExecuteJob', params, { withCredentials: false })
} }
//알림 이력 조회
const notiList = (params) => { const notiList = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/notiList', params, { withCredentials: false }) return httpClient.post('/api/v1/bo/sysMgt/notiList', params, { withCredentials: false })
} }
//서비스 점검 설정
const setWorkState = (params) => { const setWorkState = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/setWorkState', params, { withCredentials: false }) return httpClient.post('/api/v1/bo/sysMgt/setWorkState', params, { withCredentials: false })
} }
@@ -97,6 +101,25 @@ const athMenuList = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/selectAuthMemuListForAddAuth', params, { withCredentials: false }) return httpClient.post('/api/v1/bo/sysMgt/selectAuthMemuListForAddAuth', params, { withCredentials: false })
} }
const selectHomeMenuList = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/selectHomeMenuList', params, { withCredentials: false })
}
const deleteHomeMenu = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/deleteHomeMenu', params, { withCredentials: false })
}
const updateHomeMenu = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/updateHomeMenu', params, { withCredentials: false })
}
const insertHomeMenu = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/insertHomeMenu', params, { withCredentials: false })
}
const selectPrntMenu = (params) => {
return httpClient.post('/api/v1/bo/sysMgt/selectPrntMenu', params, { withCredentials: false })
}
export default { export default {
insertAdmin, insertAdmin,
@@ -119,5 +142,10 @@ export default {
notiList, notiList,
setWorkState, setWorkState,
svcCheckList, svcCheckList,
athMenuList athMenuList,
selectHomeMenuList,
deleteHomeMenu,
updateHomeMenu,
insertHomeMenu,
selectPrntMenu,
} }

View File

@@ -0,0 +1,114 @@
<template>
<div class="contents">
<div class="contents_wrap">
<div class="top_wrap">
<h3 class="title">홈페이지 메뉴 관리</h3>
<p class="breadcrumb">운영 관리 &gt; 홈페이지 메뉴 관리</p>
</div>
<div class="info">
<div class="count">
<span></span>
</div>
<div class="button_group">
<button type="button" class="button blue add" @click="fnInsertPopup">등록</button>
</div>
</div>
<div class="table">
<table>
<colgroup>
<col width="10%" />
<col width="15%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="20%" />
<col width="15%" />
</colgroup>
<thead>
<tr>
<th>부모 메뉴 </th>
<th>메뉴 </th>
<th>메뉴 구분</th>
<th>메뉴 순서</th>
<th>사용 여부</th>
<th>메뉴 레벨</th>
<th>메뉴 URL</th>
<th>수정 / 삭제</th>
</tr>
</thead>
<tbody>
<tr v-for="(list, i) in menuList" v-bind:key="i">
<td>{{ list.prntNm }}</td>
<td>{{ list.menuNm }}</td>
<td>{{ list.menuGubun }}</td>
<td>{{ list.menuOdrg }}</td>
<td>{{ list.useYn }}</td>
<td>{{ list.menuLvl }}</td>
<td>{{ list.menuUrl }}</td>
<td class="two_btn_group">
<button type="button" class="button grey" >수정</button>
<button type="button" class="button white delete" >삭제</button>
</td>
</tr>
</tbody>
</table>
<homeMenuRegPop ref="homeMenuRegPop"></homeMenuRegPop>
<common-modal ref="commonModal"></common-modal>
</div>
</div>
</div>
</template>
<script>
import sysMgtApi from '../service/sysMgtApi';
import commonModal from "@/components/modal/commonModal";
import homeMenuRegPop from '../components/HomeMenuRegPop'
export default {
name: 'homeMenuList',
data() {
return {
row: {},
perPageCnt: 50,
menuList: [],
};
},
components: {
commonModal,
homeMenuRegPop,
},
created() {
this.fnSelectHomeMenu();
},
mounted() {},
methods: {
//홈페이지 메뉴 조회
async fnSelectHomeMenu(){
let params = {
}
try{
const response = await sysMgtApi.selectHomeMenuList(params);
const result = response.data;
if(result != null && result.retCode == '0000'){
this.menuList = result.data.list;
} else {
this.row.title = '홈페이지 메뉴 관리';
this.row.msg1 = '조회정보가 없습니다.';
this.$refs.commonModal.alertModalOpen(this.row);
}
} catch (err){
this.row.title = '홈페이지 메뉴 관리';
this.row.msg1 = '실패 하였습니다.'
this.$refs.commmonModal.alertModalOpen(this.row);
}
},
fnInsertPopup(){
this.$refs.homeMenuRegPop.ModalOpen();
},
},
};
</script>

View File

@@ -507,7 +507,69 @@ public class SysMgtController {
return sysService.selectAuthMemuListForAddAuth(); 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<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); 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 ORDER BY A.MENU_ODRG ASC
</select> </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> </mapper>