전투시스템 스케줄러 game mode 방식 변경
This commit is contained in:
@@ -129,4 +129,21 @@ export const BattleRewardView = async (token) => {
|
|||||||
throw new Error('BattleRewardView Error', e);
|
throw new Error('BattleRewardView Error', e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const GameModeView = async (token) => {
|
||||||
|
try {
|
||||||
|
const res = await Axios.get(
|
||||||
|
`/api/v1/battle/game-mode/list`,
|
||||||
|
{
|
||||||
|
headers: { Authorization: `Bearer ${token}` },
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
return res.data.data.game_mode_list;
|
||||||
|
} catch (e) {
|
||||||
|
if (e instanceof Error) {
|
||||||
|
throw new Error('GameModeView Error', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -33,7 +33,7 @@ import { isValidDayRange } from '../../utils/date';
|
|||||||
import { useAlert } from '../../context/AlertProvider';
|
import { useAlert } from '../../context/AlertProvider';
|
||||||
import { useLoading } from '../../context/LoadingProvider';
|
import { useLoading } from '../../context/LoadingProvider';
|
||||||
|
|
||||||
const BattleEventModal = ({ modalType, detailView, handleDetailView, content, setDetailData, configData, rewardData }) => {
|
const BattleEventModal = ({ modalType, detailView, handleDetailView, content, setDetailData, configData, rewardData, gameModeData }) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const token = sessionStorage.getItem('token');
|
const token = sessionStorage.getItem('token');
|
||||||
const { showToast, showModal } = useAlert();
|
const { showToast, showModal } = useAlert();
|
||||||
@@ -46,7 +46,8 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se
|
|||||||
if(modalType === TYPE_MODIFY && content && Object.keys(content).length > 0){
|
if(modalType === TYPE_MODIFY && content && Object.keys(content).length > 0){
|
||||||
setResultData({
|
setResultData({
|
||||||
group_id: content.group_id,
|
group_id: content.group_id,
|
||||||
event_id: content.event_id,
|
id: content.id,
|
||||||
|
event_id: content.id,
|
||||||
event_name: content.event_name,
|
event_name: content.event_name,
|
||||||
repeat_type: content.repeat_type,
|
repeat_type: content.repeat_type,
|
||||||
config_id: content.config_id,
|
config_id: content.config_id,
|
||||||
@@ -54,6 +55,7 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se
|
|||||||
round_count: content.round_count,
|
round_count: content.round_count,
|
||||||
hot_time: content.hot_time,
|
hot_time: content.hot_time,
|
||||||
round_time: content.round_time,
|
round_time: content.round_time,
|
||||||
|
game_mode_id: content.game_mode_id,
|
||||||
status: content.status,
|
status: content.status,
|
||||||
event_start_dt: convertKTCDate(content.event_start_dt),
|
event_start_dt: convertKTCDate(content.event_start_dt),
|
||||||
event_end_dt: content.event_end_dt,
|
event_end_dt: content.event_end_dt,
|
||||||
@@ -262,6 +264,7 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se
|
|||||||
case "reward":
|
case "reward":
|
||||||
case "round":
|
case "round":
|
||||||
case "hot":
|
case "hot":
|
||||||
|
case "mode":
|
||||||
return modalType === TYPE_REGISTRY || (modalType === TYPE_MODIFY &&(content?.status === battleEventStatusType.stop));
|
return modalType === TYPE_REGISTRY || (modalType === TYPE_MODIFY &&(content?.status === battleEventStatusType.stop));
|
||||||
default:
|
default:
|
||||||
return modalType === TYPE_MODIFY && (content?.status !== battleEventStatusType.stop);
|
return modalType === TYPE_MODIFY && (content?.status !== battleEventStatusType.stop);
|
||||||
@@ -326,14 +329,14 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se
|
|||||||
}
|
}
|
||||||
</FormRowGroup>
|
</FormRowGroup>
|
||||||
<FormRowGroup>
|
<FormRowGroup>
|
||||||
<FormLabel>라운드 시간</FormLabel>
|
{/*<FormLabel>라운드 시간</FormLabel>*/}
|
||||||
<SelectInput value={resultData.config_id} onChange={handleConfigChange} disabled={!isView('config')} width="200px">
|
{/*<SelectInput value={resultData.config_id} onChange={handleConfigChange} disabled={!isView('config')} width="200px">*/}
|
||||||
{configData && configData?.map((data, index) => (
|
{/* {configData && configData?.map((data, index) => (*/}
|
||||||
<option key={index} value={data.id}>
|
{/* <option key={index} value={data.id}>*/}
|
||||||
{data.desc}({data.id})
|
{/* {data.desc}({data.id})*/}
|
||||||
</option>
|
{/* </option>*/}
|
||||||
))}
|
{/* ))}*/}
|
||||||
</SelectInput>
|
{/*</SelectInput>*/}
|
||||||
<FormLabel>라운드 수</FormLabel>
|
<FormLabel>라운드 수</FormLabel>
|
||||||
<SelectInput value={resultData.round_count} onChange={e => setResultData({ ...resultData, round_count: e.target.value })} disabled={!isView('round')} width="100px">
|
<SelectInput value={resultData.round_count} onChange={e => setResultData({ ...resultData, round_count: e.target.value })} disabled={!isView('round')} width="100px">
|
||||||
{battleEventRoundCount.map((data, index) => (
|
{battleEventRoundCount.map((data, index) => (
|
||||||
@@ -344,11 +347,19 @@ const BattleEventModal = ({ modalType, detailView, handleDetailView, content, se
|
|||||||
</SelectInput>
|
</SelectInput>
|
||||||
</FormRowGroup>
|
</FormRowGroup>
|
||||||
<FormRowGroup>
|
<FormRowGroup>
|
||||||
<FormLabel>배정 포드</FormLabel>
|
{/*<FormLabel>배정 포드</FormLabel>*/}
|
||||||
<SelectInput value={resultData.reward_group_id} onChange={e => setResultData({ ...resultData, reward_group_id: e.target.value })} disabled={!isView('reward')} width="200px">
|
{/*<SelectInput value={resultData.reward_group_id} onChange={e => setResultData({ ...resultData, reward_group_id: e.target.value })} disabled={!isView('reward')} width="200px">*/}
|
||||||
{rewardData && rewardData?.map((data, index) => (
|
{/* {rewardData && rewardData?.map((data, index) => (*/}
|
||||||
<option key={index} value={data.group_id}>
|
{/* <option key={index} value={data.group_id}>*/}
|
||||||
{data.desc}({data.group_id})
|
{/* {data.desc}({data.group_id})*/}
|
||||||
|
{/* </option>*/}
|
||||||
|
{/* ))}*/}
|
||||||
|
{/*</SelectInput>*/}
|
||||||
|
<FormLabel>게임 모드</FormLabel>
|
||||||
|
<SelectInput value={resultData.game_mode_id} onChange={e => setResultData({ ...resultData, game_mode_id: e.target.value })} disabled={!isView('mode')} width="200px">
|
||||||
|
{gameModeData && gameModeData?.map((data, index) => (
|
||||||
|
<option key={index} value={data.id}>
|
||||||
|
{data.desc}({data.id})
|
||||||
</option>
|
</option>
|
||||||
))}
|
))}
|
||||||
</SelectInput>
|
</SelectInput>
|
||||||
@@ -421,6 +432,7 @@ export const initData = {
|
|||||||
reward_group_id: 1,
|
reward_group_id: 1,
|
||||||
round_count: 1,
|
round_count: 1,
|
||||||
hot_time: 1,
|
hot_time: 1,
|
||||||
|
game_mode_id: 1,
|
||||||
event_start_dt: '',
|
event_start_dt: '',
|
||||||
event_end_dt: ''
|
event_end_dt: ''
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ export const useBattleEventSearch = (token, initialPageSize) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const BattleEventSearchBar = ({ searchParams, onSearch, onReset, configData, rewardData }) => {
|
const BattleEventSearchBar = ({ searchParams, onSearch, onReset, configData, rewardData, gameModeData }) => {
|
||||||
const handleSubmit = event => {
|
const handleSubmit = event => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
@@ -153,22 +153,33 @@ const BattleEventSearchBar = ({ searchParams, onSearch, onReset, configData, rew
|
|||||||
</InputGroup>
|
</InputGroup>
|
||||||
</>,
|
</>,
|
||||||
<>
|
<>
|
||||||
<InputLabel>라운드 시간</InputLabel>
|
{/*<InputLabel>라운드 시간</InputLabel>*/}
|
||||||
|
{/*<InputGroup>*/}
|
||||||
|
{/* <SelectInput value={searchParams.configId} onChange={e => onSearch({ configId: e.target.value })}>*/}
|
||||||
|
{/* <option value="ALL">전체</option>*/}
|
||||||
|
{/* {configData?.map((data, index) => (*/}
|
||||||
|
{/* <option key={index} value={data.id}>*/}
|
||||||
|
{/* {data.desc}*/}
|
||||||
|
{/* </option>*/}
|
||||||
|
{/* ))}*/}
|
||||||
|
{/* </SelectInput>*/}
|
||||||
|
{/*</InputGroup>*/}
|
||||||
|
{/*<InputLabel>배정 포드</InputLabel>*/}
|
||||||
|
{/*<InputGroup>*/}
|
||||||
|
{/* <SelectInput value={searchParams.rewardId} onChange={e => onSearch({ rewardId: e.target.value })}>*/}
|
||||||
|
{/* <option value='ALL'>전체</option>*/}
|
||||||
|
{/* {rewardData?.map((data, index) => (*/}
|
||||||
|
{/* <option key={index} value={data.id}>*/}
|
||||||
|
{/* {data.desc}*/}
|
||||||
|
{/* </option>*/}
|
||||||
|
{/* ))}*/}
|
||||||
|
{/* </SelectInput>*/}
|
||||||
|
{/*</InputGroup>*/}
|
||||||
|
<InputLabel>게임모드</InputLabel>
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<SelectInput value={searchParams.configId} onChange={e => onSearch({ configId: e.target.value })}>
|
<SelectInput value={searchParams.game_mode_id} onChange={e => onSearch({ game_mode_id: e.target.value })}>
|
||||||
<option value="ALL">전체</option>
|
|
||||||
{configData?.map((data, index) => (
|
|
||||||
<option key={index} value={data.id}>
|
|
||||||
{data.desc}
|
|
||||||
</option>
|
|
||||||
))}
|
|
||||||
</SelectInput>
|
|
||||||
</InputGroup>
|
|
||||||
<InputLabel>배정 포드</InputLabel>
|
|
||||||
<InputGroup>
|
|
||||||
<SelectInput value={searchParams.rewardId} onChange={e => onSearch({ rewardId: e.target.value })}>
|
|
||||||
<option value='ALL'>전체</option>
|
<option value='ALL'>전체</option>
|
||||||
{rewardData?.map((data, index) => (
|
{gameModeData?.map((data, index) => (
|
||||||
<option key={index} value={data.id}>
|
<option key={index} value={data.id}>
|
||||||
{data.desc}
|
{data.desc}
|
||||||
</option>
|
</option>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
BattleEventDelete,
|
BattleEventDelete,
|
||||||
BattleEventDetailView, BattleEventStop,
|
BattleEventDetailView, BattleEventStop,
|
||||||
BattleEventView,
|
BattleEventView,
|
||||||
BattleRewardView,
|
BattleRewardView, GameModeView,
|
||||||
} from '../../apis/Battle';
|
} from '../../apis/Battle';
|
||||||
|
|
||||||
import { authList } from '../../store/authList';
|
import { authList } from '../../store/authList';
|
||||||
@@ -91,6 +91,10 @@ const BattleEvent = () => {
|
|||||||
data: battleRewardData
|
data: battleRewardData
|
||||||
} = useDataFetch(() => BattleRewardView(token), [token]);
|
} = useDataFetch(() => BattleRewardView(token), [token]);
|
||||||
|
|
||||||
|
const {
|
||||||
|
data: gameModeData
|
||||||
|
} = useDataFetch(() => GameModeView(token), [token]);
|
||||||
|
|
||||||
const endTime = (start_dt, operation_time) =>{
|
const endTime = (start_dt, operation_time) =>{
|
||||||
const startDate = new Date(start_dt);
|
const startDate = new Date(start_dt);
|
||||||
|
|
||||||
@@ -262,6 +266,7 @@ const BattleEvent = () => {
|
|||||||
onReset={handleReset}
|
onReset={handleReset}
|
||||||
configData={battleConfigData}
|
configData={battleConfigData}
|
||||||
rewardData={battleRewardData}
|
rewardData={battleRewardData}
|
||||||
|
gameModeData={gameModeData}
|
||||||
/>
|
/>
|
||||||
</FormWrapper>
|
</FormWrapper>
|
||||||
<ViewTableInfo total={dataList?.total} total_all={dataList?.total_all} handleOrderBy={handleOrderByChange} handlePageSize={handlePageSizeChange}>
|
<ViewTableInfo total={dataList?.total} total_all={dataList?.total_all} handleOrderBy={handleOrderByChange} handlePageSize={handlePageSizeChange}>
|
||||||
@@ -296,8 +301,9 @@ const BattleEvent = () => {
|
|||||||
<th width="100">이벤트 시작시간(KST)</th>
|
<th width="100">이벤트 시작시간(KST)</th>
|
||||||
<th width="100">이벤트 종료시간(KST)</th>
|
<th width="100">이벤트 종료시간(KST)</th>
|
||||||
<th width="90">이벤트 상태</th>
|
<th width="90">이벤트 상태</th>
|
||||||
<th width="90">라운드 시간</th>
|
<th width="90">게임모드</th>
|
||||||
<th width="90">배정포드</th>
|
{/*<th width="90">라운드 시간</th>*/}
|
||||||
|
{/*<th width="90">배정포드</th>*/}
|
||||||
<th width="70">라운드 수</th>
|
<th width="70">라운드 수</th>
|
||||||
<th width="70">핫타임</th>
|
<th width="70">핫타임</th>
|
||||||
<th width="100">확인 / 수정</th>
|
<th width="100">확인 / 수정</th>
|
||||||
@@ -313,7 +319,7 @@ const BattleEvent = () => {
|
|||||||
checked={isRowSelected(battle.id)} />
|
checked={isRowSelected(battle.id)} />
|
||||||
</td>
|
</td>
|
||||||
<td>{battle.group_id}</td>
|
<td>{battle.group_id}</td>
|
||||||
<td>{battle.event_id}</td>
|
<td>{battle.id}</td>
|
||||||
<td>{battle.event_name}</td>
|
<td>{battle.event_name}</td>
|
||||||
<StatusWapper>
|
<StatusWapper>
|
||||||
<StatusLabel $status={battle.repeat_type}>
|
<StatusLabel $status={battle.repeat_type}>
|
||||||
@@ -329,8 +335,9 @@ const BattleEvent = () => {
|
|||||||
{battleEventStatus.find(data => data.value === battle.status).name}
|
{battleEventStatus.find(data => data.value === battle.status).name}
|
||||||
</StatusLabel>
|
</StatusLabel>
|
||||||
</StatusWapper>
|
</StatusWapper>
|
||||||
<td>{secondToMinutes(battle.round_time)}분</td>
|
<td>{battle.game_mode_id}</td>
|
||||||
<td>{battle.reward_group_id}</td>
|
{/*<td>{secondToMinutes(battle.round_time)}분</td>*/}
|
||||||
|
{/*<td>{battle.reward_group_id}</td>*/}
|
||||||
<td>{battle.round_count}</td>
|
<td>{battle.round_count}</td>
|
||||||
<td>{battle.hot_time}</td>
|
<td>{battle.hot_time}</td>
|
||||||
<td>
|
<td>
|
||||||
@@ -359,6 +366,7 @@ const BattleEvent = () => {
|
|||||||
setDetailData={setDetailData}
|
setDetailData={setDetailData}
|
||||||
configData={battleConfigData}
|
configData={battleConfigData}
|
||||||
rewardData={battleRewardData}
|
rewardData={battleRewardData}
|
||||||
|
gameModeData={gameModeData}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<LogDetailModal
|
<LogDetailModal
|
||||||
|
|||||||
Reference in New Issue
Block a user