mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-26 10:16:14 +00:00
提交
This commit is contained in:
@@ -5,6 +5,7 @@ import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
import org.springframework.retry.annotation.EnableRetry;
|
||||
|
||||
@EnableRetry
|
||||
|
@@ -0,0 +1,9 @@
|
||||
package cn.jisol.game.controller.exception;
|
||||
|
||||
public class ResourceInitException extends RuntimeException{
|
||||
public ResourceInitException() {
|
||||
}
|
||||
public ResourceInitException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
@@ -6,6 +6,7 @@ import cfg.TB.TbGRoleEquipType;
|
||||
import cfg.TbGEntity.TAttributeValue;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.jisol.game.controller.argsresolver.CurrentPlayer;
|
||||
import cn.jisol.game.controller.exception.ResourceNotException;
|
||||
import cn.jisol.game.data.ResourceId;
|
||||
import cn.jisol.game.data.TD;
|
||||
import cn.jisol.game.entity.data.GAttribute;
|
||||
|
@@ -3,6 +3,7 @@ package cn.jisol.game.controller.game;
|
||||
import cfg.TB.TbGRoleUpLevel;
|
||||
import cfg.TbGEntity.TResource;
|
||||
import cn.jisol.game.controller.argsresolver.CurrentPlayer;
|
||||
import cn.jisol.game.controller.exception.ResourceNotException;
|
||||
import cn.jisol.game.data.TD;
|
||||
import cn.jisol.game.entity.table.Player;
|
||||
import cn.jisol.game.entity.table.PlayerPet;
|
||||
|
@@ -1,15 +1,20 @@
|
||||
package cn.jisol.game.service.impl;
|
||||
|
||||
import cn.jisol.game.controller.exception.ResourceInitException;
|
||||
import cn.jisol.game.controller.exception.ResourceNotException;
|
||||
import cn.jisol.game.entity.table.Resource;
|
||||
import cn.jisol.game.mapper.ResourceMapper;
|
||||
import cn.jisol.game.service.ResourceService;
|
||||
import cn.jisol.ngame.util.spring.SpringBeanUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.aop.framework.AopContext;
|
||||
import org.springframework.retry.RetryException;
|
||||
import org.springframework.retry.annotation.Retryable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -23,7 +28,6 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Retryable(RetryException.class)
|
||||
public Resource addResourceValue(Long playerId, int type, Long value) {
|
||||
|
||||
|
||||
@@ -49,10 +53,14 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
|
||||
if(!update){
|
||||
if(Objects.isNull(res)){
|
||||
//没有资源信息 创建初始资源
|
||||
res = this.initResource(playerId,type);
|
||||
//并且重试
|
||||
throw new RetryException("");
|
||||
if(value > 0){
|
||||
//没有资源信息 创建初始资源
|
||||
res = this.initResource(playerId,type);
|
||||
this.addResourceValue(playerId,type,value);
|
||||
}else{
|
||||
throw new ResourceNotException("资源不够");
|
||||
}
|
||||
}else{
|
||||
//更新失败 材料不够
|
||||
throw new ResourceNotException("资源不够");
|
||||
|
Reference in New Issue
Block a user