Commit c4ea37fc authored by liming's avatar liming

修改比赛结果上传机制

parent 5f86a0fa
package com.antai.sport.http.server.constants;
public class TeamTrainingPlayerRecordStatus {
//未结束
public final static Integer UNFINISHED = 10;
//已结束
public final static Integer FINISHED = 20;
}
......@@ -88,6 +88,8 @@ public class RoomModePlayerRecord implements Serializable {
*/
private Integer status;
private Boolean finished;
/**
* 创建时间
*/
......
......@@ -98,6 +98,8 @@ public class SimpleMatchPlayerRecord implements Serializable {
*/
private Integer status;
private Boolean finished;
/**
* 创建时间
*/
......
......@@ -133,6 +133,8 @@ public class TeamTrainingPlayerRecord implements Serializable {
*/
private Integer status;
private Boolean finished;
/**
* 创建时间
*/
......
......@@ -9,10 +9,10 @@ import org.mapstruct.Mapping;
@Mapper(componentModel = "spring")
public interface RoomModeConverter {
@Mapping(source = "status",target = "status")
RoomMode roomInitParamToRoomMode(ReqRoomInit reqRoomInit,Integer status);
@Mapping(source = "status", target = "status")
RoomMode roomInitParamToRoomMode(ReqRoomInit reqRoomInit, Integer status);
@Mapping(source = "data.recordId",target = "id")
@Mapping(source = "status",target = "status")
RoomModePlayerRecord toRoomModePlayerRecord(CyclingDataDTO data,Integer status);
@Mapping(source = "data.recordId", target = "id")
@Mapping(source = "finished", target = "finished")
RoomModePlayerRecord toRoomModePlayerRecord(CyclingDataDTO data, Boolean finished);
}
......@@ -66,6 +66,7 @@ public class RoomModeService {
record.setRoomId(room.getId());
record.setPlayerId(userId);
record.setStatus(RoomModeRecordStatus.UNFINISHED);
record.setFinished(false);
roomModePlayerRecordMapper.insert(record);
userRecordIdMap.put(userId, record.getId());
});
......@@ -84,10 +85,10 @@ public class RoomModeService {
public void upload(List<CyclingDataDTO> dataList) {
dataList.forEach(item -> {
RoomModePlayerRecord oldRecord = roomModePlayerRecordMapper.selectById(item.getRecordId());
if (oldRecord.getStatus().equals(RoomModeRecordStatus.UNFINISHED)) {
if (!oldRecord.getFinished()) {
SportUser user = sportUserMapper.selectById(oldRecord.getPlayerId());
item.setWeight(user.getWeight());
RoomModePlayerRecord record = roomModeConverter.toRoomModePlayerRecord(item, RoomModeRecordStatus.FINISHED);
RoomModePlayerRecord record = roomModeConverter.toRoomModePlayerRecord(item, true);
roomModePlayerRecordMapper.updateById(record);
//生成骑行日志
......
......@@ -20,6 +20,7 @@ public interface SimpleMatchConverter {
RespSimpleMatchInfo toRespSimpleMatchInfo(SimpleMatch source);
@Mapping(source = "data.recordId",target = "id")
SimpleMatchPlayerRecord toSimpleMatchPlayerRecord(ReqSimpleMatchRecord data);
@Mapping(source = "data.recordId", target = "id")
@Mapping(source = "finished", target = "finished")
SimpleMatchPlayerRecord toSimpleMatchPlayerRecord(ReqSimpleMatchRecord data, Boolean finished);
}
......@@ -3,6 +3,7 @@ package com.antai.sport.http.server.server.api.business.simplematch.service;
import com.antai.sport.http.server.common.exception.BusinessException;
import com.antai.sport.http.server.constants.DeleteStatus;
import com.antai.sport.http.server.constants.GameMode;
import com.antai.sport.http.server.constants.SimpleMatchPlayerRecordStatus;
import com.antai.sport.http.server.constants.SportType;
import com.antai.sport.http.server.repository.simplematch.entity.SimpleMatch;
import com.antai.sport.http.server.repository.simplematch.entity.SimpleMatchBanner;
......@@ -169,6 +170,8 @@ public class SimpleMatchService {
record.setMatchId(param.getMatchId());
record.setPlayerId(param.getPlayerId());
record.setEntryTime(LocalDateTime.now());
record.setStatus(SimpleMatchPlayerRecordStatus.UNFINISHED);
record.setFinished(false);
simpleMatchPlayerRecordMapper.insert(record);
resp.setRecordId(record.getId());
return resp;
......@@ -181,10 +184,10 @@ public class SimpleMatchService {
public void recordUpload(List<ReqSimpleMatchRecord> dataList) {
dataList.forEach(item -> {
SimpleMatchPlayerRecord oldRecord = simpleMatchPlayerRecordMapper.selectById(item.getRecordId());
if (oldRecord.getStatus() == null) {
if (!oldRecord.getFinished()) {
SportUser user = sportUserMapper.selectById(oldRecord.getPlayerId());
item.setWeight(user.getWeight());
SimpleMatchPlayerRecord record = simpleMatchConverter.toSimpleMatchPlayerRecord(item);
SimpleMatchPlayerRecord record = simpleMatchConverter.toSimpleMatchPlayerRecord(item, true);
record.setPraiseNum(praiseService.getPraiseByGameModeAndRecordId(GameMode.SIMPLE_MATCH, item.getRecordId()));
simpleMatchPlayerRecordMapper.updateById(record);
......
......@@ -21,7 +21,9 @@ public interface TeamTrainingConverter {
@Mappings({
@Mapping(source = "source.matchRank", target = "trainingRank"),
@Mapping(source = "source.recordId", target = "id")
@Mapping(source = "source.recordId", target = "id"),
@Mapping(source = "finished", target = "finished")
})
TeamTrainingPlayerRecord toTeamTrainingPlayerRecord(TeamTrainingRecordUploadDTO source);
TeamTrainingPlayerRecord toTeamTrainingPlayerRecord(TeamTrainingRecordUploadDTO source, Boolean finished);
}
......@@ -4,6 +4,7 @@ import com.antai.sport.http.server.common.exception.BusinessException;
import com.antai.sport.http.server.constants.DeleteStatus;
import com.antai.sport.http.server.constants.GameMode;
import com.antai.sport.http.server.constants.SportType;
import com.antai.sport.http.server.constants.TeamTrainingPlayerRecordStatus;
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.repository.teamtraining.entity.*;
......@@ -162,6 +163,8 @@ public class TeamTrainingService {
record.setTeamTrainingId(param.getTeamTrainingId());
record.setPlayerId(param.getPlayerId());
record.setEntryTime(LocalDateTime.now());
record.setStatus(TeamTrainingPlayerRecordStatus.UNFINISHED);
record.setFinished(false);
teamTrainingPlayerRecordMapper.insert(record);
result.setRecordId(record.getId());
return result;
......@@ -175,10 +178,10 @@ public class TeamTrainingService {
public void recordUpload(List<TeamTrainingRecordUploadDTO> dataList) {
dataList.forEach(item -> {
TeamTrainingPlayerRecord oldRecord = teamTrainingPlayerRecordMapper.selectById(item.getRecordId());
if (oldRecord.getStatus() == null) {
if (!oldRecord.getFinished()) {
SportUser user = sportUserMapper.selectById(oldRecord.getPlayerId());
item.setWeight(user.getWeight());
TeamTrainingPlayerRecord record = teamTrainingConverter.toTeamTrainingPlayerRecord(item);
TeamTrainingPlayerRecord record = teamTrainingConverter.toTeamTrainingPlayerRecord(item, true);
record.setPraiseNum(praiseService.getPraiseByGameModeAndRecordId(GameMode.GROUP_TRAINING, item.getRecordId()));
teamTrainingPlayerRecordMapper.updateById(record);
......
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