diff --git a/src/main/java/com/gitlink/softbot/controller/user/UserController.java b/src/main/java/com/gitlink/softbot/controller/user/UserController.java index 27361e6..d63e809 100644 --- a/src/main/java/com/gitlink/softbot/controller/user/UserController.java +++ b/src/main/java/com/gitlink/softbot/controller/user/UserController.java @@ -258,7 +258,7 @@ public class UserController { * @return */ @PostMapping("/receiveTransferBot") - public Result receiveTransferBot(@Valid @RequestBody ReceiveTransferBotRequest receiveTransferBotRequest){ + public Result receiveTransferBot(@Valid @RequestBody ReceiveTransferBotRequest receiveTransferBotRequest) throws BotException { Result result = new Result<>(); userService.receiveTransferBot(receiveTransferBotRequest); return result.build(200).build("receive success!"); diff --git a/src/main/java/com/gitlink/softbot/service/user/IUserService.java b/src/main/java/com/gitlink/softbot/service/user/IUserService.java index a890834..f93563c 100644 --- a/src/main/java/com/gitlink/softbot/service/user/IUserService.java +++ b/src/main/java/com/gitlink/softbot/service/user/IUserService.java @@ -40,7 +40,7 @@ public interface IUserService { //待转让者查看带转让Bot记录 GetTransferToBotResponse getTransferToBot(GetTransferToBotRequest getTransferToBotRequest); //接收TransferBot - void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest); + void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest) throws BotException; //拒绝接收转让Bot void refuseTransferBot(RefuseTransferBotRequest refuseTransferBotRequest) throws BotException; //判断是否安装过此bot diff --git a/src/main/java/com/gitlink/softbot/service/user/impl/UserService.java b/src/main/java/com/gitlink/softbot/service/user/impl/UserService.java index da54fbf..6417646 100644 --- a/src/main/java/com/gitlink/softbot/service/user/impl/UserService.java +++ b/src/main/java/com/gitlink/softbot/service/user/impl/UserService.java @@ -918,12 +918,14 @@ public class UserService extends AbstractUserBot implements IUserService { .eq(TransferBot::getBotId,getTransferFromBotRequest.getBotId()) .eq(TransferBot::getTransferFromId,getTransferFromBotRequest.getUserId()) .orderByDesc(TransferBot::getId)); - TransferBot transferBot = transferBots.get(0); GetTransferFromBotResponse getTransferFromBotResponse = new GetTransferFromBotResponse(); - getTransferFromBotResponse.setBotId(getTransferFromBotRequest.getBotId()); - getTransferFromBotResponse.setUserId(getTransferFromBotRequest.getUserId()); - getTransferFromBotResponse.setState(transferBot.getIsSuccess()); - getTransferFromBotResponse.setLogin(transferBot.getFromLogin()); + if(transferBots!=null && transferBots.size()>0){ + TransferBot transferBot = transferBots.get(0); + getTransferFromBotResponse.setBotId(getTransferFromBotRequest.getBotId()); + getTransferFromBotResponse.setUserId(getTransferFromBotRequest.getUserId()); + getTransferFromBotResponse.setState(transferBot.getIsSuccess()); + getTransferFromBotResponse.setLogin(transferBot.getFromLogin()); + } return getTransferFromBotResponse; } @@ -977,7 +979,7 @@ public class UserService extends AbstractUserBot implements IUserService { @Override @Transactional(rollbackFor = Exception.class) - public void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest) { + public void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest) throws BotException { //1.修改transfer_bot表 List transferBots = transferBotMapper.selectList(Wrappers.lambdaQuery() .eq(TransferBot::getTransferFromId,receiveTransferBotRequest.getTransferFromId()) @@ -1002,6 +1004,11 @@ public class UserService extends AbstractUserBot implements IUserService { .eq("id",receiveTransferBotRequest.getBotId())); bot.setOwnerId(receiveTransferBotRequest.getTransferToId()); botMapper.updateById(bot); + // 4.bot表中更新client_secret和private_key字段 + Response response0 = api.activeBotAuth(registerBot.getDeveloperId(), bot.getId(), AuthOperate.UPDATE_SECRET); + checkException(response0); + Response response1 = api.activeBotAuth(registerBot.getDeveloperId(), bot.getId(), AuthOperate.UPDATE_PRIVATE_KEY); + checkException(response1); } }