모바일 어드민 모듈 사용 가이드
개요
캐모마일 모바일 사용 시 모바일 앱을 관리하는 어드민의 확장모듈이다.
앱 및 앱을 사용하는 디바이스 기기를 관리 및 앱을 배포할 수 있는 관리자 화면을 제공하며 등록된 앱을 배포하기 위한 앱스토어를 제공한다
사용법
어드민 프로젝트 생성(chamomile-admin-project)
dependency 등록(pom.xml)
<dependency> <groupId>net.lotte.chamomile.module</groupId> <artifactId>chamomile-mobile-admin</artifactId> </dependency>yml 파일 설정(application.yml)
chmm: mapper: refreshable-mapper-locations: - classpath*:/sql/service/mobile/*.xml # 모바일 classpath 추가 ... chmm: mobile: admin: controller: true # 모바일 어드민 API controller 비활성화 여부 file: /mobile # 모바일 앱 파일 저장 경로sql파일 실행을 통해 모바일 어드민 테이블 생성
-- 앱 정보 CREATE TABLE CHMM_APP_INFO ( -- 앱 ID APP_ID varchar(64) NOT NULL, -- 앱 명 APP_NAME varchar(128) NOT NULL, -- 앱 설명 APP_DESC varchar(2000) DEFAULT NULL, -- 사용 유무 USE_YN char(1) DEFAULT '1' NOT NULL, -- 기기 자동 승인 유무 DEVICE_AUTO_APRVL_YN char(1) DEFAULT '0', -- 앱 배포 타입 -- B2B : 기업용 앱 -- B2C : 대고객용 앱 APP_DEPLOY_TYPE varchar(3) DEFAULT 'B2B' NOT NULL, -- 입력자 ID SYS_INSERT_USER_ID varchar(255) NOT NULL, -- 입력 일시 SYS_INSERT_DTM datetime NOT NULL, -- 수정자 ID SYS_UPDATE_USER_ID varchar(255) DEFAULT NULL, -- 수정 일시 SYS_UPDATE_DTM datetime DEFAULT NULL, PRIMARY KEY (APP_ID) ); -- 앱 파일 정보 CREATE TABLE CHMM_APP_FILE_INFO ( -- 앱 ID APP_ID varchar(64) NOT NULL, -- 앱 버전 APP_VER varchar(32) NOT NULL, -- OS 타입 (android/iOS) OS_TYPE varchar(32) NOT NULL, -- OS 버전 정보 -- ,를 구분자로 하여 여러 버전 등록 가능 -- ex) 1.2,2.5,7.0 OS_VER_INFO varchar(200) NOT NULL, -- 파일 설명 FILE_DESC varchar(2000) DEFAULT NULL, -- 앱 파일 명 APP_FILE_NAME varchar(256) NOT NULL, -- 필수 업데이트 앱 파일 유뮤 REQUIRED_UPDATES char(1) DEFAULT '0', -- PLIST 파일명 PLIST_FILE_NAME varchar(256) DEFAULT NULL, -- 배포 단계 -- WAIT : 대기 -- TEST : 테스트 -- FINAL : 최종 DOWNLOAD_CNT int NOT NULL, DEPLOY_PHASE varchar(5) DEFAULT 'WAIT' NOT NULL, -- 입력자 ID SYS_INSERT_USER_ID varchar(255) NOT NULL, -- 입력 일시 SYS_INSERT_DTM datetime NOT NULL, -- 수정자 ID SYS_UPDATE_USER_ID varchar(255) DEFAULT NULL, -- 수정 일시 SYS_UPDATE_DTM datetime DEFAULT NULL, -- 업로드 앱 파일 코드 UPLOAD_APP_FILE_CODE varchar(100) DEFAULT NULL, -- 업로드 plist 파일 코드 UPLOAD_PLIST_FILE_CODE varchar(100) DEFAULT NULL, -- 업로드 로고 파일 코드 UPLOAD_LOGO_FILE_CODE varchar(100) DEFAULT NULL, PRIMARY KEY (APP_ID, APP_VER, OS_TYPE) ); -- 앱 기기 정보 CREATE TABLE CHMM_APP_DEVICE_INFO ( -- 앱 ID APP_ID varchar(64) NOT NULL, -- 기기 ID DEVICE_ID varchar(256) NOT NULL, -- 기기 명 -- 패드와 같이 핸드폰 번호가 없을 경우 이를 구분하기 위한 값. DEVICE_NAME varchar(128) DEFAULT NULL, -- 사용자 ID USER_ID varchar(128) DEFAULT NULL, -- OS 타입 (aos/ios) OS_TYPE varchar(32) NOT NULL COMMENT, -- OS 버전 OS_VER varchar(8) NOT NULL, -- 기기타입(PHONE/TAB) DEVICE_TYPE varchar(12) DEFAULT 'PHONE' NOT NULL, -- 승인 단계 -- WAIT : 대기 -- APRVL : 승인 -- -- APP_INFO의 DEVICE_AUTO_APRVL_YN값이 Y이면 APRVL로 INSERT APRVL_PHASE varchar(10) DEFAULT 'WAIT' NOT NULL, -- 사용 유무 USE_YN char(1) DEFAULT '1' NOT NULL, -- 분실 유무 LOSS_YN char(1) DEFAULT '0' NOT NULL, -- 공용기기 유무 PUBLIC_YN char(1) DEFAULT '0' NOT NULL, -- 입력자 ID SYS_INSERT_USER_ID varchar(255) NOT NULL, -- 입력 일시 SYS_INSERT_DTM datetime NOT NULL, -- 수정자 ID SYS_UPDATE_USER_ID varchar(255) DEFAULT NULL, -- 수정 일시 SYS_UPDATE_DTM datetime DEFAULT NULL, PRIMARY KEY (APP_ID, DEVICE_ID) );
모바일 어드민 API
앱 관리 API
캐모마일 모바일을 통해 개발한 모바일 어플리케이션에 대한 정보를 관리할 수 있다. 앱 관리를 통해 개발할 모바일 어플리케이션의 사용여부, 기기자동승인 여부, 앱 배포 타입 등의 정보를 관리 할 수 있다.

컨트롤러
URL | 파라미터 | 반환값 | 설명 |
---|---|---|---|
/chmm/admin/mobile/app/list | AppQuery request, Pageable pageable | Page\<AppVO> | 모바일 앱 목록을 반환(Page) |
/chmm/admin/mobile/app/create | AppVO request | 모바일 앱을 등록 | |
/chmm/admin/mobile/app/update | AppVO request | 모바일 앱을 수정 | |
/chmm/admin/mobile/app/delete | List\<AppVO> request | 모바일 앱을 삭제 |
서비스
클래스 | 메서드명 | 파라미터 | 반환값 | 설명 |
---|---|---|---|---|
AppService | getAppList | AppQuery request, Pageable pageable | Page\<AppVO> | 모바일 앱 목록을 반환(Page) |
createApp | AppVO request | 모바일 앱을 등록 | ||
updateApp | AppVO request | 모바일 앱을 수정 | ||
deleteApp | List\<AppVO> request | 모바일 앱을 삭제 |
앱 파일 관리 API
앱 관리에 등록한 앱의 앱 파일 정보를 조회, 등록, 수정, 삭제 관리 할 수 있다. .apk, .plist, .ipa 파일을 등록하고 수정, 배포 등의 관리를 할 수 있다.

컨트롤러
URL | 파라미터 | 반환값 | 설명 |
---|---|---|---|
/chmm/admin/mobile/app-file/list | AppFileQuery request, Pageable pageable | Page\<AppFileVO> | 모바일 앱 파일 목록을 반환(Page) |
/chmm/admin/mobile/app-file/create | AppFileVO request | 모바일 앱 파일을 등록 | |
/chmm/admin/mobile/app-file/update | AppFileVO request | 모바일 앱 파일을 수정 | |
/chmm/admin/mobile/app-file/delete | List\<AppFileVO> request | 모바일 앱 파일을 삭제 |
서비스
클래스 | 메서드명 | 파라미터 | 반환값 | 설명 |
---|---|---|---|---|
AppFileService | getAppFileList | AppFileQuery request, Pageable pageable | Page\<AppFileVO> | 모바일 앱 파일 목록을 반환(Page) |
createAppFile | AppFileVO request | 모바일 앱 파일을 등록 | ||
updateAppFile | AppFileVO request | 모바일 앱 파일을 수정 | ||
deleteAppFile | List\<AppFileVO> request | 모바일 앱 파일을 삭제 |
디바이스 관리 API
모바일 기기관리 화면에서는 앱 별로 등록된 모바일 기기를 관리할 수 있다. 앱 다운로드 후 최초 실행시 기기등록 API를 거치게 되며, 이를 통해 기기 아이디(UUID 기기 식별번호) 정보와 OS버전 정보, 기기타입 정보등을 등록하고 원격에서 관리할 수 있다.

컨트롤러
URL | 파라미터 | 반환값 | 설명 |
---|---|---|---|
/chmm/admin/mobile/app-device/list | AppDeviceQuery request, Pageable pageable | Page\<AppDeviceVO> | 디바이스 목록을 반환(Page) |
/chmm/admin/mobile/app-device/update | AppDeviceVO request | 디바이스를 수정 | |
/chmm/admin/mobile/app-device/delete | List\<AppDeviceVO> request | 디바이스를 삭제 | |
/chmm/admin/mobile/file/upload | HttpServletRequest req, MobileFileUploadVO mobileFileUploadVO, MultipartFile file | String | 파일 업로드 |
/chmm/admin/mobile/file/download | String fileCode | ResponseEntity<byte[]> | 파일 다운로드 |
/chmm/admin/mobile/file/delete/ | String fileCode | 파일 삭제 | |
/appstore/app/list | AppstoreQuery request, Pageable pageable | Page\<AppstoreVO> | 다운로드 가능한 앱 목록을 반환(Page) |
/appstore/file/ | String fileCode, CmmFileMetadataVO cmmFileMetadataVO | ResponseEntity<byte[]> | 파일 다운로드 |
서비스
클래스 | 메서드명 | 파라미터 | 반환값 | 설명 |
---|---|---|---|---|
AppDeviceService | getAppDeviceListData | AppDeviceQuery request, Pageable pageable | Page\<AppDeviceVO> | 디바이스 목록을 반환(Page) |
updateAppDevice | AppDeviceVO request | 디바이스를 수정 | ||
deleteAppDevice | List\<AppDeviceVO> request | 디바이스를 삭제 | ||
AppstoreService | getAppList | AppstoreQuery request, Pageable pageable | Page\<AppstoreVO> | 다운로드 가능한 앱 목록을 반환(Page) |
downloadApp | String fileCode, CmmFileMetadataVO cmmFileMetadataVO | ResponseEntity<byte[]> | 파일 다운로드 |
앱스토어 API
앱스토어는 앱을 배포하기 위한 서버이며, 앱 업로드 및 관리기능은 어드민을 통해 수행한다.

컨트롤러
URL | 파라미터 | 반환값 | 설명 |
---|---|---|---|
/appstore/app/list | AppstoreQuery request, Pageable pageable | Page\<AppstoreVO> | 다운로드 가능한 앱 목록을 반환(Page) |
/appstore/file/ | String fileCode, CmmFileMetadataVO cmmFileMetadataVO | ResponseEntity<byte[]> | 파일 다운로드 |
서비스
클래스 | 메서드명 | 파라미터 | 반환값 | 설명 |
---|---|---|---|---|
AppstoreService | getAppList | AppstoreQuery request, Pageable pageable | Page\<AppstoreVO> | 다운로드 가능한 앱 목록을 반환(Page) |
downloadApp | String fileCode, CmmFileMetadataVO cmmFileMetadataVO | ResponseEntity<byte[]> | 파일 다운로드 |