From 5fa0e3f25f8477e4b7abe4964d4f67edb294edc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 4 Jan 2024 18:01:35 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/EgovHeader.jsx | 8 +- .../components/leftmenu/EgovLeftNavAdmin.jsx | 4 +- .../src/pages/admin/config/BaseCodeMgt.jsx | 1 - .../src/pages/admin/users/List.jsx | 172 +++++++++++++++++- .../src/pages/login/EgovLoginContent.jsx | 4 +- .../src/pages/standardCode/viewer.js | 4 +- .../admin/config/AdminConfigController.java | 8 +- .../config/mapper/AdminConfigMapper.java | 7 - .../config/service/AdminConfigService.java | 2 - .../admin/users/AdminUsersController.java | 19 ++ .../admin/users/mapper/AdminUsersMapper.java | 26 +++ .../users/service/AdminUsersService.java | 9 + .../dbnt/kcscbackend/auth/entity/LoginVO.java | 2 +- .../standardCode/StandardCodeController.java | 2 +- ...nConfigMapper.xml => AdminUsersMapper.xml} | 2 +- 15 files changed, 241 insertions(+), 29 deletions(-) delete mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/mapper/AdminConfigMapper.java create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/mapper/AdminUsersMapper.java create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java rename kcsc-back-end/src/main/resources/mybatisMapper/{AdminConfigMapper.xml => AdminUsersMapper.xml} (62%) diff --git a/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx b/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx index 3d79193..41f7132 100644 --- a/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx +++ b/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx @@ -75,7 +75,7 @@ function EgovHeader({ loginUser, onChangeLogin }) {
  • (isActive ? "cur" : "")}>정보마당
  • (isActive ? "cur" : "")}>고객지원
  • (isActive ? "cur" : "")}>알림마당
  • - {sessionUserSe ==='ADM' && + {sessionUserSe ==='ACC_TP01' &&
  • (isActive ? "cur" : "")}>사이트관리
  • } @@ -86,7 +86,7 @@ function EgovHeader({ loginUser, onChangeLogin }) { {/* 로그아웃 : 로그인 정보 있을때 */} {sessionUserId && <> - {sessionUserId} 님이, {sessionUserSe==='ADM'?'관리자':'사용자'}로 로그인하셨습니다. + {sessionUserId} 님이, {sessionUserSe==='ACC_TP01'?'관리자':'사용자'}로 로그인하셨습니다. } @@ -141,7 +141,7 @@ function EgovHeader({ loginUser, onChangeLogin }) {
  • (isActive ? "cur" : "")}>사이트 갤러리
  • - {sessionUserSe ==='ADM' && + {sessionUserSe ==='ACC_TP01' &&

    사이트관리

    - {sessionUserSe ==='ADM' && + {sessionUserSe ==='ACC_TP01' && <>

    사이트관리

    diff --git a/egovframe-template-simple-react-contribution/src/components/leftmenu/EgovLeftNavAdmin.jsx b/egovframe-template-simple-react-contribution/src/components/leftmenu/EgovLeftNavAdmin.jsx index 923b57c..c1b6fe7 100644 --- a/egovframe-template-simple-react-contribution/src/components/leftmenu/EgovLeftNavAdmin.jsx +++ b/egovframe-template-simple-react-contribution/src/components/leftmenu/EgovLeftNavAdmin.jsx @@ -25,10 +25,10 @@ function EgovLeftNavAdmin({activeKey}) { - 사용자현황 + 사용자 관리
      -
    • (isActive ? "cur" : "")}>사용자 현황
    • +
    • (isActive ? "cur" : "")}>사용자 목록
    diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/config/BaseCodeMgt.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/config/BaseCodeMgt.jsx index 721f8f1..c15c435 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/config/BaseCodeMgt.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/config/BaseCodeMgt.jsx @@ -1,5 +1,4 @@ import React, {useRef} from 'react'; -import CODE from "../../../constants/code"; import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; import {Link} from "react-router-dom"; import URL from "../../../constants/url"; diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx index 4d0f45c..e35cae0 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx @@ -1,11 +1,179 @@ -import React from 'react'; +import React, {useCallback, useEffect, useRef, useState} from 'react'; +import {Link, useLocation} from "react-router-dom"; +import URL from "../../../constants/url"; +import Row from "react-bootstrap/Row"; +import Col from "react-bootstrap/Col"; + +import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; +import CODE from "../../../constants/code"; +import EgovPaging from "../../../components/EgovPaging"; +import * as EgovNet from "../../../api/egovFetch"; +import {itemIdxByPage} from "../../../utils/calc"; +import {NOTICE_BBS_ID} from "../../../config"; function List(props) { + const location = useLocation(); + + const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { pageIndex: 1, searchCnd: '0', searchWrd: '' });// 기존 조회에서 접근 했을 시 || 신규로 접근 했을 시 + const [listTag, setListTag] = useState([]); + const [paginationInfo, setPaginationInfo] = useState({}); + + const cndRef = useRef(); + const wrdRef = useRef(); + + const retrieveList = useCallback((searchCondition) => { + /* + EgovNet.requestFetch( + '/cop/bbs/selectBoardListAPI.do', + { + method: "POST", + headers: { + 'Content-type': 'application/json', + }, + body: JSON.stringify(searchCondition) + }, + (resp) => { + + setPaginationInfo(resp.result.paginationInfo); + + let mutListTag = []; + + const resultCnt = parseInt(resp.result.resultCnt); + const currentPageNo = resp.result.paginationInfo.currentPageNo; + const pageSize = resp.result.paginationInfo.pageSize; + + // 리스트 항목 구성 + resp.result.resultList.forEach(function (item, index) { + if (index === 0) mutListTag = []; // 목록 초기화 + const listIdx = itemIdxByPage(resultCnt , currentPageNo, pageSize, index); + + mutListTag.push( + +
    {listIdx}
    + {(item.replyLc * 1 ? true : false) && + <>
    + {item.nttSj} +
    } + {(item.replyLc * 1 ? false : true) && + <>
    + {item.nttSj} +
    } +
    {item.frstRegisterNm}
    +
    {item.frstRegisterPnttm}
    +
    {item.inqireCo}
    + + ); + }); + if(!mutListTag.length) mutListTag.push(

    검색된 결과가 없습니다.

    ); // 게시판 목록 초기값 + setListTag(mutListTag); + }, + function (resp) { + console.log("err response : ", resp); + } + ); + */ + },[]); + + useEffect(() => { + retrieveList(searchCondition); + }, []); + return (
    - List +
    +
    +
      +
    • Home
    • +
    • 사이트관리
    • +
    • 사용자 관리
    • +
    • 사용자 목록
    • +
    +
    +
    + {/* */} + +
    + {/* */} + +
    +

    사용자 목록

    +
    +

    + {/* */} +
    +
      +
    • + +
    • +
    • + +
    • +
    • + + { + wrdRef.current.value = e.target.value; + }} + /> + + +
    • + {/*{masterBoard.bbsUseFlag === 'Y' && +
    • + 등록 +
    • + }*/} +
    +
    + +
    +
    + 구분 + 아이디 + 이름 + 이메일 + 전화번호 + 상태 + 삭제 +
    +
    + {listTag} +
    +
    + +
    + { + retrieveList({ ...searchCondition, pageIndex: passedPage, searchCnd: cndRef.current.value, searchWrd: wrdRef.current.value }) + }} /> +
    +
    +
    +
    ); } diff --git a/egovframe-template-simple-react-contribution/src/pages/login/EgovLoginContent.jsx b/egovframe-template-simple-react-contribution/src/pages/login/EgovLoginContent.jsx index c475c1f..236a078 100644 --- a/egovframe-template-simple-react-contribution/src/pages/login/EgovLoginContent.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/login/EgovLoginContent.jsx @@ -22,7 +22,7 @@ function EgovLoginContent(props) { const location = useLocation(); console.log("EgovLoginContent [location] : ", location); - const [userInfo, setUserInfo] = useState({ username: '', password: 'default', email: '', userSe: 'USR'}); + const [userInfo, setUserInfo] = useState({ username: '', password: 'default', email: '', userSe: 'ACC_TP02'}); // eslint-disable-next-line no-unused-vars const [saveIDFlag, setSaveIDFlag] = useState(false); @@ -64,7 +64,7 @@ function EgovLoginContent(props) { useEffect(() => { let data = getLocalItem(KEY_ID); if (data !== null) { - setUserInfo({ username: data, password: 'default', email: '', userSe: 'USR' }); + setUserInfo({ username: data, password: 'default', email: '', userSe: 'ACC_TP02' }); } }, []); diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js b/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js index 6c377c2..312283c 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/viewer.js @@ -257,7 +257,7 @@ function CodeViewer(props) { item.full_content = item.full_content.replace('"+item.error_cd+"


    "+ "
    " + ""+ @@ -315,7 +315,7 @@ function CodeViewer(props) { docLinkActionAppend(el) bookmarkBtnActionAppend(el) checkboxActionAppend(el) - if(sessionUserSe === "ADM"){ + if(sessionUserSe === "ACC_TP01"){ errorTextActionAppend(el) errorEditSaveBtnActionAppend(el) errorEditCancelBtnActionAppend(el) diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java index cf326a1..48b889d 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java @@ -65,7 +65,7 @@ public class AdminConfigController extends BaseController { if(user == null){ resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode()); }else{ - if(!user.getUserSe().equals("ADM")){ + if(!user.getUserSe().equals("ACC_TP01")){ resultVO.setResultCode(ResponseCode.AUTH_ERROR.getCode()); resultVO.setResultMessage(ResponseCode.AUTH_ERROR.getMessage()); }else if(codeGrp.getGrpCd().isEmpty()){ @@ -103,7 +103,7 @@ public class AdminConfigController extends BaseController { if(user == null){ resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode()); }else{ - if(!user.getUserSe().equals("ADM")){ + if(!user.getUserSe().equals("ACC_TP01")){ resultVO.setResultCode(ResponseCode.AUTH_ERROR.getCode()); resultVO.setResultMessage(ResponseCode.AUTH_ERROR.getMessage()); }else if(codeGrp.getGrpCd().isEmpty()){ @@ -157,7 +157,7 @@ public class AdminConfigController extends BaseController { if(user == null){ resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode()); }else{ - if(!user.getUserSe().equals("ADM")){ + if(!user.getUserSe().equals("ACC_TP01")){ resultVO.setResultCode(ResponseCode.AUTH_ERROR.getCode()); resultVO.setResultMessage(ResponseCode.AUTH_ERROR.getMessage()); }else if(codeItem.getGrpCd()==null || codeItem.getGrpCd().isEmpty()){ @@ -195,7 +195,7 @@ public class AdminConfigController extends BaseController { if(user == null){ resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode()); }else{ - if(!user.getUserSe().equals("ADM")){ + if(!user.getUserSe().equals("ACC_TP01")){ resultVO.setResultCode(ResponseCode.AUTH_ERROR.getCode()); resultVO.setResultMessage(ResponseCode.AUTH_ERROR.getMessage()); }else if(codeItem.getGrpCd().isEmpty()){ diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/mapper/AdminConfigMapper.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/mapper/AdminConfigMapper.java deleted file mode 100644 index 42b97a3..0000000 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/mapper/AdminConfigMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dbnt.kcscbackend.admin.config.mapper; - -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface AdminConfigMapper { -} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java index 1e140d2..e42a300 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java @@ -2,7 +2,6 @@ package com.dbnt.kcscbackend.admin.config.service; import com.dbnt.kcscbackend.admin.config.entity.TcCodeGrp; import com.dbnt.kcscbackend.admin.config.entity.TcCodeItem; -import com.dbnt.kcscbackend.admin.config.mapper.AdminConfigMapper; import com.dbnt.kcscbackend.admin.config.repository.TcCodeGrpRepository; import com.dbnt.kcscbackend.admin.config.repository.TcCodeItemRepository; import lombok.RequiredArgsConstructor; @@ -18,7 +17,6 @@ public class AdminConfigService extends EgovAbstractServiceImpl { private final TcCodeGrpRepository codeGrpRepository; private final TcCodeItemRepository codeItemRepository; - private final AdminConfigMapper adminConfigMapper; public List selectCodeGrpList(){ return codeGrpRepository.findByUseYn("Y"); diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java new file mode 100644 index 0000000..9d18976 --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java @@ -0,0 +1,19 @@ +package com.dbnt.kcscbackend.admin.users; + + +import com.dbnt.kcscbackend.admin.users.service.AdminUsersService; +import com.dbnt.kcscbackend.config.common.BaseController; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/admin/users") +@Tag(name="AdminConfigController", description = "사이트관리 사용자관리 메뉴 컨트롤러") +public class AdminUsersController extends BaseController { + + private final AdminUsersService adminUsersService; + +} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/mapper/AdminUsersMapper.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/mapper/AdminUsersMapper.java new file mode 100644 index 0000000..da54d96 --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/mapper/AdminUsersMapper.java @@ -0,0 +1,26 @@ +package com.dbnt.kcscbackend.admin.users.mapper; + +import com.dbnt.kcscbackend.auth.entity.LoginVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 일반 로그인을 처리하는 비즈니스 구현 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + *
    + * << 개정이력(Modification Information) >>
    + *
    + *   수정일      수정자          수정내용
    + *  -------    --------    ---------------------------
    + *  2009.03.06  박지욱          최초 생성
    + *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
    + *
    + *  
    + */ +@Mapper +public interface AdminUsersMapper { + +} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java new file mode 100644 index 0000000..9cb9b69 --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java @@ -0,0 +1,9 @@ +package com.dbnt.kcscbackend.admin.users.service; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class AdminUsersService { +} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/LoginVO.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/LoginVO.java index 1f900f6..3c80696 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/LoginVO.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/LoginVO.java @@ -55,7 +55,7 @@ public class LoginVO implements Serializable{ @NotBlank(message = "비밀번호확인을 입력해주세요.") private String passwordChk; - @Schema(description = "사용자 구분", allowableValues = {"ADM", "USR"}, defaultValue = "USR") + @Schema(description = "사용자 구분", allowableValues = {"ACC_TP01", "ACC_TP02"}, defaultValue = "ACC_TP02") private String userSe; @Schema(description = "이름") diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java index 2deee3f..20c74ef 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/standardCode/StandardCodeController.java @@ -126,7 +126,7 @@ public class StandardCodeController extends BaseController { if(user == null){ resultVO.setResultCode(303); }else{ - if(!user.getUserSe().equals("ADM")){ + if(!user.getUserSe().equals("ACC_TP01")){ resultVO.setResultCode(403); }else{ standardCodeService.saveErrorCd(content); diff --git a/kcsc-back-end/src/main/resources/mybatisMapper/AdminConfigMapper.xml b/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml similarity index 62% rename from kcsc-back-end/src/main/resources/mybatisMapper/AdminConfigMapper.xml rename to kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml index ec20005..d3e40c7 100644 --- a/kcsc-back-end/src/main/resources/mybatisMapper/AdminConfigMapper.xml +++ b/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file