From 84ff3d03176c58ca2ec6fbb522b3901e5c5bd2b9 Mon Sep 17 00:00:00 2001 From: won503 Date: Mon, 20 Mar 2023 08:34:50 +0900 Subject: [PATCH] =?UTF-8?q?admin=20Chrglist=20=EC=88=98=EC=A0=95/=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=EB=B6=80=EB=B6=84+=20Vue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/custMgt/service/custMgtApi.js | 5 + .../src/modules/custMgt/views/ChrgList.vue | 228 +++++++++++++++++- .../ez/api/custMgt/CustMgtController.java | 46 ++++ .../uplus/ez/api/custMgt/CustMgtMapper.java | 8 +- .../uplus/ez/api/custMgt/CustMgtService.java | 58 ++++- .../ez/api/custMgt/dto/ChrgListReqDto.java | 2 +- .../ez/api/custMgt/dto/DeleteChrgReqDto.java | 15 ++ .../ez/api/custMgt/dto/DeleteChrgResDto.java | 31 +++ .../ez/api/custMgt/dto/UpdateChrgReqDto.java | 29 +++ .../ez/api/custMgt/dto/UpdateChrgResDto.java | 30 +++ .../uplus/ez/api/custMgt/dto/UserLmtList.java | 2 + .../mapper/mysql/custMgt/custMgt-mapper.xml | 12 +- 12 files changed, 444 insertions(+), 22 deletions(-) create mode 100644 src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgReqDto.java create mode 100644 src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgResDto.java create mode 100644 src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgReqDto.java create mode 100644 src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgResDto.java diff --git a/frontend/src/modules/custMgt/service/custMgtApi.js b/frontend/src/modules/custMgt/service/custMgtApi.js index a65a865..fe1ceb3 100644 --- a/frontend/src/modules/custMgt/service/custMgtApi.js +++ b/frontend/src/modules/custMgt/service/custMgtApi.js @@ -83,6 +83,10 @@ const deleteMemo = (params) => { return httpClient.post('/api/v1/bo/custMgt/deleteMemo', params); } +const chrgList = (params) => { + return httpClient.post('/api/v1/bo/custMgt/chrgList', params); +} + const getExcelHeader = category => { // 엑셀에 출력할 Header 정보를 Mockup 데이터로 관리한다. return new Promise(function(resolve, reject) { @@ -123,4 +127,5 @@ export default { deleteMemo, insertTestId, duplicateCheckUserId, + chrgList, } diff --git a/frontend/src/modules/custMgt/views/ChrgList.vue b/frontend/src/modules/custMgt/views/ChrgList.vue index 0d96e09..39b2bf6 100644 --- a/frontend/src/modules/custMgt/views/ChrgList.vue +++ b/frontend/src/modules/custMgt/views/ChrgList.vue @@ -7,28 +7,162 @@ -
- 청약고객관리 - 회원관리 - 충전관리 -
+
+ 청약고객관리 + 회원관리 + 충전관리 +
+
+
+
+ +
+ + + + ~ + + + +
+
+
+
+
+ + +
+
+ +
+ +
+
+
+
{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}건 +
+ +
+
+
+ +
+ +
diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtController.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtController.java index 2315971..ce465ee 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtController.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtController.java @@ -31,6 +31,8 @@ import kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto; import kr.co.uplus.ez.api.custMgt.dto.CarryOverListResDto; import kr.co.uplus.ez.api.custMgt.dto.ChrgListReqDto; import kr.co.uplus.ez.api.custMgt.dto.ChrgListResDto; +import kr.co.uplus.ez.api.custMgt.dto.DeleteChrgReqDto; +import kr.co.uplus.ez.api.custMgt.dto.DeleteChrgResDto; import kr.co.uplus.ez.api.custMgt.dto.DeleteMemoReqDto; import kr.co.uplus.ez.api.custMgt.dto.DeleteMemoResDto; import kr.co.uplus.ez.api.custMgt.dto.DeleteUserReqDto; @@ -59,6 +61,8 @@ import kr.co.uplus.ez.api.custMgt.dto.UpdateAdminInfoReqDto; import kr.co.uplus.ez.api.custMgt.dto.UpdateAdminInfoResDto; import kr.co.uplus.ez.api.custMgt.dto.UpdateAdminInfoTotalReqDto; import kr.co.uplus.ez.api.custMgt.dto.UpdateAdminInfoTotalResDto; +import kr.co.uplus.ez.api.custMgt.dto.UpdateChrgReqDto; +import kr.co.uplus.ez.api.custMgt.dto.UpdateChrgResDto; import kr.co.uplus.ez.api.custMgt.dto.UpdateUserReqDto; import kr.co.uplus.ez.api.custMgt.dto.UpdateUserResDto; import kr.co.uplus.ez.api.custMgt.dto.UserLmtListExcelReqDto; @@ -68,6 +72,7 @@ import kr.co.uplus.ez.api.custMgt.dto.UserLmtListResDto; import kr.co.uplus.ez.common.components.ValidComponents; import kr.co.uplus.ez.common.data.ApiResponseCode; import kr.co.uplus.ez.common.data.ApiResponseMessage; +import lombok.val; /** * 고객관리 Controller. @@ -528,6 +533,47 @@ public class CustMgtController { } + /** + * date : 2023. 3. 15. + * auth : won + * desc : 충전관리 수정 + * @param UpdateChrgReqDto + * @return UpdateChrgResDto + */ + @ApiOperation(value="updateChrg", notes = "충전관리 수정") + @ApiResponses({ + @ApiResponse(code = HttpServletResponse.SC_OK, message = "SUCESS") + }) + @RequestMapping(value="/updateChrg", method= {RequestMethod.POST}) + @ResponseBody + public UpdateChrgResDto updateChrg(@RequestBody @Valid UpdateChrgReqDto updateChrgReqDto, BindingResult bindingResult) { + if(validComponents.validParameter(bindingResult)) { + return new UpdateChrgResDto(ApiResponseCode.CM_PARAMETER_ERROR); + } + return custService.UpdateChrg(updateChrgReqDto); + } + + /** + * date : 2023. 3. 15. + * auth : won + * desc : 충전관리 삭제 + * @param DeleteChrgReqDto + * @return DeleteChrgResDto + */ + @ApiOperation(value="deleteChrg", notes = "충전관리 수정") + @ApiResponses({ + @ApiResponse(code = HttpServletResponse.SC_OK, message = "SUCESS") + }) + @RequestMapping(value="/deleteChrg", method= {RequestMethod.POST}) + @ResponseBody + public DeleteChrgResDto deleteChrg(@RequestBody @Valid DeleteChrgReqDto deleteChrgReqDto, BindingResult bindingResult) { + if(validComponents.validParameter(bindingResult)) { + return new DeleteChrgResDto(ApiResponseCode.CM_PARAMETER_ERROR); + } + return custService.DeleteChrg(deleteChrgReqDto); + } + + /*2023-03-07 add request 부분 * * date : 2023. 1. 1. diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java index 779ae92..96b6671 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java @@ -117,7 +117,13 @@ public interface CustMgtMapper { /**이용자 충전번호 */ String getChrgSeq(); /**충전관리 등록 */ - void insertChrgInfo(InsertChrgReqDto insertChrgReqDto); + void insertChrgInfo(ChrgInfo chrgInfo); + /**충전관리 수정 */ + void updateChrg(@Valid UpdateChrgReqDto updateChrgReqDto); + /**충전관리 수정후 등록 */ + void addChrg(@Valid ChrgInfo chrgInfo); + /**충전관리 삭제 */ + void deleteChrg(@Valid DeleteChrgReqDto deleteChrgReqDto); //2023-03-07 add request 부분 diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java index f69357b..7c5e562 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java @@ -1026,18 +1026,15 @@ public class CustMgtService { */ public InsertChrgResDto InsertChrg(@Valid InsertChrgReqDto insertChrgReqDto) { CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class); - Map reqMap = new HashMap(); - - String userId = insertChrgReqDto.getUserId(); // // 1. 사용자 유무 확인 // int getUserIdCount = custMgtMapper.getUserIdCount(insertChrgReqDto.getUserId()); // // if (getUserIdCount < 1) { -// return new InsertChrgResDto(ApiResponseCode.CE_DUPLICATE_ID); +// return new InsertChrgResDto(ApiResponseCode.CM_NOT_FOUND); // } -// // 1. 사용자 유무 확인 + // 1. 사용자 유무 확인 SvcUserInfo svcUserInfo = custMgtMapper.selectSvcUserInfo(insertChrgReqDto.getUserId()); if (svcUserInfo == null) { @@ -1068,10 +1065,59 @@ public class CustMgtService { chrgInfo.setRegId(regId); //로그인 ID chrgInfo.setChgId(regId); //로그인 ID - custMgtMapper.insertChrgInfo(insertChrgReqDto); + custMgtMapper.insertChrgInfo(chrgInfo); return new InsertChrgResDto(ApiResponseCode.SUCCESS); } + + /** + * date : 2023. 3. 15. + * auth : won + * desc : 충전관리 수정 + * @param UpdateChrgReqDto + * @return UpdateChrgResDto + */ + public UpdateChrgResDto UpdateChrg(@Valid UpdateChrgReqDto updateChrgReqDto) { + + CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class); + + // 1. 사용여부 update + custMgtMapper.updateChrg(updateChrgReqDto); + + // 2. 새 정보 insert + String chrgSeq = custMgtMapper.getChrgSeq(); + String userSeq = custMgtMapper.getUserSeq(); + Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + UserDetails userDetails = (UserDetails) principal; + String regId = userDetails.getUsername(); + + ChrgInfo chrgInfo = new ChrgInfo(); + chrgInfo.setChrgSeq(chrgSeq); + chrgInfo.setUserSeq(userSeq); + chrgInfo.setChrgDiv(updateChrgReqDto.getChrdDiv()); + chrgInfo.setStartDt(updateChrgReqDto.getStartDt()); + chrgInfo.setEndDt(updateChrgReqDto.getEndDt()); + chrgInfo.setChrgAmt(updateChrgReqDto.getChrgAmt()); + chrgInfo.setRegId(regId); //로그인 ID + chrgInfo.setChgId(regId); //로그인 ID + + custMgtMapper.addChrg(chrgInfo); + + return new UpdateChrgResDto(ApiResponseCode.SUCCESS); + } + + /** + * date : 2023. 3. 15. + * auth : won + * desc : 충전관리 삭제 + * @param DeleteChrgReqDto + * @return DeleteChrgResDto + */ + public DeleteChrgResDto DeleteChrg(@Valid DeleteChrgReqDto deleteChrgReqDto) { + CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class); + custMgtMapper.deleteChrg(deleteChrgReqDto); + return new DeleteChrgResDto(ApiResponseCode.SUCCESS); + } /* 2023-03-07 add request 부분 * date : 2023. 1. 1. diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgListReqDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgListReqDto.java index 2efca10..dc54264 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgListReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgListReqDto.java @@ -14,7 +14,7 @@ public class ChrgListReqDto implements Serializable{ @ApiModelProperty(example = "조회 종료 날짜", name = "조회 종료 날짜", notes = "YYYYMM", dataType = "String") private String endDt; @ApiModelProperty(example = "상세검색", name = "상세검색", notes = "항목 : 고객사명(01)/가입번호(02)/서비스ID(03)", dataType = "String") - private String searchType3; + private String searchType1; @ApiModelProperty(example = "검색어 (입력항목)", name = "검색어 (입력항목)", dataType = "String") private String searchText1; @ApiModelProperty(example = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "String") diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgReqDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgReqDto.java new file mode 100644 index 0000000..4f8a9ab --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgReqDto.java @@ -0,0 +1,15 @@ +package kr.co.uplus.ez.api.custMgt.dto; + +import java.io.Serializable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class DeleteChrgReqDto implements Serializable{ + + @ApiModelProperty(example = "사용여부", name = "사용여부", dataType = "String") + private String useYn; + +} diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgResDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgResDto.java new file mode 100644 index 0000000..792779d --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/DeleteChrgResDto.java @@ -0,0 +1,31 @@ +package kr.co.uplus.ez.api.custMgt.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 DeleteChrgResDto extends ResponseMessage implements Serializable{ + + private Object data; + + public DeleteChrgResDto() { + this.retCode = ApiResponseCode.SUCCESS.getResultCode(); + this.retMsg = ApiResponseCode.SUCCESS.getResultMsg(); + } + + public DeleteChrgResDto(ApiResponseCode returnStr) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + } + + public DeleteChrgResDto(ApiResponseCode returnStr, Object data) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + this.data = data; + } + +} diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgReqDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgReqDto.java new file mode 100644 index 0000000..0e4ace5 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgReqDto.java @@ -0,0 +1,29 @@ +package kr.co.uplus.ez.api.custMgt.dto; + +import java.io.Serializable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class UpdateChrgReqDto implements Serializable{ + + @ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String") + private String custNm; + @ApiModelProperty(example = "고객명", name = "고객명", dataType = "String") + private String userId; + @ApiModelProperty(example = "충전구분", name = "충전구분", dataType = "String") + private String chrdDiv; + @ApiModelProperty(example = "충전시작일", name = "충전시작일", dataType = "String") + private String startDt; + @ApiModelProperty(example = "충전종료일", name = "충전종료일", dataType = "String") + private String endDt; + @ApiModelProperty(example = "충전금액", name = "충전금액", dataType = "String") + private String chrgAmt; + @ApiModelProperty(example = "사용여부", name = "사용여부", dataType = "String") + private String useYn; + @ApiModelProperty(example = "사업자명", name = "사업자명", dataType = "String") + private String bizrNo; + +} diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgResDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgResDto.java new file mode 100644 index 0000000..076e98f --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UpdateChrgResDto.java @@ -0,0 +1,30 @@ +package kr.co.uplus.ez.api.custMgt.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 UpdateChrgResDto extends ResponseMessage implements Serializable{ + + private Object data; + + public UpdateChrgResDto() { + this.retCode = ApiResponseCode.SUCCESS.getResultCode(); + this.retMsg = ApiResponseCode.SUCCESS.getResultMsg(); + } + + public UpdateChrgResDto(ApiResponseCode returnStr) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + } + + public UpdateChrgResDto(ApiResponseCode returnStr, Object data) { + this.retCode = returnStr.getResultCode(); + this.retMsg = returnStr.getResultMsg(); + this.data = data; + } +} diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UserLmtList.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UserLmtList.java index 2619afb..249aae2 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UserLmtList.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/UserLmtList.java @@ -9,6 +9,8 @@ import lombok.Data; @Data public class UserLmtList implements Serializable { + @ApiModelProperty(example = "리스트 번호", name = "리스트 번호", dataType = "Integer") + private Integer no; @ApiModelProperty(example = "이용자일련번호", name = "이용자일련번호", dataType = "String") private String userSeq; @ApiModelProperty(example = "한도년월", name = "한도년월", dataType = "String") diff --git a/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml b/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml index 0e8d7c9..229ff0b 100644 --- a/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml +++ b/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml @@ -1145,7 +1145,7 @@ - SELECT @ROWNUM := @ROWNUM + 1 AS NO , eci.CUST_NM @@ -1167,14 +1167,14 @@ AND esi.SUBS_DT STR_TO_DATE(concat(REPLACE(#{endDt}, '-', '' ),'235959'), '%Y%m%') - - + + AND UPPER(eci.CUST_NM) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) - + AND UPPER(eci.BIZRNO) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) - + AND UPPER(esu.USER_ID) LIKE UPPER(CONCAT('%', #{searchText1}, '%')) @@ -1247,7 +1247,7 @@ , NOW() , #{regId} , NOW() - ) + )