Commit 6117314c authored by liming's avatar liming

系列赛轮次发布与删除

parent 7f406f8a
...@@ -6,6 +6,7 @@ import com.antai.sport.http.server.management.api.business.series.dto.*; ...@@ -6,6 +6,7 @@ import com.antai.sport.http.server.management.api.business.series.dto.*;
import com.antai.sport.http.server.management.api.business.series.service.SeriesService; import com.antai.sport.http.server.management.api.business.series.service.SeriesService;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundListVO;
import com.antai.sport.http.server.repository.series.entity.Series; import com.antai.sport.http.server.repository.series.entity.Series;
import com.antai.sport.http.server.repository.sys.entity.SysUser; import com.antai.sport.http.server.repository.sys.entity.SysUser;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -90,4 +91,21 @@ public class SeriesController { ...@@ -90,4 +91,21 @@ public class SeriesController {
return success(); return success();
} }
@GetMapping("round/list/{seriesId}")
public ResponseEntity<Result<List<SeriesRoundListVO>>> getRoundListBySeriesId(@PathVariable("seriesId") Long seriesId) {
return success(seriesService.getRoundListBySeriesId(seriesId));
}
@DeleteMapping("round/{roundId}")
public ResponseEntity<Result> deleteRound(@PathVariable("roundId") Long roundId) {
seriesService.deleteRound(roundId);
return success();
}
@PutMapping("round/{roundId}")
public ResponseEntity<Result> changeRoundStatus(@PathVariable("roundId") Long roundId) {
seriesService.changeRoundStatus(roundId);
return success();
}
} }
...@@ -2,6 +2,7 @@ package com.antai.sport.http.server.management.api.business.series.mapper; ...@@ -2,6 +2,7 @@ package com.antai.sport.http.server.management.api.business.series.mapper;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO; import com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundListVO;
import com.antai.sport.http.server.repository.series.entity.SeriesRound; import com.antai.sport.http.server.repository.series.entity.SeriesRound;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -12,5 +13,7 @@ public interface SeriesBusinessMapper { ...@@ -12,5 +13,7 @@ public interface SeriesBusinessMapper {
IPage<SeriesListVO> getSeriesList(IPage<SeriesListVO> pageParam, @Param("param") SeriesListQueryDTO param); IPage<SeriesListVO> getSeriesList(IPage<SeriesListVO> pageParam, @Param("param") SeriesListQueryDTO param);
List<SeriesRound> getRoundBySeriesId(@Param("seriesId") Long SeriesId); List<SeriesRound> getRoundBySeriesId(@Param("seriesId") Long seriesId);
List<SeriesRoundListVO> getRoundListBySeriesId(@Param("seriesId") Long seriesId);
} }
...@@ -7,6 +7,7 @@ import com.antai.sport.http.server.management.api.business.series.mapper.SeriesB ...@@ -7,6 +7,7 @@ import com.antai.sport.http.server.management.api.business.series.mapper.SeriesB
import com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO; import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundListVO;
import com.antai.sport.http.server.management.api.business.simplematch.dto.vo.MapPathVO; import com.antai.sport.http.server.management.api.business.simplematch.dto.vo.MapPathVO;
import com.antai.sport.http.server.repository.map.entity.Map; import com.antai.sport.http.server.repository.map.entity.Map;
import com.antai.sport.http.server.repository.map.entity.MapPath; import com.antai.sport.http.server.repository.map.entity.MapPath;
...@@ -237,4 +238,34 @@ public class SeriesService { ...@@ -237,4 +238,34 @@ public class SeriesService {
} }
} }
} }
public List<SeriesRoundListVO> getRoundListBySeriesId(Long seriesId) {
return seriesBusinessMapper.getRoundListBySeriesId(seriesId);
}
@Transactional
public void deleteRound(Long roundId) {
SeriesRound seriesRound = seriesRoundMapper.selectById(roundId);
if (!seriesRound.getFinalRound()) {
throw new BusinessException("当前轮次不是最后一轮,请从最后一轮开始删除");
}
seriesRound.setDeleted(1);
seriesRoundMapper.updateById(seriesRound);
if (seriesRound.getPreRoundId() != null) {
SeriesRound preRound = seriesRoundMapper.selectById(seriesRound.getPreRoundId());
preRound.setFinalRound(true);
seriesRoundMapper.updateById(preRound);
}
}
@Transactional
public void changeRoundStatus(Long roundId) {
SeriesRound round = seriesRoundMapper.selectById(roundId);
if (round.getStatus().equals(10)) {
round.setStatus(20);
} else {
round.setStatus(10);
}
seriesRoundMapper.updateById(round);
}
} }
package com.antai.sport.http.server.management.api.business.series.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class SeriesRoundListVO {
private Long id;
private String name;
private String type;
private String startTime;
private String path;
private BigDecimal distance;
private BigDecimal climbDistance;
private Integer chance;
private String status;
private Boolean started;
private Boolean finished;
private Boolean resultConfirm;
private Boolean finalRound;
}
...@@ -16,4 +16,18 @@ ...@@ -16,4 +16,18 @@
<select id="getRoundBySeriesId" resultType="com.antai.sport.http.server.repository.series.entity.SeriesRound"> <select id="getRoundBySeriesId" resultType="com.antai.sport.http.server.repository.series.entity.SeriesRound">
select * from series_round where deleted = 0 and series_id = #{seriesId} order by show_order,id select * from series_round where deleted = 0 and series_id = #{seriesId} order by show_order,id
</select> </select>
<select id="getRoundListBySeriesId" resultType="com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundListVO">
select t1.id,t1.name,if(t1.type = 10,'预选赛','淘汰赛') as type,
date_format(t1.start_time,'%Y/%m/%d %H:%i') as start_time,
concat(t2.map_name,'-',t3.path_name) as path,
t1.distance,t1.climb_distance,t1.chance,
if(t1.status = 10,'未发布','已发布') as status,
t1.started,t1.finished,t1.result_confirm,t1.final_round
from series_round t1
left join map t2 on t1.map = t2.map_key
left join map_path t3 on t1.path = t3.path_key
where t1.deleted = 0 and t1.series_id = #{seriesId}
order by t1.show_order,t1.id
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment