This commit is contained in:
DESKTOP-5RP3AKU\Jisol
2024-01-09 04:33:21 +08:00
parent e8a1cb9362
commit a153d98cf1
29 changed files with 1337 additions and 2726 deletions

View File

@@ -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

View File

@@ -0,0 +1,9 @@
package cn.jisol.game.controller.exception;
public class ResourceInitException extends RuntimeException{
public ResourceInitException() {
}
public ResourceInitException(String message) {
super(message);
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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("资源不够");