Commit 6948a781 authored by liming's avatar liming

赛区管理

parent 96cb4f93
...@@ -2,6 +2,8 @@ package com.antai.sport.http.server.management.api.business.series.controller; ...@@ -2,6 +2,8 @@ package com.antai.sport.http.server.management.api.business.series.controller;
import com.antai.sport.http.server.common.base.Result; import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.management.api.annotation.LoginUser; import com.antai.sport.http.server.management.api.annotation.LoginUser;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaSaveDTO;
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.dto.SeriesSaveDTO; import com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO;
import com.antai.sport.http.server.management.api.business.series.service.SeriesService; import com.antai.sport.http.server.management.api.business.series.service.SeriesService;
...@@ -14,6 +16,7 @@ import org.springframework.http.ResponseEntity; ...@@ -14,6 +16,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import static com.antai.sport.http.server.common.util.ResultUtil.success; import static com.antai.sport.http.server.common.util.ResultUtil.success;
...@@ -67,4 +70,15 @@ public class SeriesController { ...@@ -67,4 +70,15 @@ public class SeriesController {
return success(); return success();
} }
@GetMapping("area/{seriesId}")
public ResponseEntity<Result<List<SeriesAreaDTO>>> getSeriesAreaList(@PathVariable("seriesId") Long seriesId) {
return success(seriesService.getSeriesAreaList(seriesId));
}
@PostMapping("area")
public ResponseEntity<Result> saveSeriesArea(@RequestBody SeriesAreaSaveDTO dto) {
seriesService.saveSeriesArea(dto);
return success();
}
} }
package com.antai.sport.http.server.management.api.business.series.converter; package com.antai.sport.http.server.management.api.business.series.converter;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO; import com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO;
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.series.entity.SeriesArea;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import java.util.List;
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface SeriesConverter { public interface SeriesConverter {
@Mapping(source = "source.logo",target = "imgUrl") @Mapping(source = "source.logo", target = "imgUrl")
Series toSeries(SeriesSaveDTO source); Series toSeries(SeriesSaveDTO source);
List<SeriesAreaDTO> toSeriesAreaDTO(List<SeriesArea> source);
List<SeriesArea> toSeriesArea(List<SeriesAreaDTO> source);
} }
package com.antai.sport.http.server.management.api.business.series.dto;
import lombok.Data;
@Data
public class SeriesAreaDTO {
private Long id;
private String name;
private Integer showOrder;
}
package com.antai.sport.http.server.management.api.business.series.dto;
import lombok.Data;
import java.util.List;
@Data
public class SeriesAreaSaveDTO {
private List<SeriesAreaDTO> areaList;
private List<Long> deleteList;
private Long seriesId;
}
...@@ -2,21 +2,28 @@ package com.antai.sport.http.server.management.api.business.series.service; ...@@ -2,21 +2,28 @@ package com.antai.sport.http.server.management.api.business.series.service;
import com.antai.sport.http.server.common.exception.BusinessException; import com.antai.sport.http.server.common.exception.BusinessException;
import com.antai.sport.http.server.management.api.business.series.converter.SeriesConverter; import com.antai.sport.http.server.management.api.business.series.converter.SeriesConverter;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaSaveDTO;
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.dto.SeriesSaveDTO; import com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO;
import com.antai.sport.http.server.management.api.business.series.mapper.SeriesBusinessMapper; import com.antai.sport.http.server.management.api.business.series.mapper.SeriesBusinessMapper;
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.repository.series.entity.Series; import com.antai.sport.http.server.repository.series.entity.Series;
import com.antai.sport.http.server.repository.series.entity.SeriesArea;
import com.antai.sport.http.server.repository.series.mapper.SeriesAreaMapper;
import com.antai.sport.http.server.repository.series.mapper.SeriesMapper; import com.antai.sport.http.server.repository.series.mapper.SeriesMapper;
import com.antai.sport.http.server.repository.sys.entity.SysUser; import com.antai.sport.http.server.repository.sys.entity.SysUser;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Service @Service
public class SeriesService { public class SeriesService {
...@@ -24,6 +31,8 @@ public class SeriesService { ...@@ -24,6 +31,8 @@ public class SeriesService {
private SeriesBusinessMapper seriesBusinessMapper; private SeriesBusinessMapper seriesBusinessMapper;
@Resource @Resource
private SeriesMapper seriesMapper; private SeriesMapper seriesMapper;
@Resource
private SeriesAreaMapper seriesAreaMapper;
@Resource @Resource
private SeriesConverter seriesConverter; private SeriesConverter seriesConverter;
...@@ -96,4 +105,36 @@ public class SeriesService { ...@@ -96,4 +105,36 @@ public class SeriesService {
series.setDeleted(1); series.setDeleted(1);
seriesMapper.updateById(series); seriesMapper.updateById(series);
} }
public List<SeriesAreaDTO> getSeriesAreaList(Long seriesId) {
QueryWrapper<SeriesArea> areaQuery = new QueryWrapper<>();
areaQuery.lambda().eq(SeriesArea::getSeriesId, seriesId).eq(SeriesArea::getDeleted, 0);
List<SeriesArea> areaList = seriesAreaMapper.selectList(areaQuery);
return seriesConverter.toSeriesAreaDTO(areaList);
}
@Transactional
public void saveSeriesArea(SeriesAreaSaveDTO dto) {
List<SeriesArea> areaList = seriesConverter.toSeriesArea(dto.getAreaList());
LocalDateTime now = LocalDateTime.now();
for (SeriesArea item : areaList) {
if (item.getId() > 0) {
item.setUpdateTime(now);
seriesAreaMapper.updateById(item);
} else {
item.setId(null);
item.setSeriesId(dto.getSeriesId());
item.setCreateTime(now);
seriesAreaMapper.insert(item);
}
}
for (Long id : dto.getDeleteList()) {
SeriesArea area = seriesAreaMapper.selectById(id);
if (area != null) {
area.setDeleted(1);
seriesAreaMapper.updateById(area);
}
}
}
} }
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
select content,create_time select content,create_time
from series_notice from series_notice
where status = 20 and deleted = 0 where status = 20 and deleted = 0
and series_id = #{seriesId} and series_id = #{seriesId} and deleted = 0
order by create_time desc order by create_time desc
</select> </select>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</select> </select>
<select id="getSeriesAreaList" resultType="com.antai.sport.http.server.server.api.business.series.vo.SeriesAreaVO"> <select id="getSeriesAreaList" resultType="com.antai.sport.http.server.server.api.business.series.vo.SeriesAreaVO">
select id,name from series_area where series_id = #{seriesId} order by show_order select id,name from series_area where series_id = #{seriesId} and deleted = 0 order by show_order
</select> </select>
<select id="getLatestUserSeriesApplyInfo" resultType="com.antai.sport.http.server.repository.series.entity.SeriesApply"> <select id="getLatestUserSeriesApplyInfo" resultType="com.antai.sport.http.server.repository.series.entity.SeriesApply">
......
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