diff --git a/frontend/src/modules/sysMgt/router/index.js b/frontend/src/modules/sysMgt/router/index.js index 126bcf0..ce98166 100644 --- a/frontend/src/modules/sysMgt/router/index.js +++ b/frontend/src/modules/sysMgt/router/index.js @@ -4,6 +4,7 @@ import AuthAdd from '../views/AuthAdd' import AuthModify from '../views/AuthModify' import BatchList from '../views/BatchList' import BatchDetail from '../views/BatchDetail' +import NotiList from '../views/NotiList' export default [ { @@ -42,6 +43,12 @@ export default [ component: BatchDetail, name: 'batchDetail', meta: { public: false } + }, + { + path: '/sysMgt/notiList', + component: NotiList, + name: 'notiList', + meta: { public: false } } ] diff --git a/frontend/src/modules/sysMgt/service/sysMgtApi.js b/frontend/src/modules/sysMgt/service/sysMgtApi.js index 4461054..6d6059f 100644 --- a/frontend/src/modules/sysMgt/service/sysMgtApi.js +++ b/frontend/src/modules/sysMgt/service/sysMgtApi.js @@ -81,6 +81,10 @@ const batchExecuteJob = (params) => { } +const notiList = (params) => { + return httpClient.post('/api/v1/bo/sysMgt/notiList', params, { withCredentials: false }) +} + export default { insertAdmin, @@ -99,5 +103,6 @@ export default { resetPassword, batchList, batchDetail, - batchExecuteJob + batchExecuteJob, + notiList } diff --git a/frontend/src/modules/sysMgt/views/NotiList.vue b/frontend/src/modules/sysMgt/views/NotiList.vue new file mode 100644 index 0000000..6cf096a --- /dev/null +++ b/frontend/src/modules/sysMgt/views/NotiList.vue @@ -0,0 +1,271 @@ + + + diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java index 38f97a4..1e4d68d 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtController.java @@ -8,6 +8,7 @@ package kr.co.uplus.ez.api.sysMgt; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto; import kr.co.uplus.ez.api.sysMgt.dto.*; import kr.co.uplus.ez.common.components.ValidComponents; import kr.co.uplus.ez.common.components.WebClientRequestService; @@ -430,4 +431,19 @@ public class SysMgtController { } + /** + * data: 2022. 11.23. + * auth: Lee minha + * desc: 알림 이력 조회 + * @return + */ + @ApiOperation(value = "notiList", notes = "알림 이력 조회") + @RequestMapping(value = "/notiList", method = {RequestMethod.POST}) + @ResponseBody + public NotiListResDto notiList(@RequestBody @Valid NotiListReqDto notiListReqDto) { + + logger.info("Start notiList controller"); + return sysService.notiList(notiListReqDto); + } + } diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java index 8b5ab85..cf05c72 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtMapper.java @@ -1,6 +1,7 @@ package kr.co.uplus.ez.api.sysMgt; import kr.co.uplus.ez.api.comm.dto.BatchChkDto; +import kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto; import kr.co.uplus.ez.api.sysMgt.dto.*; import org.apache.ibatis.annotations.Mapper; @@ -51,4 +52,8 @@ public interface SysMgtMapper { public List batchDetailSelect(BatchDetailReqDto batchDetailReqDto); //배치 상세내용 int batchDetailCnt(BatchDetailReqDto batchDetailReqDto); + + public List notiListSelect(NotiListReqDto notiListReqDto); + + int notiListSelectCnt(NotiListReqDto notiListReqDto); } \ No newline at end of file diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java index 519a981..43d1e13 100644 --- a/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/SysMgtService.java @@ -1,6 +1,7 @@ package kr.co.uplus.ez.api.sysMgt; import kr.co.uplus.ez.api.calculate.dto.CalcListResDto; +import kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto; import kr.co.uplus.ez.api.sysMgt.dto.*; import kr.co.uplus.ez.common.data.ApiResponseCode; import kr.co.uplus.ez.common.data.Paging; @@ -471,6 +472,50 @@ public class SysMgtService { return new BatchDetailResDto(ApiResponseCode.SUCCESS, batchDetailRes); } + /** + * data : 2022. 11. 23. + * auth : Lee minha + * desc : 알림 이력 조회 + * @param noticeListReqDto + * @return + */ + public NotiListResDto notiList(NotiListReqDto notiListReqDto) { + + log.info("Start notiList Service"); + + + SysMgtMapper sysmgtmapper = sqlSessionSlave.getMapper(SysMgtMapper.class); + NotiListRes notiListRes = new NotiListRes(); + + String nowPage = String.valueOf(notiListReqDto.getPage()); + int totalCnt = sysmgtmapper.notiListSelectCnt(notiListReqDto); + + if (totalCnt == 0) { + notiListRes.setList(new ArrayList<>()); + Paging paging = new Paging(); + paging.setPage(nowPage); + paging.setTotalCnt(String.valueOf(totalCnt)); + notiListRes.setPaging(paging); + + return new NotiListResDto(ApiResponseCode.CM_NOT_FOUND, notiListRes); + } + + int page = notiListReqDto.getPage(); + int pagePerRows = notiListReqDto.getPagePerRows(); + page = (page - 1) * pagePerRows; + notiListReqDto.setPage(page); + + List notiList = sysmgtmapper.notiListSelect(notiListReqDto); + notiListRes.setList(notiList); + Paging paging = new Paging(); + paging.setPage(nowPage); + paging.setTotalCnt(String.valueOf(totalCnt)); + notiListRes.setPaging(paging); + + log.info("End notiList Service"); + + return new NotiListResDto(ApiResponseCode.SUCCESS, notiListRes); + } } diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiList.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiList.java new file mode 100644 index 0000000..e7842e2 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiList.java @@ -0,0 +1,30 @@ +package kr.co.uplus.ez.api.sysMgt.dto; + +import java.util.List; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 알림 이력 조회 DTO + * @author Lee Minha + */ +@Data +public class NotiList { + + private String sndYmd; + + private String userSeq; + + private String notiDiv; + + private String notiSeq; + + private String notiMsg; + + private String webReqId; + + private String regDt; + + private String userId; +} diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListReqDto.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListReqDto.java new file mode 100644 index 0000000..ebdbe33 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListReqDto.java @@ -0,0 +1,47 @@ +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 NotiListReqDto implements Serializable{ + + //검색 시작일 + private String startDt; + + //검색 종료일 + private String endDt; + + @NotNull + @ApiModelProperty(example = "50", name = "페이지당 조회할 목록 수", dataType = "String") + private int pagePerRows; + + @NotNull + @ApiModelProperty(example = "1", name = "현재 페이지", dataType = "int") + private int page; + + //유저 ID + private String userId; + + //웹 요청 ID + private String webReqId; + + //요청 코드 (01: 종량 전환 알림. 02: 이월 소멸 알림) + private String notiDiv; + + + //검색어 + private String search; + + //검색 유형 + private String srchGbn; + + //검색 유형 + private String srchGbn2; + +} diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListRes.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListRes.java new file mode 100644 index 0000000..9e73072 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListRes.java @@ -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 NotiListRes implements Serializable{ + + private Paging paging; + private List list; +} diff --git a/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListResDto.java b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListResDto.java new file mode 100644 index 0000000..ab0daed --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/sysMgt/dto/NotiListResDto.java @@ -0,0 +1,30 @@ +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 NotiListResDto extends ResponseMessage implements Serializable{ + + private NotiListRes data; + + public NotiListResDto() { + this.retCode = ApiResponseCode.SUCCESS.getResultCode(); + this.retMsg = ApiResponseCode.SUCCESS.getResultMsg(); + } + + public NotiListResDto(ApiResponseCode returnStr) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + } + + public NotiListResDto(ApiResponseCode returnStr, NotiListRes data) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + this.data = data; + } +} diff --git a/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml b/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml index 2697318..668e33b 100644 --- a/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml +++ b/src/main/resources/mapper/mysql/sysMgt/sysMgt-mapper.xml @@ -504,5 +504,82 @@ + + + + + \ No newline at end of file