Commit 8be2313f authored by liming's avatar liming

清空前期临时数据接口

parent fc155140
This diff is collapsed.
package com.antai.sport.http.server.mobile.api.business.train.record.controller;
import com.antai.sport.http.server.mobile.api.business.train.record.service.TrainRecordService;
import com.antai.sport.http.server.common.annotation.LoginSportUser;
import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.mobile.api.business.train.record.dto.ReqTrainRecord;
import com.antai.sport.http.server.repository.sport.entity.SportUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import static com.antai.sport.http.server.common.util.ResultUtil.success;
@RestController
@RequestMapping("/train/record")
@Api(tags = {"训练相关接口"})
public class TrainRecordController {
@Resource
private TrainRecordService trainRecordService;
@PostMapping()
@ApiOperation(value = "训练数据记录接口")
public ResponseEntity<Result> saveRecord(@LoginSportUser SportUser loginUser, @RequestBody ReqTrainRecord data) {
trainRecordService.saveRecord(loginUser,data);
return success();
}
}
package com.antai.sport.http.server.mobile.api.business.train.record.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel("训练记录")
public class ReqTrainRecord {
@ApiModelProperty("运动类型: 1.骑行 2.跑步")
private Integer sportType;
@ApiModelProperty("开始时间 yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime startTime;
@ApiModelProperty("结束时间 yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime endTime;
@ApiModelProperty("骑行时长(秒)")
private Integer duration;
@ApiModelProperty("爬坡距离")
private BigDecimal climbDistance;
@ApiModelProperty("骑行总长度")
private BigDecimal distance;
@ApiModelProperty("平均功率 运动类型位骑行时赋值")
private BigDecimal avgFtp;
@ApiModelProperty("平均速度")
private BigDecimal avgSpeed;
@ApiModelProperty("配速 运动类型为跑步的时候赋值")
private BigDecimal pace;
}
package com.antai.sport.http.server.mobile.api.business.train.record.service;
import com.antai.sport.http.server.constants.SportType;
import com.antai.sport.http.server.mobile.api.business.sport.user.SportUserSummaryService;
import com.antai.sport.http.server.mobile.api.business.train.record.dto.ReqTrainRecord;
import com.antai.sport.http.server.repository.sport.entity.SportUser;
import com.antai.sport.http.server.repository.train.entity.TrainBicycleRecord;
import com.antai.sport.http.server.repository.train.entity.TrainRunRecord;
import com.antai.sport.http.server.repository.train.mapper.TrainBicycleRecordMapper;
import com.antai.sport.http.server.repository.train.mapper.TrainRunRecordMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
public class TrainRecordService {
@Resource
private SportUserSummaryService sportUserSummaryService;
@Resource
private TrainBicycleRecordMapper trainBicycleRecordMapper;
@Resource
private TrainRunRecordMapper trainRunRecordMapper;
@Transactional
public void saveRecord(SportUser loginUser, ReqTrainRecord data) {
if (data.getSportType().equals(SportType.BICYCLE)) {
TrainBicycleRecord record = new TrainBicycleRecord();
record.setUserId(loginUser.getId());
record.setStartTime(data.getStartTime());
record.setEndTime(data.getEndTime());
record.setDuration(data.getDuration());
record.setClimbDistance(data.getClimbDistance());
record.setDistance(data.getDistance());
record.setAvgFtp(data.getAvgFtp());
record.setAvgSpeed(data.getAvgSpeed());
trainBicycleRecordMapper.insert(record);
} else {
TrainRunRecord record = new TrainRunRecord();
record.setUserId(loginUser.getId());
record.setStartTime(data.getStartTime());
record.setEndTime(data.getEndTime());
record.setDuration(data.getDuration());
record.setClimbDistance(data.getClimbDistance());
record.setDistance(data.getDistance());
record.setAvgSpeed(data.getAvgSpeed());
record.setPace(data.getPace());
trainRunRecordMapper.insert(record);
}
//汇总数据
sportUserSummaryService.summary(loginUser.getId(), data.getSportType(), data.getDistance(),
data.getClimbDistance(), data.getDuration());
}
}
package com.antai.sport.http.server.repository.train.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 骑行训练运动记录
* </p>
*
* @author liming
* @since 2021-09-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class TrainBicycleRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 训练类型 1.漫游骑行 2.课程训练
*/
private Integer type;
/**
* 用户id
*/
private Long userId;
/**
* 开始时间
*/
private LocalDateTime startTime;
/**
* 结束时间
*/
private LocalDateTime endTime;
/**
* 骑行时长(秒)
*/
private Integer duration;
/**
* 爬坡距离
*/
private BigDecimal climbDistance;
/**
* 骑行总长度
*/
private BigDecimal distance;
/**
* 平均功率
*/
private BigDecimal avgFtp;
/**
* 平均速度
*/
private BigDecimal avgSpeed;
/**
* 版本号
*/
private Long version;
/**
* 删除标记
*/
private Integer deleted;
/**
* 创建时间
*/
private LocalDateTime ctDate;
/**
* 修改人id
*/
private Long lmUserId;
/**
* 修改时间
*/
private LocalDateTime lmDate;
}
package com.antai.sport.http.server.repository.train.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 跑步训练运动记录
* </p>
*
* @author liming
* @since 2021-09-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class TrainRunRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 训练类型 1.漫游骑行 2.课程训练
*/
private Integer type;
/**
* 用户id
*/
private Long userId;
/**
* 开始时间
*/
private LocalDateTime startTime;
/**
* 结束时间
*/
private LocalDateTime endTime;
/**
* 骑行时长(秒)
*/
private Integer duration;
/**
* 爬坡距离
*/
private BigDecimal climbDistance;
/**
* 骑行总长度
*/
private BigDecimal distance;
/**
* 平均速度
*/
private BigDecimal avgSpeed;
/**
* 配速
*/
private BigDecimal pace;
/**
* 版本号
*/
private Long version;
/**
* 删除标记
*/
private Integer deleted;
/**
* 创建时间
*/
private LocalDateTime ctDate;
/**
* 修改人id
*/
private Long lmUserId;
/**
* 修改时间
*/
private LocalDateTime lmDate;
}
package com.antai.sport.http.server.repository.train.mapper;
import com.antai.sport.http.server.repository.train.entity.TrainBicycleRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 骑行训练运动记录 Mapper 接口
* </p>
*
* @author liming
* @since 2021-09-26
*/
public interface TrainBicycleRecordMapper extends BaseMapper<TrainBicycleRecord> {
}
package com.antai.sport.http.server.repository.train.mapper;
import com.antai.sport.http.server.repository.train.entity.TrainRunRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 跑步训练运动记录 Mapper 接口
* </p>
*
* @author liming
* @since 2021-09-26
*/
public interface TrainRunRecordMapper extends BaseMapper<TrainRunRecord> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.antai.sport.http.server.repository.train.mapper.TrainBicycleRecordMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.antai.sport.http.server.repository.train.mapper.TrainRunRecordMapper">
</mapper>
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