diff --git a/src/apis/Battle.js b/src/apis/Battle.js index 6490be9..f179458 100644 --- a/src/apis/Battle.js +++ b/src/apis/Battle.js @@ -3,10 +3,10 @@ import { Axios } from '../utils'; // 전투시스템 리스트 조회 -export const BattleEventView = async (token, landType, landData, userType, userData, landSize, status, startDate, endDate, order, size, currentPage) => { +export const BattleEventView = async (token, searchType, searchData, configId, rewardId, repeatType, status, roundCount, hotTime, startDate, endDate, order, size, currentPage) => { try { const res = await Axios.get( - `/api/v1/battle/event/list?land_type=${landType}&land_data=${landData}&user_type=${userType}&user_data=${userData}&land_size=${landSize}&status=${status}&start_dt=${startDate}&end_dt=${endDate}&orderby=${order}&page_no=${currentPage} + `/api/v1/battle/event/list?search_type=${searchType}&search_data=${searchData}&config_id=${configId}&reward_id=${rewardId}&repeat_type=${repeatType}&status=${status}&round_count=${roundCount}&hot_time=${hotTime}&start_dt=${startDate}&end_dt=${endDate}&orderby=${order}&page_no=${currentPage} &page_size=${size}`, { headers: { Authorization: `Bearer ${token}` }, diff --git a/src/assets/data/options.js b/src/assets/data/options.js index 8550b08..487e488 100644 --- a/src/assets/data/options.js +++ b/src/assets/data/options.js @@ -195,4 +195,12 @@ export const battleRepeatType = [ { value: 'THURSDAY', name: 'Week-목' }, { value: 'FRIDAY', name: 'Week-금' }, { value: 'SATURDAY', name: 'Week-토' }, -]; \ No newline at end of file +]; + +export const eventSearchType = [ + { value: 'ID', name: '이벤트 ID' }, + { value: 'NAME', name: '이벤트명' }, +]; + +export const battleEventRoundCount = [1,2,3,4,8,12,16]; +export const battleEventHotTime = [1,2,3,4,5,6,7,8]; \ No newline at end of file diff --git a/src/components/ServiceManage/modal/BattleEventModal.js b/src/components/ServiceManage/modal/BattleEventModal.js index 979dc03..e82c614 100644 --- a/src/components/ServiceManage/modal/BattleEventModal.js +++ b/src/components/ServiceManage/modal/BattleEventModal.js @@ -33,7 +33,12 @@ import { NONE, TYPE_MODIFY, TYPE_REGISTRY } from '../../../assets/data/adminCons import { landAuctionStatus, landAuctionStatusType, languageType, CurrencyType } from '../../../assets/data'; import { useModal } from '../../../utils/hook'; import { convertKTCDate } from '../../../utils'; -import { battleEventStatus, battleRepeatType } from '../../../assets/data/options'; +import { + battleEventHotTime, + battleEventRoundCount, + battleEventStatus, + battleRepeatType, +} from '../../../assets/data/options'; import DatePickerComponent from '../../common/Date/DatePickerComponent'; import { BattleEventModify, BattleEventSingleRegist } from '../../../apis/Battle'; import { battleEventStatusType } from '../../../assets/data/types'; @@ -341,7 +346,7 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se 라운드 수 setResultData({ ...resultData, round_count: e.target.value })} disabled={!isView('round')} width="100px"> - {[1,2,3,4,8,12,16].map((data, index) => ( + {battleEventRoundCount.map((data, index) => ( @@ -359,7 +364,7 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se 핫타임 setResultData({ ...resultData, hot_time: e.target.value })} disabled={!isView('hot')} width="100px"> - {[1,2,3,4,5,6,7,8].map((data, index) => ( + {battleEventHotTime.map((data, index) => ( diff --git a/src/components/ServiceManage/searchBar/BattleEventSearchBar.js b/src/components/ServiceManage/searchBar/BattleEventSearchBar.js index 6ae4512..2d471eb 100644 --- a/src/components/ServiceManage/searchBar/BattleEventSearchBar.js +++ b/src/components/ServiceManage/searchBar/BattleEventSearchBar.js @@ -2,19 +2,27 @@ import { TextInput, BtnWrapper, InputLabel, SelectInput, InputGroup } from '../. import Button from '../../common/button/Button'; import { SearchBarLayout, SearchPeriod } from '../../common/SearchBar'; import { useCallback, useEffect, useState } from 'react'; -import { landAuctionStatus, landSearchType, landSize, userSearchType } from '../../../assets/data'; import { BattleEventView } from '../../../apis/Battle'; +import { + battleEventHotTime, + battleEventRoundCount, + battleEventStatus, + battleRepeatType, + eventSearchType, +} from '../../../assets/data/options'; export const useBattleEventSearch = (token, initialPageSize) => { const [searchParams, setSearchParams] = useState({ - landType: 'ID', - landData: '', - userType: 'GUID', - userData: '', - landSize: 'ALL', + searchType: 'ID', + searchData: '', + configId: 'ALL', + rewardId: 'ALL', + repeatType: 'ALL', status: 'ALL', - auctionStartDate: '', - auctionEndDate: '', + roundCount: 'ALL', + hotTime: 'ALL', + startDate: '', + endDate: '', orderBy: 'DESC', pageSize: initialPageSize, currentPage: 1 @@ -32,14 +40,16 @@ export const useBattleEventSearch = (token, initialPageSize) => { setLoading(true); const result = await BattleEventView( token, - params.landType, - params.landData, - params.userType, - params.userData, - params.landSize, + params.searchType, + params.searchData, + params.configId, + params.rewardId, + params.repeatType, params.status, - params.auctionStartDate && new Date(params.auctionStartDate).toISOString(), - params.auctionEndDate && new Date(params.auctionEndDate).toISOString(), + params.roundCount, + params.hotTime, + params.startDate && new Date(params.startDate).toISOString(), + params.endDate && new Date(params.endDate).toISOString(), params.orderBy, params.pageSize, params.currentPage @@ -73,14 +83,16 @@ export const useBattleEventSearch = (token, initialPageSize) => { const handleReset = useCallback(async () => { const resetParams = { - landType: 'ID', - landData: '', - userType: 'GUID', - userData: '', - landSize: 'ALL', + searchType: 'ID', + searchData: '', + configId: 'ALL', + rewardId: 'ALL', + repeatType: 'ALL', status: 'ALL', - auctionStartDate: '', - auctionEndDate: '', + roundCount: 'ALL', + hotTime: 'ALL', + startDate: '', + endDate: '', orderBy: 'DESC', pageSize: initialPageSize, currentPage: 1 @@ -114,7 +126,7 @@ export const useBattleEventSearch = (token, initialPageSize) => { }; }; -const BattleEventSearchBar = ({ searchParams, onSearch, onReset }) => { +const BattleEventSearchBar = ({ searchParams, onSearch, onReset, configData, rewardData }) => { const handleSubmit = event => { event.preventDefault(); @@ -124,8 +136,8 @@ const BattleEventSearchBar = ({ searchParams, onSearch, onReset }) => { const searchList = [ <> - onSearch({landType: e.target.value })}> - {landSearchType.map((data, index) => ( + onSearch({searchType: e.target.value })}> + {eventSearchType.map((data, index) => ( @@ -133,39 +145,55 @@ const BattleEventSearchBar = ({ searchParams, onSearch, onReset }) => { onSearch({ landData: e.target.value })} + onChange={e => onSearch({ searchData: e.target.value })} /> , <> - 낙찰자 + 라운드 시간 - onSearch({userType: e.target.value })}> - {userSearchType.map((data, index) => ( + onSearch({ configId: e.target.value })}> + + {configData?.map((data, index) => ( ))} - onSearch({ userData: e.target.value })} - /> + + 배정 포드 + + onSearch({ rewardId: e.target.value })}> + + {rewardData?.map((data, index) => ( + + ))} + + + 라운드 수 + + onSearch({ roundCount: e.target.value })}> + + {battleEventRoundCount.map((data, index) => ( + + ))} + ]; const optionList = [ <> - 랜드크기 - onSearch({ landSize: e.target.value }, false)} > - {landSize.map((data, index) => ( + 반복 + onSearch({ repeatType: e.target.value }, false)} > + {battleRepeatType.map((data, index) => ( @@ -173,9 +201,9 @@ const BattleEventSearchBar = ({ searchParams, onSearch, onReset }) => { , <> - 경매상태 + 이벤트상태 onSearch({ status: e.target.value }, false)}> - {landAuctionStatus.map((data, index) => ( + {battleEventStatus.map((data, index) => ( @@ -183,12 +211,23 @@ const BattleEventSearchBar = ({ searchParams, onSearch, onReset }) => { , <> - 경매 일자 + 핫타임 + onSearch({ hotTime: e.target.value }, false)}> + + {battleEventHotTime.map((data, index) => ( + + ))} + + , + <> + 이벤트 기간 onSearch({ auctionStartDate: date }, false)} - endDate={searchParams.auctionEndDate} - handleEndDate={date => onSearch({ auctionEndDate: date }, false)} + startDate={searchParams.startDate} + handleStartDate={date => onSearch({ startDate: date }, false)} + endDate={searchParams.endDate} + handleEndDate={date => onSearch({ endDate: date }, false)} /> , <>,<>, diff --git a/src/pages/ServiceManage/BattleEvent.js b/src/pages/ServiceManage/BattleEvent.js index 9d9ae26..f5900b4 100644 --- a/src/pages/ServiceManage/BattleEvent.js +++ b/src/pages/ServiceManage/BattleEvent.js @@ -170,6 +170,8 @@ const BattleEvent = () => { } }} onReset={handleReset} + configData={battleConfigData} + rewardData={battleRewardData} />