This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-15 18:45:45 +08:00
parent 94832afecb
commit 68e0f81616
14 changed files with 65 additions and 47 deletions

View File

@@ -51,7 +51,7 @@ public class GNoviceController {
return NewsContext.onFail("你已经有宠物了!");
}else{
//选择宠物
if (playerPetService.save(PlayerPet.builder().petPlayerId(player.getPlayerId()).petTbId(petId).petLevel(0).build())){
if (playerPetService.save(PlayerPet.builder().petPlayerId(player.getPlayerId()).petTbId(petId).build())){
return NewsContext.onSuccess("选择宠物成功");
}else{
return NewsContext.onSuccess("选择宠物失败");

View File

@@ -124,40 +124,40 @@ public class GPlayerPetController {
}
//提升宠物等级
@ApiImplicitParams({})
@ApiOperation(value = "提升宠物等级")
@PostMapping("/up/level/{petId}")
@Transactional
public NewsResource<PlayerPet> onUpLevel(@PathVariable Integer petId, @CurrentPlayer Player player){
//获取需要升级的宠物
PlayerPet pet = playerPetService.getById(petId);
if(Objects.isNull(pet) || !Objects.equals(pet.getPetPlayerId(), player.getPlayerId())){
return NewsResource.onFail("你未拥有这个宠物");
}
TbGRoleUpLevel resource = TD.DATA.getTbGRoleUpLevel().get(pet.getPetLevel() + 1);
if(Objects.isNull(resource)) return NewsResource.onFail("无法升级");
//星级不够则 无法升级
if(pet.getPetStar() * 10 <= pet.getPetLevel()){
return NewsResource.onFail("突破星级 可升级");
}
//扣除玩家材料
ArrayList<ResourceUpdateOV> resources = new ArrayList<>(resourceService.deduct(player, resource.materials));
//升级
pet.setPetLevel(pet.getPetLevel() + 1);
//保存
if(!playerPetService.updateById(pet)) throw new RetryException("");
resources.add(ResourceUpdateOV.onPet(ResourceUpdateOV.ResourceUpdateType.UPDATE,pet)); //刷新宠物
return NewsResource.onSuccess("升级成功",pet,resources.toArray(new ResourceUpdateOV[0]));
}
// //提升宠物等级
// @ApiImplicitParams({})
// @ApiOperation(value = "提升宠物等级")
// @PostMapping("/up/level/{petId}")
// @Transactional
// public NewsResource<PlayerPet> onUpLevel(@PathVariable Integer petId, @CurrentPlayer Player player){
//
//
// //获取需要升级的宠物
// PlayerPet pet = playerPetService.getById(petId);
// if(Objects.isNull(pet) || !Objects.equals(pet.getPetPlayerId(), player.getPlayerId())){
// return NewsResource.onFail("你未拥有这个宠物");
// }
//
// TbGRoleUpLevel resource = TD.DATA.getTbGRoleUpLevel().get(pet.getPetLevel() + 1);
//
// if(Objects.isNull(resource)) return NewsResource.onFail("无法升级");
//
// //星级不够则 无法升级
// if(pet.getPetStar() * 10 <= pet.getPetLevel()){
// return NewsResource.onFail("突破星级 可升级");
// }
// //扣除玩家材料
// ArrayList<ResourceUpdateOV> resources = new ArrayList<>(resourceService.deduct(player, resource.materials));
//
// //升级
// pet.setPetLevel(pet.getPetLevel() + 1);
//
// //保存
// if(!playerPetService.updateById(pet)) throw new RetryException("");
// resources.add(ResourceUpdateOV.onPet(ResourceUpdateOV.ResourceUpdateType.UPDATE,pet)); //刷新宠物
//
// return NewsResource.onSuccess("升级成功",pet,resources.toArray(new ResourceUpdateOV[0]));
//
// }
}

View File

@@ -247,7 +247,7 @@ public class GOnHookController {
}
//捕捉
PlayerPet pet = PlayerPet.builder().petPlayerId(player.getPlayerId()).petTbId(onHookPet.getPetTbId()).petLevel(0).build();
PlayerPet pet = PlayerPet.builder().petPlayerId(player.getPlayerId()).petTbId(onHookPet.getPetTbId()).build();
if(playerPetService.save(pet)){
return NewsContext.onSuccess("捕捉成功",pet);
}else{

View File

@@ -18,7 +18,6 @@ public class PlayerPet {
private Long petId; //宠物唯一Id
private Long petPlayerId; //宠物的玩家Id
private Integer petTbId; //宠物配置表Id
private Integer petLevel; //宠物等级
private Integer petStar; //宠物星级
private Integer petStarExp; //宠物星级经验
@Version

View File

@@ -16,6 +16,7 @@ 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.retry.RetryException;
import org.springframework.stereotype.Service;
import java.lang.reflect.Array;
@@ -64,7 +65,7 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
try{
res = this.initResource(playerId,type,value);
}catch (Exception e){
return this.addResourceValue(playerId,type,value);
throw new RetryException("服务器忙碌啦");
}
}else{
throw new ResourceNotException("资源不够");

View File

@@ -4,8 +4,8 @@ spring:
datasource:
username: pet_jisol_cn
password: sThsBwjfDcaw2wJR
# url: jdbc:mysql://kyu.jisol.cn:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
url: jdbc:mysql://localhost:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
url: jdbc:mysql://kyu.jisol.cn:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
# url: jdbc:mysql://localhost:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
serialization: