- `tb_notice`, `tb_notice_file` 테이블과 관련된 DDL 및 DML 삭제
[DB-DDL]
- `tb_user_session` 테이블 생성
* 사용자 세션 정보를 저장하기 위한 테이블 정의
* 주요 컬럼: `SESSION_ID`, `USER_ID`, `LOGIN_DT`, `LAST_ACCESS_DT`, 등
[Java]
- `MessageConstants.java` 생성
* 시스템 메시지 상수 클래스 추가
* 로그인, 권한, 공통 메시지 등 상세 분류
* 다양한 시스템 메시지 추가 및 관리
- `UserSessionVO.java` 생성
* 사용자 세션 정보를 표현하는 VO 클래스
* `tb_user_session` 테이블과 매핑
* 주요 필드: `sessionId`, `userId`, `loginDt`, `lastAccessDt` 등
[Interceptor]
- `AuthInterceptor.java` 수정
* 동시 접속 제한 구현
* 사용자 세션 정보를 DB에서 확인하고 유효하지 않은 세션 즉시 무효화
* AJAX 요청 시 세션 만료 처리 로직 추가
- **mypage.jsp 및 edit.jsp**
- 마이페이지 뷰 구현: 사용자 정보 표시.
- 사용자 정보 수정 폼 구현: 계정, 이메일, 주소 등 수정 가능.
- 비밀번호 변경 기능 추가: 팝업으로 제공.
- **MypageController**
- 마이페이지 조회 (/mypage.do) 및 수정 화면 진입 (/mypage/edit.do) 로직 추가.
- 비밀번호 변경 팝업 및 확인/변경 API 구현 (/mypage/password.do, /mypage/password.ajax).
- **MypageService 및 MypageServiceImpl**
- 사용자 정보 조회, 수정 로직 구현.
- 현재 비밀번호 확인 및 새 비밀번호 변경 기능 추가.
- 세션 동기화 로직 포함.
- **JavaScript**
- 동적 코드 로드 및 폼 유효성 검증 로직 추가.
- 주소 검색 팝업 및 콜백 처리 구현.
- **UserMapper 연동**
- 사용자 정보 및 비밀번호 수정 쿼리 호출.
사용자들은 이제 자신의 정보를 조회, 수정 및 비밀번호 변경 가능.
DB 변경:
- `NOTICE_ID` 테이블의 `WRITER_ID` 컬럼을 `WRITER_NAME`으로 변경 및 길이 확장 (12 → 50)
- 샘플 데이터 및 게시물 초기화 쿼리 제거 (`bbs_notice_dml.sql` 삭제)
MyBatis 변경:
- 작성자 ID → 작성자 이름으로 조회 필드 변경
- RGTR, MDFR 이름 및 계정 추가 노출 처리
- 수정 시 작성자 이름 업데이트 로직 추가
Java 변경:
- VO 수정: `WRITER_ID` → `WRITER_NAME`, 등록자(rgtr), 수정자(mdfr) 이름/계정 필드 추가
- 서비스 계층 로직 개선: 로그인 사용자 정보 연계 (작성자 및 수정자 자동 등록)
- 컨트롤러 수정: 세션의 현재 유저 정보 반영 및 초기 값 구성
UI 변경:
- 게시판 조회 및 상세 화면에서 작성자 이름 표시 추가
- 등록자 및 수정자 정보 표시 추가
설정 변경:
- 기본 게시판 작성자 설정(application.yml에 추가)
* `list.jsp` 삭제:
- 코드 마스터 관리 화면 제거
- 관련 JS 기능 및 이벤트 핸들러 코드 삭제
* VO 클래스 추가 및 수정:
- `CodeGroupVO` 추가: 공통 코드 그룹 정보 VO 클래스
- `CodeGroupModifiedDataVO` 추가: 코드 그룹의 생성/수정/삭제 일괄 처리를 위한 VO 클래스
* DB 변경 사항:
- `maria/자주쓰는거.sql` 추가: 기본 메뉴 및 역할-메뉴 매핑 초기화 SQL 추가
- `dml/menu_dml.sql`, `dml/relation_dml.sql` 수정:
- 코드 관리 메뉴 구조 변경
- 불필요한 메뉴 및 매핑 제거
- `코드 통합 관리` 메뉴 링크 및 패턴 통합
* URL 검증 기능 개선:
- `xit-validation.js` 수정:
- 절대 및 상대 URL 검증 로직 추가
- 디버깅용 로깅 코드 추가 (콘솔 출력)
* `manage.jsp` 수정:
- 코드 마스터 API 호출 경로를 코드 그룹 관련 API로 변경
- egov.tb_code_master와 tb_code_detail 테이블에 코드 데이터 추가
- 코드 그룹 생성: DEPT_CD(부서), NSTT_CD(소속기관), ORG_ID(조직), USER_STTS(사용자 상태)
- 상세 코드 구성: 부서, 소속기관, 조직, 사용자 상태 정보 포함
src/main/webapp/WEB-INF/views/system/code/detail/edit.jsp:
- 코드 상세 수정 화면 구현
- HTML 표시 및 폼 제출 처리
- 사용여부, 코드설명, 코드명 등 입력 필드 추가
- 사용자 인터페이스에서 실시간 데이터 Ajax 저장 및 검증 기능 추가
src/main/webapp/WEB-INF/views/system/code/master/edit.jsp:
- 코드 마스터 수정 화면 구성
- 코드 그룹 정보 수정 가능 (코드그룹명, 설명, 사용여부)
- 데이터 처리 및 폼 유효성 검증 기능 구현
src/main/webapp/WEB-INF/views/common/code/master/list.jsp:
- 코드 마스터 관리 화면 추가
- 검색 기능, 엑셀 저장 및 등록 버튼 포함
- 기존 코드 그룹 정보 표시 및 수정 페이지로 연결 가능
- 데이터 조회 및 렌더링을 위한 Ajax 호출 구현
- 그룹 관리 관련 파일 삭제
- `src/main/webapp/WEB-INF/views/system/group/edit.jsp` 그룹 수정 페이지 삭제
- `src/main/webapp/WEB-INF/views/system/group/register.jsp` 그룹 등록 페이지 삭제
- 역할 관리 관련 파일 삭제
- `src/main/webapp/WEB-INF/views/system/role/edit.jsp` 역할 수정 페이지 삭제
- `src/main/webapp/WEB-INF/views/system/role/register.jsp` 역할 등록 페이지 삭제
- 각 파일 내 주요 제거된 내용
- 그룹 및 역할의 수정/등록 UI 및 유효성 검증 스크립트
- 공통적으로 AJAX 요청을 통해 수정 및 등록을 처리하는 로직 포함
- `menu-path.js` 파일 추가: content_header에 현재 메뉴 경로 표시 기능 구현
- `path-functions.tld` 파일 추가: URL 매칭을 위한 커스텀 함수 정의
- `PathMatcherUtil.java` 클래스 추가: URL 패턴 매칭 유틸 클래스 구현
- 스타일 수정:
- `xit-common.css` 추가: 버튼 스타일 및 커서 설정
- 레이아웃에 공통 스타일(`xit-common.css`) 적용 (`login/default.jsp`, `base/default.jsp`)
- JSP 메뉴 활성화 로직 강화:
- URL 패턴 기반 활성화 여부 확인 기능 구현 (`base/menu.jsp`)
- AntPathMatcher를 활용한 URL 패턴 매칭 로직 반영
- 엔터키 검색 로직 추가:
- 검색어 입력 시 엔터키로 검색 버튼 동작 (`system/role/list.jsp`, `system/group/list.jsp`, `system/user/list.jsp`)
- 설정 및 SQL 수정:
- MyBatis `UserMapper_maria.xml`: 잘못된 필드 참조 수정 (`USE_YN` → `u.USE_YN`)
- `relation_dml.sql`: 새로운 ROLE-MENU 데이터 추가
- `menu_dml.sql`: URL 패턴 정교화 및 수정 (`**.do`, `**/*.ajax` 등)
- 기타:
- `user/list.jsp`: 삭제 버튼 제거
- `AuthInterceptor.java`: URL 패턴 디버깅 로깅 추가
- 공지사항 관련 테이블 생성
- `tb_notice`: 공지사항 정보 저장.
- `tb_notice_file`: 공지사항 첨부 파일 관리.
- 코드 관리 테이블 생성
- `tb_code_master`: 코드 그룹 정보 관리.
- `tb_code_detail`: 세부 코드 정보 관리.
- 사용자 그룹 테이블 및 데이터 추가
- `tb_group`: 사용자 그룹 정보 테이블 생성.
- Admin, Visitor 등 기본 그룹 데이터 삽입.
- 메뉴 관리 테이블 및 데이터 추가
- `tb_menu`: 메뉴 정보 관리 테이블 생성.
- ROOT, 홈, 게시판 관리, 시스템 관리 등 기본 메뉴 데이터 삽입.
- 역할/권한 테이블 및 매핑 데이터 추가
- `tb_role`: 역할 정보 관리 테이블 생성.
- Visitor, Admin 등 기본 역할 데이터 추가.
- `tb_role_menu`: 역할-메뉴 매핑 테이블 생성.
- `tb_group_role`: 그룹-역할 매핑 테이블 생성.
- 사용자 테이블 추가
- `tb_user`: 사용자 정보 관리 테이블 생성.
- 기본 사용자 (시스템 관리자) 데이터 삽입.
- 관계형 시퀀스 생성
- 공지사항, 파일, 사용자, 메뉴 ID 등의 시퀀스 추가.
- 데이터 삭제 쿼리 포함
- 그룹, 메뉴, 역할 관련 모든 기존 데이터 삭제 후 새로운 데이터 추가.