Commit 21a0d4a7 authored by liming's avatar liming

系列赛报名个人信息预加载接口

parent 445340c8
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -27,6 +27,11 @@ public class SeriesArea implements Serializable { ...@@ -27,6 +27,11 @@ public class SeriesArea implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/**
* 系列赛id
*/
private Long seriesId;
/** /**
* 赛区名称 * 赛区名称
*/ */
......
...@@ -2,6 +2,7 @@ package com.antai.sport.http.server.server.api.business.series.controller; ...@@ -2,6 +2,7 @@ package com.antai.sport.http.server.server.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.server.api.business.series.service.SeriesService; import com.antai.sport.http.server.server.api.business.series.service.SeriesService;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreLoadVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -38,4 +39,12 @@ public class SeriesController { ...@@ -38,4 +39,12 @@ public class SeriesController {
return success(seriesService.getSeriesDetails(id, sportUserId)); return success(seriesService.getSeriesDetails(id, sportUserId));
} }
@GetMapping("apply/preload/{seriesId}/{sportUserId}")
public ResponseEntity<Result<SeriesApplyPreLoadVO>> getSeresApplyPreLoadInfo(
@PathVariable("seriesId") Long seriesId,
@PathVariable("sportUserId") Long sportUserId) {
return success(seriesService.getSeresApplyPreLoadInfo(sportUserId, seriesId));
}
} }
package com.antai.sport.http.server.server.api.business.series.converter; package com.antai.sport.http.server.server.api.business.series.converter;
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.sport.entity.SportUser;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreLoadVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
...@@ -9,4 +11,6 @@ import org.mapstruct.Mapping; ...@@ -9,4 +11,6 @@ import org.mapstruct.Mapping;
public interface SeriesConverter { public interface SeriesConverter {
@Mapping(source = "status",target = "status") @Mapping(source = "status",target = "status")
SeriesDetailsVO toSeriesDetailVO(Series series,Integer status); SeriesDetailsVO toSeriesDetailVO(Series series,Integer status);
SeriesApplyPreLoadVO toSeriesApplyPreLoadVO(SportUser sportUser);
} }
package com.antai.sport.http.server.server.api.business.series.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel("赛事报名对象")
@Data
public class SeriesApplyDTO {
private Long seriesId;
private Long sportUserId;
private String name;
private String idCard;
private String phone;
private Integer sex;
private BigDecimal height;
private BigDecimal weight;
private Integer ftp;
private Long areaId;
}
package com.antai.sport.http.server.server.api.business.series.mapper; package com.antai.sport.http.server.server.api.business.series.mapper;
import com.antai.sport.http.server.repository.series.entity.SeriesApply;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesAreaVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesNoticeVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesNoticeVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -12,5 +14,9 @@ public interface SeriesBusinessMapper { ...@@ -12,5 +14,9 @@ public interface SeriesBusinessMapper {
List<SeriesNoticeVO> getSeriesNotice(@Param("seriesId") Long seriesId); List<SeriesNoticeVO> getSeriesNotice(@Param("seriesId") Long seriesId);
Boolean checkUserSeriesIsApplied(@Param("seriesId") Long seriesId,@Param("sportUserId") Long sportUserId); Boolean checkUserSeriesIsApplied(@Param("seriesId") Long seriesId, @Param("sportUserId") Long sportUserId);
List<SeriesAreaVO> getSeriesAreaList(@Param("seriesId") Long seriesId);
SeriesApply getLatestUserSeriesApplyInfo(@Param("sportUserId") Long sportUserId);
} }
...@@ -2,9 +2,13 @@ package com.antai.sport.http.server.server.api.business.series.service; ...@@ -2,9 +2,13 @@ package com.antai.sport.http.server.server.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.repository.series.entity.Series; import com.antai.sport.http.server.repository.series.entity.Series;
import com.antai.sport.http.server.repository.series.entity.SeriesApply;
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.sport.entity.SportUser;
import com.antai.sport.http.server.repository.sport.mapper.SportUserMapper;
import com.antai.sport.http.server.server.api.business.series.converter.SeriesConverter; import com.antai.sport.http.server.server.api.business.series.converter.SeriesConverter;
import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper; import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreLoadVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO;
import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -18,6 +22,8 @@ public class SeriesService { ...@@ -18,6 +22,8 @@ public class SeriesService {
@Resource @Resource
private SeriesMapper seriesMapper; private SeriesMapper seriesMapper;
@Resource
private SportUserMapper sportUserMapper;
@Resource @Resource
private SeriesConverter seriesConverter; private SeriesConverter seriesConverter;
...@@ -49,7 +55,19 @@ public class SeriesService { ...@@ -49,7 +55,19 @@ public class SeriesService {
result.setNoticeList(seriesBusinessMapper.getSeriesNotice(id)); result.setNoticeList(seriesBusinessMapper.getSeriesNotice(id));
result.setApplied(seriesBusinessMapper.checkUserSeriesIsApplied(id, sportUserId)); result.setApplied(seriesBusinessMapper.checkUserSeriesIsApplied(id, sportUserId));
return result; return result;
}
public SeriesApplyPreLoadVO getSeresApplyPreLoadInfo(Long sportUserId, Long seriesId) {
SportUser sportUser = sportUserMapper.selectById(sportUserId);
SeriesApplyPreLoadVO result = seriesConverter.toSeriesApplyPreLoadVO(sportUser);
result.setAreaList(seriesBusinessMapper.getSeriesAreaList(seriesId));
SeriesApply seriesApply = seriesBusinessMapper.getLatestUserSeriesApplyInfo(sportUserId);
if(seriesApply!=null){
result.setRealName(seriesApply.getName());
result.setIdCard(seriesApply.getIdcard());
}
return result;
} }
......
package com.antai.sport.http.server.server.api.business.series.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@ApiModel("报名信息预加载对象")
@Data
public class SeriesApplyPreLoadVO {
@ApiModelProperty("头像")
private String avatar;
@ApiModelProperty("玩家昵称")
private String nickname;
@ApiModelProperty("性别 1.男 2.女")
private Integer sex;
@ApiModelProperty("身高")
private BigDecimal height;
@ApiModelProperty("体重")
private BigDecimal weight;
@ApiModelProperty("功率")
private Integer ftp;
@ApiModelProperty("电话号码")
private String phone;
@ApiModelProperty("真实姓名")
private String realName;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("赛区列表")
private List<SeriesAreaVO> areaList;
}
package com.antai.sport.http.server.server.api.business.series.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("系列赛赛区")
@Data
public class SeriesAreaVO {
@ApiModelProperty("赛区id")
private Long id;
@ApiModelProperty("赛区名称")
private String name;
}
...@@ -23,4 +23,12 @@ ...@@ -23,4 +23,12 @@
<select id="checkUserSeriesIsApplied" resultType="java.lang.Boolean"> <select id="checkUserSeriesIsApplied" resultType="java.lang.Boolean">
select count(1)>0 from series_apply where series_id = #{seriesId} and sport_user_id = #{sportUserId} select count(1)>0 from series_apply where series_id = #{seriesId} and sport_user_id = #{sportUserId}
</select> </select>
<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>
<select id="getLatestUserSeriesApplyInfo" resultType="com.antai.sport.http.server.repository.series.entity.SeriesApply">
select * from series_apply where sport_user_id = #{sportUserId} order by id desc limit 1
</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