From 69462bf57a3549aada8a9a824dbf5ad0ad72ebc9 Mon Sep 17 00:00:00 2001 From: 623756217 <623756217@qq.com> Date: Wed, 8 Mar 2023 16:10:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0transferBot=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../softbot/controller/user/UserController.java | 7 ++++--- .../softbot/service/user/IUserService.java | 2 +- .../softbot/service/user/impl/UserService.java | 15 +++++++++++++-- .../softbot/vo/GetTransferToBotResponse.java | 2 ++ 4 files changed, 20 insertions(+), 6 deletions(-) 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 8be80c5..27361e6 100644 --- a/src/main/java/com/gitlink/softbot/controller/user/UserController.java +++ b/src/main/java/com/gitlink/softbot/controller/user/UserController.java @@ -205,7 +205,7 @@ public class UserController { * @return */ @PostMapping("/transferBot") - public Result transferBot(@RequestBody TransferBotRequest transferBotRequest){ + public Result transferBot(@RequestBody TransferBotRequest transferBotRequest) throws BotException { Result result = new Result<>(); userService.transferBot(transferBotRequest); return result.build(200).build("transfer bot success!"); @@ -213,12 +213,13 @@ public class UserController { /** * 查看转让者该Bot转让状态 - * @param getTransferFromBotRequest + * @param userId * @return */ @GetMapping("/getTransferBotState") - public Result getTransferBotState(@Valid @RequestBody GetTransferFromBotRequest getTransferFromBotRequest){ + public Result getTransferBotState(@RequestParam("user_id") Integer userId, @RequestParam("bot_id") Integer botId,@RequestParam("login") String login){ Result result = new Result<>(); + GetTransferFromBotRequest getTransferFromBotRequest = new GetTransferFromBotRequest(userId,login,botId); GetTransferFromBotResponse getTransferFromBotResponse = userService.getTransferBotState(getTransferFromBotRequest); return result.build(200).build("get state success!").build(getTransferFromBotResponse); } 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 8d2fc81..a890834 100644 --- a/src/main/java/com/gitlink/softbot/service/user/IUserService.java +++ b/src/main/java/com/gitlink/softbot/service/user/IUserService.java @@ -32,7 +32,7 @@ public interface IUserService { //查看所有安装的Bot GetInstallBotResponse getInstallBot(GetInstallBotRequest getInstallBotRequest)throws BotException; //转让Bot - void transferBot(TransferBotRequest transferBotRequest); + void transferBot(TransferBotRequest transferBotRequest) throws BotException; //查看bot转让状态 GetTransferFromBotResponse getTransferBotState(GetTransferFromBotRequest getTransferFromBotRequest); //转让者取消转让 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 97cd6af..f01b2f2 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 @@ -860,8 +860,18 @@ public class UserService extends AbstractUserBot implements IUserService { @Override @Transactional(rollbackFor = Exception.class) - public void transferBot(TransferBotRequest transferBotRequest) { - //TODO 校验待转让者是否存在 + public void transferBot(TransferBotRequest transferBotRequest) throws BotException { + //校验待转让者与bot所属关系 + Bot bot = botMapper.selectById(transferBotRequest.getBotId()); + if(Objects.isNull(bot)||!bot.getOwnerId().equals(transferBotRequest.getUserId())){ + throw new BotException("转让的bot不存在或者不属于该开发者"); + } + TransferBot transferBot0 = transferBotMapper.selectOne(new QueryWrapper() + .eq("bot_id",transferBotRequest.getBotId()) + .eq("is_success",2)); + if(!Objects.isNull(transferBot0)){ + throw new BotException("该bot已经处于转让状态中!"); + } TransferBot transferBot = new TransferBot(); transferBot.setBotId(transferBotRequest.getBotId()); transferBot.setTransferFromId(transferBotRequest.getUserId()); @@ -935,6 +945,7 @@ public class UserService extends AbstractUserBot implements IUserService { }); } getTransferToBotResponse.setUserId(getTransferToBotRequest.getUserId()); + getTransferToBotResponse.setLogin(getTransferToBotRequest.getLogin()); getTransferToBotResponse.setBotList(getTransferToBots); return getTransferToBotResponse; } diff --git a/src/main/java/com/gitlink/softbot/vo/GetTransferToBotResponse.java b/src/main/java/com/gitlink/softbot/vo/GetTransferToBotResponse.java index 10830f9..5d412b3 100644 --- a/src/main/java/com/gitlink/softbot/vo/GetTransferToBotResponse.java +++ b/src/main/java/com/gitlink/softbot/vo/GetTransferToBotResponse.java @@ -34,6 +34,7 @@ public class GetTransferToBotResponse implements Serializable { getTransferToBot.setBotId(bot.getId()); getTransferToBot.setBotName(bot.getBotName()); getTransferToBot.setTransferDate(transferBot.getTransferTime()); + getTransferToBot.setFromlogin(transferBot.getFromLogin()); getTransferToBot.setTransferId(transferBot.getTransferFromId()); return getTransferToBot; } @@ -47,6 +48,7 @@ public class GetTransferToBotResponse implements Serializable { private Integer botId; private String botName; private Integer transferId; + private String fromlogin; private Date transferDate; } }