Commit aa370a79 authored by liming's avatar liming

提交关于积分描述的修改

parent 3929dbc1
...@@ -52,6 +52,11 @@ public class SportUserGameCurrencyLog implements Serializable { ...@@ -52,6 +52,11 @@ public class SportUserGameCurrencyLog implements Serializable {
*/ */
private Long sourceId; private Long sourceId;
/**
* 描述
*/
private String description;
/** /**
* 创建时间 * 创建时间
*/ */
......
...@@ -75,7 +75,7 @@ public class AchievementService { ...@@ -75,7 +75,7 @@ public class AchievementService {
initAchievement(summary.getUserId(), AchievementCondition.DISTANCE, summary.getTotalDistance().intValue()); initAchievement(summary.getUserId(), AchievementCondition.DISTANCE, summary.getTotalDistance().intValue());
initAchievement(summary.getUserId(), AchievementCondition.CLIMB_DISTANCE, initAchievement(summary.getUserId(), AchievementCondition.CLIMB_DISTANCE,
summary.getTotalClimbDistance().intValue()); summary.getTotalClimbDistance().intValue());
initAchievement(summary.getUserId(), AchievementCondition.CALORIE, summary.getTotalCalorie()/1000); initAchievement(summary.getUserId(), AchievementCondition.CALORIE, summary.getTotalCalorie() / 1000);
} }
...@@ -100,8 +100,9 @@ public class AchievementService { ...@@ -100,8 +100,9 @@ public class AchievementService {
achievementForSportUser.setMarkRead(false); achievementForSportUser.setMarkRead(false);
achievementForSportUser.setCreateTime(LocalDateTime.now()); achievementForSportUser.setCreateTime(LocalDateTime.now());
achievementForSportUserMapper.insert(achievementForSportUser); achievementForSportUserMapper.insert(achievementForSportUser);
String description = "达成成就:" + achievement.getAchievementName();
sportUserGameCurrencyService.addCurrency(sportUserId, achievement.getCurrency(), sportUserGameCurrencyService.addCurrency(sportUserId, achievement.getCurrency(),
GameCurrencySourceType.ACHIEVEMENT, achievementForSportUser.getId()); GameCurrencySourceType.ACHIEVEMENT, achievementForSportUser.getId(), description);
} }
} }
} }
......
...@@ -7,4 +7,8 @@ import java.util.List; ...@@ -7,4 +7,8 @@ import java.util.List;
public interface BaseBusinessMapper { public interface BaseBusinessMapper {
List<AreaRespDTO> getArea(@Param("parentId") Long parentId); List<AreaRespDTO> getArea(@Param("parentId") Long parentId);
String getGameMode(@Param("code") Integer code);
String getMapPath(@Param("pathKey") String pathKey);
} }
...@@ -52,16 +52,16 @@ public class PropsService { ...@@ -52,16 +52,16 @@ public class PropsService {
@Transactional @Transactional
public void purchase(Long sportUserId, Long propsId) { public void purchase(Long sportUserId, Long propsId) {
QueryWrapper<SportUserProps> userPropsQuery = new QueryWrapper<>(); QueryWrapper<SportUserProps> userPropsQuery = new QueryWrapper<>();
userPropsQuery.lambda().eq(SportUserProps::getSportUserId,sportUserId).eq(SportUserProps::getPropsId,propsId); userPropsQuery.lambda().eq(SportUserProps::getSportUserId, sportUserId).eq(SportUserProps::getPropsId, propsId);
SportUserProps userProps = sportUserPropsMapper.selectOne(userPropsQuery); SportUserProps userProps = sportUserPropsMapper.selectOne(userPropsQuery);
if(userProps!=null){ if (userProps != null) {
throw new BusinessException("您已经购买过当前装备,不能重复购买"); throw new BusinessException("您已经购买过当前装备,不能重复购买");
} }
Props props = propsMapper.selectById(propsId); Props props = propsMapper.selectById(propsId);
QueryWrapper<SportUserGameCurrency> userGameCurrencyQuery = new QueryWrapper<>(); QueryWrapper<SportUserGameCurrency> userGameCurrencyQuery = new QueryWrapper<>();
userGameCurrencyQuery.lambda().eq(SportUserGameCurrency::getSportUserId,sportUserId); userGameCurrencyQuery.lambda().eq(SportUserGameCurrency::getSportUserId, sportUserId);
SportUserGameCurrency userGameCurrency = sportUserGameCurrencyMapper.selectOne(userGameCurrencyQuery); SportUserGameCurrency userGameCurrency = sportUserGameCurrencyMapper.selectOne(userGameCurrencyQuery);
if(userGameCurrency == null || userGameCurrency.getAmmount()<props.getPrice()){ if (userGameCurrency == null || userGameCurrency.getAmmount() < props.getPrice()) {
throw new BusinessException("对不起,您的余额不足"); throw new BusinessException("对不起,您的余额不足");
} }
...@@ -84,6 +84,7 @@ public class PropsService { ...@@ -84,6 +84,7 @@ public class PropsService {
userGameCurrency.setAmmount(userGameCurrency.getAmmount() - props.getPrice()); userGameCurrency.setAmmount(userGameCurrency.getAmmount() - props.getPrice());
sportUserGameCurrencyMapper.updateById(userGameCurrency); sportUserGameCurrencyMapper.updateById(userGameCurrency);
String description = "购买装备:" + props.getName();
SportUserGameCurrencyLog userGameCurrencyLog = new SportUserGameCurrencyLog(); SportUserGameCurrencyLog userGameCurrencyLog = new SportUserGameCurrencyLog();
userGameCurrencyLog.setSourceType(GameCurrencySourceType.SHOP); userGameCurrencyLog.setSourceType(GameCurrencySourceType.SHOP);
userGameCurrencyLog.setType(GameCurrencyLogType.SUBTRACT); userGameCurrencyLog.setType(GameCurrencyLogType.SUBTRACT);
...@@ -91,6 +92,7 @@ public class PropsService { ...@@ -91,6 +92,7 @@ public class PropsService {
userGameCurrencyLog.setAmmount(props.getPrice()); userGameCurrencyLog.setAmmount(props.getPrice());
userGameCurrencyLog.setSourceId(order.getId()); userGameCurrencyLog.setSourceId(order.getId());
userGameCurrencyLog.setCtDate(LocalDateTime.now()); userGameCurrencyLog.setCtDate(LocalDateTime.now());
userGameCurrencyLog.setDescription(description);
sportUserGameCurrencyLogMapper.insert(userGameCurrencyLog); sportUserGameCurrencyLogMapper.insert(userGameCurrencyLog);
} }
......
...@@ -25,7 +25,7 @@ public class SportUserGameCurrencyService { ...@@ -25,7 +25,7 @@ public class SportUserGameCurrencyService {
@Resource @Resource
private SportUserGameCurrencyLogMapper sportUserGameCurrencyLogMapper; private SportUserGameCurrencyLogMapper sportUserGameCurrencyLogMapper;
public void addCurrency(Long sportUserId, Integer currency, Integer sourceType, Long sourceId) { public void addCurrency(Long sportUserId, Integer currency, Integer sourceType, Long sourceId, String description) {
SportUserGameCurrency userGameCurrency = SportUserGameCurrency userGameCurrency =
sportUserGameCurrencyMapper.selectOne(new QueryWrapper<SportUserGameCurrency>().lambda() sportUserGameCurrencyMapper.selectOne(new QueryWrapper<SportUserGameCurrency>().lambda()
.eq(SportUserGameCurrency::getSportUserId, sportUserId)); .eq(SportUserGameCurrency::getSportUserId, sportUserId));
...@@ -48,6 +48,7 @@ public class SportUserGameCurrencyService { ...@@ -48,6 +48,7 @@ public class SportUserGameCurrencyService {
gameCurrencyLog.setSourceId(sourceId); gameCurrencyLog.setSourceId(sourceId);
gameCurrencyLog.setCtDate(LocalDateTime.now()); gameCurrencyLog.setCtDate(LocalDateTime.now());
gameCurrencyLog.setType(GameCurrencyLogType.ADD); gameCurrencyLog.setType(GameCurrencyLogType.ADD);
gameCurrencyLog.setDescription(description);
sportUserGameCurrencyLogMapper.insert(gameCurrencyLog); sportUserGameCurrencyLogMapper.insert(gameCurrencyLog);
} }
...@@ -82,6 +83,7 @@ public class SportUserGameCurrencyService { ...@@ -82,6 +83,7 @@ public class SportUserGameCurrencyService {
logVO.setTime(log.getCtDate()); logVO.setTime(log.getCtDate());
logVO.setType(log.getType()); logVO.setType(log.getType());
logVO.setAmount(log.getAmmount()); logVO.setAmount(log.getAmmount());
logVO.setDesc(log.getDescription());
resultList.add(logVO); resultList.add(logVO);
} }
return resultList; return resultList;
......
...@@ -18,6 +18,7 @@ import com.antai.sport.http.server.repository.sport.mapper.*; ...@@ -18,6 +18,7 @@ import com.antai.sport.http.server.repository.sport.mapper.*;
import com.antai.sport.http.server.repository.teamtraining.entity.TeamTraining; import com.antai.sport.http.server.repository.teamtraining.entity.TeamTraining;
import com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingMapper; import com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingMapper;
import com.antai.sport.http.server.server.api.business.achievement.service.AchievementService; import com.antai.sport.http.server.server.api.business.achievement.service.AchievementService;
import com.antai.sport.http.server.server.api.business.base.mapper.BaseBusinessMapper;
import com.antai.sport.http.server.server.api.business.simplematch.dto.SimpleMatchUserScheduleVO; import com.antai.sport.http.server.server.api.business.simplematch.dto.SimpleMatchUserScheduleVO;
import com.antai.sport.http.server.server.api.business.simplematch.mapper.SimpleMatchBusinessMapper; import com.antai.sport.http.server.server.api.business.simplematch.mapper.SimpleMatchBusinessMapper;
import com.antai.sport.http.server.server.api.business.sportusergamecurrency.service.SportUserGameCurrencyService; import com.antai.sport.http.server.server.api.business.sportusergamecurrency.service.SportUserGameCurrencyService;
...@@ -83,6 +84,8 @@ public class SportUserTrainingLogService { ...@@ -83,6 +84,8 @@ public class SportUserTrainingLogService {
private SportUserGameCurrencyBaseRuleMapper sportUserGameCurrencyBaseRuleMapper; private SportUserGameCurrencyBaseRuleMapper sportUserGameCurrencyBaseRuleMapper;
@Resource @Resource
private SportUserGameCurrencyMatchRuleMapper sportUserGameCurrencyMatchRuleMapper; private SportUserGameCurrencyMatchRuleMapper sportUserGameCurrencyMatchRuleMapper;
@Resource
private BaseBusinessMapper baseBusinessMapper;
@Resource @Resource
private SportUserTrainingLogConverter sportUserTrainingLogConverter; private SportUserTrainingLogConverter sportUserTrainingLogConverter;
...@@ -125,7 +128,8 @@ public class SportUserTrainingLogService { ...@@ -125,7 +128,8 @@ public class SportUserTrainingLogService {
//处理总排行 //处理总排行
this.modifyTotalRank(playerId, log); this.modifyTotalRank(playerId, log);
//处理玩家积分 //处理玩家积分
this.handleSportUserCurrency(playerId, log.getId(), log.getCalorie(), gameMode, log.getMatchRank()); this.handleSportUserCurrency(playerId, log.getId(), log.getCalorie(), gameMode, log.getMatchRank(),
log.getSourceName(), log.getPath());
//处理玩家成就 //处理玩家成就
achievementService.handleSportAchievement(gameMode, summary); achievementService.handleSportAchievement(gameMode, summary);
} }
...@@ -137,7 +141,8 @@ public class SportUserTrainingLogService { ...@@ -137,7 +141,8 @@ public class SportUserTrainingLogService {
* @param gameMode * @param gameMode
* @param rank * @param rank
*/ */
public void handleSportUserCurrency(Long playerId, Long logId, Integer calorie, Integer gameMode, Integer rank) { public void handleSportUserCurrency(Long playerId, Long logId, Integer calorie, Integer gameMode, Integer rank,
String sourceName, String pathKey) {
if (calorie == null || calorie == 0) { if (calorie == null || calorie == 0) {
return; return;
} }
...@@ -147,7 +152,7 @@ public class SportUserTrainingLogService { ...@@ -147,7 +152,7 @@ public class SportUserTrainingLogService {
} }
Integer coefficient = baseRule.get(0).getCoefficient(); Integer coefficient = baseRule.get(0).getCoefficient();
Integer currency = calorie / coefficient; Integer currency = calorie / coefficient;
if(currency == 0) { if (currency == 0) {
return; return;
} }
SportUserGameCurrencyMatchRule matchRule = SportUserGameCurrencyMatchRule matchRule =
...@@ -155,7 +160,15 @@ public class SportUserTrainingLogService { ...@@ -155,7 +160,15 @@ public class SportUserTrainingLogService {
if (matchRule != null && matchRule.getRate() != null) { if (matchRule != null && matchRule.getRate() != null) {
currency = matchRule.getRate().multiply(BigDecimal.valueOf(currency)).intValue(); currency = matchRule.getRate().multiply(BigDecimal.valueOf(currency)).intValue();
} }
sportUserGameCurrencyService.addCurrency(playerId, currency, GameCurrencySourceType.SPORT, logId); String gameModeName = baseBusinessMapper.getGameMode(gameMode);
String description;
if(gameMode == GameMode.TOUR || gameMode == GameMode.COURSE_TRAINING) {
String pathName = baseBusinessMapper.getMapPath(pathKey);
description = gameModeName + ":" + pathName;
} else {
description = gameModeName + ":" + sourceName;
}
sportUserGameCurrencyService.addCurrency(playerId, currency, GameCurrencySourceType.SPORT, logId, description);
} }
/** /**
......
...@@ -14,4 +14,11 @@ ...@@ -14,4 +14,11 @@
order by code order by code
</select> </select>
<select id="getGameMode" resultType="java.lang.String">
select name from game_mode where code = #{code}
</select>
<select id="getMapPath" resultType="java.lang.String">
select path_name from map_path where path_key = #{pathKey}
</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