Commit b7614468 authored by liming's avatar liming

处理FTP变化事件

parent a84919d0
package com.antai.sport.http.server.repository.sport.entity;
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 2022-08-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SportUserFtpChangeLog implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
private Long sportUserId;
/**
* 原来ftp
*/
private Integer oldFtp;
/**
* 新ftp
*/
private Integer newFtp;
/**
* 是否已读
*/
private Boolean haveRead;
/**
* 创建时间
*/
private LocalDateTime createTime;
}
package com.antai.sport.http.server.repository.sport.mapper;
import com.antai.sport.http.server.repository.sport.entity.SportUserFtpChangeLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author liming
* @since 2022-08-23
*/
public interface SportUserFtpChangeLogMapper extends BaseMapper<SportUserFtpChangeLog> {
}
<?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.sport.mapper.SportUserFtpChangeLogMapper">
</mapper>
......@@ -44,6 +44,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
......@@ -90,6 +91,8 @@ public class SportUserTrainingLogService {
private SportUserGameCurrencyMatchRuleMapper sportUserGameCurrencyMatchRuleMapper;
@Resource
private BaseBusinessMapper baseBusinessMapper;
@Resource
private SportUserFtpChangeLogMapper sportUserFtpChangeLogMapper;
@Resource
private SportUserTrainingLogConverter sportUserTrainingLogConverter;
......@@ -136,6 +139,27 @@ public class SportUserTrainingLogService {
log.getSourceName(), log.getPath());
//处理玩家成就
achievementService.handleSportAchievement(gameMode, summary);
//处理ftp变化事件
handleFtpChange(playerId,sportData.getTwentyMinutesFtp());
}
void handleFtpChange(Long sportUserId, BigDecimal twentyMinutesFtp) {
if (twentyMinutesFtp == null || twentyMinutesFtp.compareTo(BigDecimal.ZERO) <= 0) {
return;
}
SportUser sportUser = sportUserMapper.selectById(sportUserId);
BigDecimal oldFtp = sportUser.getFtp() == null ? BigDecimal.ZERO : BigDecimal.valueOf(sportUser.getFtp());
BigDecimal newFtp = twentyMinutesFtp.multiply(BigDecimal.valueOf(0.93)).setScale(0, RoundingMode.HALF_UP);
if(newFtp.compareTo(oldFtp) == 1) {
sportUser.setFtp(newFtp.intValue());
sportUserMapper.updateById(sportUser);
SportUserFtpChangeLog ftpChangeLog = new SportUserFtpChangeLog();
ftpChangeLog.setOldFtp(oldFtp.intValue());
ftpChangeLog.setNewFtp(newFtp.intValue());
ftpChangeLog.setCreateTime(LocalDateTime.now());
ftpChangeLog.setHaveRead(false);
sportUserFtpChangeLogMapper.insert(ftpChangeLog);
}
}
/**
......
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