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.*;
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.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.sys.entity.SysUser;
import io.swagger.annotations.Api;
......@@ -90,4 +91,21 @@ public class SeriesController {
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;
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.SeriesRoundListVO;
import com.antai.sport.http.server.repository.series.entity.SeriesRound;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
......@@ -12,5 +13,7 @@ public interface SeriesBusinessMapper {
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
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.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.repository.map.entity.Map;
import com.antai.sport.http.server.repository.map.entity.MapPath;
......@@ -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 @@
<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>
<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>
\ 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