对接平台接口

This commit is contained in:
tonglin 2023-03-03 18:45:22 +08:00
parent f2a1a8c95a
commit 14387d4198
31 changed files with 285 additions and 49 deletions

View File

@ -1,8 +1,11 @@
package com.gitlink.softbot.controller.user;
import com.gitlink.softbot.global.exception.BotException;
import com.gitlink.softbot.global.vo.Response;
import com.gitlink.softbot.global.vo.Result;
import com.gitlink.softbot.service.user.IUserService;
import com.gitlink.softbot.utils.AuthOperate;
import com.gitlink.softbot.utils.GitLinkApi;
import com.gitlink.softbot.vo.*;
import org.springframework.web.bind.annotation.*;
@ -15,11 +18,15 @@ import javax.validation.Valid;
@CrossOrigin()
public class UserController {
/**
* 注册Bot
*/
@Resource
IUserService userService;
@Resource
GitLinkApi api;
@PostMapping("/registerBot")
public Result<BotOutputVO> registerBot(@Valid @RequestBody BotInputVO botInputVO ) throws BotException {
Result<BotOutputVO> result = new Result<>();
@ -161,7 +168,7 @@ public class UserController {
* @return
*/
@PostMapping("/updateInstallBot")
public Result<?> updateInstallBot(@Valid @RequestBody UpdateInstallBotRequest updateInstallBotRequest){
public Result<?> updateInstallBot(@Valid @RequestBody UpdateInstallBotRequest updateInstallBotRequest) throws BotException{
Result<?> result = new Result<>();
userService.updateInstallBot(updateInstallBotRequest);
return result.build(200).build("update bot success!");
@ -185,8 +192,8 @@ public class UserController {
* @return
*/
@GetMapping("/getInstallBot")
public Result<?> getInstallBot(@RequestParam("user_id") Integer userId, @RequestParam("bot_id") Integer botId) throws BotException{
GetInstallBotRequest getInstallBotRequest = new GetInstallBotRequest(userId, botId);
public Result<?> getInstallBot(@RequestParam("user_id") Integer userId, @RequestParam("bot_id") Integer botId,@RequestParam("login") String login) throws BotException{
GetInstallBotRequest getInstallBotRequest = new GetInstallBotRequest(userId, login,botId);
Result<?> result = new Result<>();
GetInstallBotResponse getInstallBotResponse = userService.getInstallBot(getInstallBotRequest);
return result.build(200).build(getInstallBotResponse).build("get installBot success!");
@ -235,8 +242,10 @@ public class UserController {
* @return
*/
@GetMapping("/getTransferToBot")
public Result<GetTransferToBotResponse> getTransferToBotResponseResult(@RequestParam("user_id") Integer userId, @RequestParam("state") Integer state){
GetTransferToBotRequest getTransferToBotRequest = new GetTransferToBotRequest(userId, state);
public Result<GetTransferToBotResponse> getTransferToBotResponseResult(@RequestParam("user_id") Integer userId,
@RequestParam("state") Integer state,
@RequestParam("login") String login){
GetTransferToBotRequest getTransferToBotRequest = new GetTransferToBotRequest(userId, login,state);
Result<GetTransferToBotResponse> result = new Result<>();
GetTransferToBotResponse getTransferToBotResponse = userService.getTransferToBot(getTransferToBotRequest);
return result.build(200).build("get transferToBot success!").build(getTransferToBotResponse);
@ -307,6 +316,16 @@ public class UserController {
Result<GetStoreAllInstallBotResponse> result = new Result<>();
return result.build(getStoreAllInstallBotResponse).build(200).build("success!");
}
/**
* 更新ClientSecret
*/
@PostMapping("/updateClientSecret")
public Result<?> updateClientSecret(@RequestParam("user_id") Integer userId,@RequestParam("bot_id") Integer botId){
Response response = api.activeBotAuth(userId,botId, AuthOperate.UPDATE_SECRET);
Result<Object> result = new Result<>();
return result.build(response).build(200).build("update success!");
}
}

View File

@ -45,6 +45,11 @@ public class Bot {
private String category;
private String privateKey;
private Integer owerId;
private Integer uid;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;

View File

@ -31,6 +31,15 @@ public class InstallBot {
private Integer state;
//安装者登录名
private String installerLogin;
//仓库唯一标识
private String storeRepo;
//添加webhookId
private Integer webhookId;
@TableField(fill = FieldFill.INSERT)
private Date createTime;

View File

@ -27,6 +27,11 @@ public class RegisterBot {
private Integer developerId;
/**
* 注册者登录名
*/
private String developerLogin;
@TableField(fill = FieldFill.INSERT)
private Date createTime;

View File

@ -27,8 +27,18 @@ public class TransferBot {
private Integer transferFromId;
/**
* 转让者登录名
*/
private String fromLogin;
private Integer transferToId;
/**
* 接收者登录名
*/
private String toLogin;
private Integer isSuccess;
private Date transferTime;

View File

@ -22,7 +22,7 @@ public interface IUserService {
//安装Bot
void installMarketBot(InstallMarketBotRequest installMarketBotRequest) throws BotException;
//用户配置安装的Bot
void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest);
void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest) throws BotException;
//删除安装的Bot
void deleteInstallBot(DeleteInstallBotRequest deleteInstallBotRequest) throws BotException;
//修改上市bot

View File

@ -5,12 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.gitlink.softbot.dao.db.*;
import com.gitlink.softbot.entity.db.*;
import com.gitlink.softbot.global.exception.BotException;
import com.gitlink.softbot.global.vo.Response;
import com.gitlink.softbot.service.market.IMarketService;
import com.gitlink.softbot.service.user.AbstractUserBot;
import com.gitlink.softbot.service.user.IUserService;
import com.gitlink.softbot.utils.AuthOperate;
import com.gitlink.softbot.utils.GitLinkApi;
import com.gitlink.softbot.utils.response.AddWebhookResponse;
import com.gitlink.softbot.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -42,6 +47,11 @@ public class UserService extends AbstractUserBot implements IUserService {
@Autowired
TransferBotMapper transferBotMapper;
@Autowired
GitLinkApi api;
/**
* 获取个人注册bot信息
* @param userId
@ -64,8 +74,11 @@ public class UserService extends AbstractUserBot implements IUserService {
LimitVO limitVO = getLimitFromLimitEvents(botLimitEvents);
GetRegisterBotResponse getRegisterBotResponse = new GetRegisterBotResponse();
BotOutputVO botOutputVO = new BotOutputVO();
//增加用户登录名
botOutputVO.setLogin(registerBot.getDeveloperLogin());
BeanUtils.copyProperties(bot,botOutputVO);
getRegisterBotResponse.setBotOutputVO(botOutputVO);
getRegisterBotResponse.setLogin(registerBot.getDeveloperLogin());
botOutputVO.setLimitAndEvents(limitVO);
//查询是否传让
@ -92,6 +105,7 @@ public class UserService extends AbstractUserBot implements IUserService {
log.info("开始注册Bot{}", JSON.toJSONString(botVO));
//校验必填信息信息
checkInfo(botVO);
//插入Bot表
botMapper.insert(shiftObject(botVO));
Bot insertBot = botMapper.selectOne(new QueryWrapper<Bot>().eq("bot_name",botVO.getBotName()));
@ -104,6 +118,9 @@ public class UserService extends AbstractUserBot implements IUserService {
RegisterBot registerBot = shiftBotToRegisterBot(botVO,insertBot);
registerMapper.insert(registerBot);
log.info("注册Bot结束{}",JSON.toJSONString(shiftBotToBotOutputVo(botVO,insertBot)));
//激活Bot
api.activeBotAuth(botVO.getUserId(), botVO.getBotId(), AuthOperate.AUTH_ACTIVE);
return shiftBotToBotOutputVo(botVO,insertBot);
}
@ -150,7 +167,6 @@ public class UserService extends AbstractUserBot implements IUserService {
//有变化需要更新
if (flag){//权限发生变化则通知安装者
//TODO 通知权限发生变化
//更新权限
botLimitMapper.delete(new QueryWrapper<BotLimitEvent>()
.eq("bot_id",id));
@ -169,14 +185,7 @@ public class UserService extends AbstractUserBot implements IUserService {
String eventPr = limitVO.getEventPr();
//无权限条件下
if (StringUtils.isBlank(eventCode)&&StringUtils.isBlank(eventPr)){
Limit limit = new Limit();
limit.setEvent(5);
limit.setReadWriteCode(2);
limit.setReadWritePr(2);
limit.setAuthCategory(2);
List<Limit> limitList = new ArrayList<>();
limitList.add(limit);
return limitList;
throw new BotException("事件不能为空!");
}
//0只读1读写2:无权限
Integer jurisDictionCode = limitVO.getJurisDictionCode();
@ -232,7 +241,7 @@ public class UserService extends AbstractUserBot implements IUserService {
registerBots.forEach(registerBot -> {
botOutputVOS.add(getBotOutputVoFromLimitAndBot(
botMapper.selectById(registerBot.getBotId()),botLimitMapper.selectList(new QueryWrapper<BotLimitEvent>()
.eq("bot_id",registerBot.getBotId())),userId
.eq("bot_id",registerBot.getBotId())),userId,registerBot.getDeveloperLogin()
));
});
botOutputVOS.forEach(botOutputVO->{
@ -265,12 +274,13 @@ public class UserService extends AbstractUserBot implements IUserService {
throw new BotException("该名称已经被使用!");
}
}
public BotOutputVO getBotOutputVoFromLimitAndBot(Bot bot,List<BotLimitEvent> botLimitEvents,Integer userId){
public BotOutputVO getBotOutputVoFromLimitAndBot(Bot bot,List<BotLimitEvent> botLimitEvents,Integer userId,String login){
BotOutputVO botOutputVO = new BotOutputVO();
botOutputVO.setBotId(bot.getId());
botOutputVO.setBotDes(bot.getBotDes());
botOutputVO.setBotName(bot.getBotName());
botOutputVO.setUserId(userId);
botOutputVO.setLogin(login);
botOutputVO.setLogo(bot.getLogo());
botOutputVO.setWebUrl(bot.getWebUrl());
botOutputVO.setWebhook(bot.getWebhook());
@ -328,9 +338,7 @@ public class UserService extends AbstractUserBot implements IUserService {
bot.setBotName(botVO.getBotName());
bot.setIsPublic(botVO.getIsPublic());
bot.setWebhook(botVO.getWebhook());
bot.setClientSecret(getClientSecret());
bot.setClientId(getClientId());
bot.setWebUrl(getBotUrl(botVO.getBotName()));
bot.setWebUrl(botVO.getBotUrl());
bot.setLogo(botVO.getLogo());
bot.setState(0);
return bot;
@ -355,6 +363,7 @@ public class UserService extends AbstractUserBot implements IUserService {
RegisterBot registerBot = new RegisterBot();
registerBot.setBotId(bot.getId());
registerBot.setDeveloperId(botInputVO.getUserId());
registerBot.setDeveloperLogin(botInputVO.getLogin());
return registerBot;
}
public BotOutputVO shiftBotToBotOutputVo(BotInputVO botInputVO,Bot bot){
@ -386,6 +395,25 @@ public class UserService extends AbstractUserBot implements IUserService {
if (!registerBot.getDeveloperId().equals(deleteBotRequest.getUserId())){
throw new BotException("不能删除不属于自己的Bot");
}
//查询所有安装要删除bot的安装信息
List<InstallBot> installBots = installMapper.selectList(Wrappers.<InstallBot>lambdaQuery()
.eq(InstallBot::getBotId,deleteBotRequest.getBotId()));
if (installBots!=null&&installBots.size()>0){
//批量插入installBot表添加webhook
for (InstallBot installBot : installBots) {
//构造接口参数
Object[] objects = new Object[]{deleteBotRequest.getLogin(), installBot.getStoreRepo()};
//调用平台api删除所有相关webhook
api.deleteWebhook(deleteBotRequest.getUserId(),objects,installBot.getWebhookId());
}
}
int flag1 = botMapper.deleteById(deleteBotRequest.getBotId());
//2.删除limit表中数据
Map<String,Object> map = new HashMap<>();
@ -532,7 +560,7 @@ public class UserService extends AbstractUserBot implements IUserService {
@Override
@Transactional(rollbackFor = Exception.class)
public void installMarketBot(InstallMarketBotRequest installMarketBotRequest) throws BotException{
public void installMarketBot(InstallMarketBotRequest installMarketBotRequest) throws BotException {
try {
//1.校验有没有安装过此Bot
@ -544,9 +572,32 @@ public class UserService extends AbstractUserBot implements IUserService {
}
//1.插入到installBot表中
List<Integer> storeList = installMarketBotRequest.getStoreList();
storeList.forEach(store ->{
installMapper.insert(getInstallBot(installMarketBotRequest,store));
});
List<InstallBot> installBotList = new ArrayList<>();
//批量构造InstallBot
getInstallBots(installBotList,installMarketBotRequest,storeList);
//查询订阅事件
List<BotLimitEvent> botLimitEvents = botLimitMapper.selectList(Wrappers.<BotLimitEvent>lambdaQuery()
.eq(BotLimitEvent::getBotId, installMarketBotRequest.getBotId()));
assert botLimitEvents != null && botLimitEvents.size() > 0;
Webhook webhook = getWebhook(botLimitEvents);
//批量插入installBot表添加webhook
for (InstallBot installBot : installBotList) {
//插入表
installMapper.insert(installBot);
//先获取webhookId构造webhook
Object[] objects = new Object[]{installMarketBotRequest.getLogin(), installBot.getStoreRepo()};
Response response = api.addWebhook(installMarketBotRequest.getUserId(), objects, webhook);
AddWebhookResponse addWebhookResponse = JSON.parseObject(response.getData().toString(),AddWebhookResponse.class);
//回写WebhookId
installBot.setWebhookId(addWebhookResponse.getId());
installMapper.updateById(installBot);
}
//2.对MarketBot表中install_num加1
MarketBot updateMarketBot = marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
.eq("bot_id",installMarketBotRequest.getBotId()));
@ -569,22 +620,61 @@ public class UserService extends AbstractUserBot implements IUserService {
throw new BotException("安装失败!");
}
// //4.对es中install_num加1
// marketService.updateBotInstall(String.valueOf(installMarketBotRequest.getBotId()),"+");
}
public InstallBot getInstallBot(InstallMarketBotRequest installMarketBotRequest,Integer storeId){
InstallBot installBot = new InstallBot();
installBot.setBotId(installMarketBotRequest.getBotId());
installBot.setInstallerId(installMarketBotRequest.getUserId());
installBot.setStoreId(storeId);
installBot.setState(installMarketBotRequest.getState());
return installBot;
private Webhook getWebhook(List<BotLimitEvent> limitEvents){
assert !Objects.isNull(limitEvents);
Webhook webhook = new Webhook();
Object[] objects = new Object[limitEvents.size()];
for (int i = 0; i < limitEvents.size(); i++) {
if (limitEvents.get(i).getEvent()==0){
objects[i]="push";
}else if (limitEvents.get(i).getEvent()==1){
objects[i]="create";
}else if (limitEvents.get(i).getEvent()==2){
objects[i]="delete";
}else if (limitEvents.get(i).getEvent()==3){
objects[i]="pull_request";
}else {
objects[i]="pull_request_assign";
}
}
Bot bot = botMapper.selectById(limitEvents.get(0).getBotId());
webhook.setEvents(objects);
webhook.setContent_type("json");
webhook.setUrl(bot.getWebUrl());
webhook.setHttp_method("POST");
webhook.setBranch_filter("*");
return webhook;
}
public void getInstallBots(List<InstallBot> installBots,InstallMarketBotRequest installMarketBotRequest,List<Integer> storeIds){
// InstallBot installBot = new InstallBot();
// installBot.setBotId(installMarketBotRequest.getBotId());
// installBot.setInstallerId(installMarketBotRequest.getUserId());
// installBot.setStoreId(storeId);
// installBot.setState(installMarketBotRequest.getState());
if (storeIds!=null&&storeIds.size()>0){
storeIds.forEach(storeId->{
InstallBot installBot = new InstallBot();
installBot.setBotId(installMarketBotRequest.getBotId());
installBot.setInstallerId(installMarketBotRequest.getUserId());
installBot.setInstallerLogin(installMarketBotRequest.getLogin());
installBot.setStoreId(storeId);
installBot.setStoreRepo(installMarketBotRequest.getRepoMap().get(storeId));
installBot.setState(installMarketBotRequest.getState());
installBots.add(installBot);
});
}
}
public InstallBot getInstallBot(UpdateInstallBotRequest updateInstallBotRequest,Integer storeId){
InstallBot installBot = new InstallBot();
installBot.setBotId(updateInstallBotRequest.getBotId());
installBot.setInstallerId(updateInstallBotRequest.getUserId());
installBot.setStoreId(storeId);
installBot.setInstallerLogin(updateInstallBotRequest.getLogin());
installBot.setStoreRepo(updateInstallBotRequest.getRepoMap().get(storeId));
//TODO 如果bot生效通过平台该bot
installBot.setState(updateInstallBotRequest.getState());
return installBot;
@ -592,20 +682,47 @@ public class UserService extends AbstractUserBot implements IUserService {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest) {
public void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest) throws BotException{
if (updateInstallBotRequest.getState()==0){
//TODO 挂起要验证密码
}
//1.先删除botId和userId对应的所有installBot
List<InstallBot> installBotList = installMapper.selectList(Wrappers.<InstallBot>lambdaQuery()
.eq(InstallBot::getBotId,updateInstallBotRequest.getBotId())
.eq(InstallBot::getInstallerId,updateInstallBotRequest.getUserId()));
if (!Objects.isNull(installBotList)){
for (InstallBot installBot : installBotList){
//先删除webhook
Object[] objects = new Object[]{updateInstallBotRequest.getLogin(),installBot.getStoreRepo()};
api.deleteWebhook(updateInstallBotRequest.getUserId(),objects,installBot.getWebhookId());
}
}
installMapper.delete(new QueryWrapper<InstallBot>()
.eq("bot_id",updateInstallBotRequest.getBotId())
.eq("installer_id",updateInstallBotRequest.getUserId()));
List<Integer> storeList = updateInstallBotRequest.getStoreList();
//2.然后重新插入所有storeId;
storeList.forEach(store->{
installMapper.insert(getInstallBot(updateInstallBotRequest,store));
});
//2.然后重新插入所有storeId; //新增webhook
List<BotLimitEvent> botLimitEvents = botLimitMapper.selectList(Wrappers.<BotLimitEvent>lambdaQuery()
.eq(BotLimitEvent::getBotId,updateInstallBotRequest.getBotId()));
Webhook webhook = getWebhook(botLimitEvents);
for (Integer store : storeList){
InstallBot installBot = getInstallBot(updateInstallBotRequest,store);
installMapper.insert(installBot);
Object[] objects = new Object[]{updateInstallBotRequest.getLogin(),installBot.getStoreRepo()};
try {
Response response = api.addWebhook(updateInstallBotRequest.getUserId(),objects,webhook);
AddWebhookResponse addWebhookResponse = JSON.parseObject(response.getData().toString(),AddWebhookResponse.class);
installBot.setWebhookId(addWebhookResponse.getId());
installMapper.updateById(installBot);
}catch (Exception e){
throw new BotException("添加webhook失败");
}
}
}
@Override
@ -629,12 +746,17 @@ public class UserService extends AbstractUserBot implements IUserService {
marketBot.setInstallNum(marketBot.getInstallNum()-1);
marketBotMapper.updateById(marketBot);
}
// //3.es中install_num减去1
// marketService.updateBotInstall(String.valueOf(deleteInstallBotRequest.getBotId()),"-");
//删除install_bot
installMapper.delete(new QueryWrapper<InstallBot>()
.eq("bot_id",deleteInstallBotRequest.getBotId())
.eq("installer_id",deleteInstallBotRequest.getUserId()));
InstallBot installBot = installMapper.selectOne(Wrappers.<InstallBot>lambdaQuery()
.eq(InstallBot::getBotId,deleteInstallBotRequest.getBotId())
.eq(InstallBot::getInstallerId,deleteInstallBotRequest.getUserId()));
installMapper.deleteById(installBot.getId());
//删除webhook
Object[] objects = new Object[]{deleteInstallBotRequest.getLogin(),installBot.getStoreRepo()};
api.deleteWebhook(deleteInstallBotRequest.getUserId(),objects,installBot.getWebhookId());
}
@Override

View File

@ -0,0 +1,9 @@
package com.gitlink.softbot.utils;
public class AuthOperate {
public final static String AUTH_ACTIVE = "auth_active";
public final static String UPDATE_SECRET = "update_secret";
public final static String UPDATE_PRIVATE_KEY = "update_private_key";
}

View File

@ -2,9 +2,6 @@ package com.gitlink.softbot.utils;
import com.gitlink.softbot.global.vo.Response;
import org.apache.logging.log4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

View File

@ -0,0 +1,19 @@
package com.gitlink.softbot.utils.response;
import lombok.Data;
import java.util.Date;
@Data
public class AddWebhookResponse {
private Integer Id;
private String type;
private String contentType;
private String httpMethod;
private String url;
private String[] events;
private Boolean active;
private String branchFilter;
private Date createdAt;
}

View File

@ -25,6 +25,8 @@ public class BotInputVO implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
private Integer botId;
//bot名称
@ -45,6 +47,9 @@ public class BotInputVO implements Serializable {
//是否公开
private Integer isPublic;
//TODO 前端改协议
private String botUrl;
/**
* 权限与事件
*/

View File

@ -23,6 +23,8 @@ public class BotOutputVO implements Serializable {
private Integer userId;
private String login;
//bot名称
private String botName;

View File

@ -22,6 +22,9 @@ public class BotToMarketRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;

View File

@ -20,6 +20,9 @@ import java.io.Serializable;
public class CancelTransferBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
}

View File

@ -19,6 +19,9 @@ import javax.validation.constraints.NotNull;
public class DeleteBotRequest {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
}

View File

@ -20,6 +20,9 @@ import javax.validation.constraints.NotNull;
public class DeleteInstallBotRequest {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
private String password;

View File

@ -21,5 +21,7 @@ public class GetAllInstallBotsResponse {
Integer userId;
String login;
List<InstallBotInfo> installBots;
}

View File

@ -18,4 +18,5 @@ import java.io.Serializable;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetBotRequest implements Serializable {
private Integer userId;
private String login;
}

View File

@ -18,5 +18,6 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetBotResponse {
private Integer userId;
private String login;
private List<BotOutputVO> list;
}

View File

@ -20,6 +20,7 @@ import java.io.Serializable;
public class GetInstallBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
}

View File

@ -20,6 +20,7 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetInstallBotResponse implements Serializable {
private Integer userId;
private String login;
private Integer botId;
private String marketName;
private Integer state;

View File

@ -20,4 +20,5 @@ import java.io.Serializable;
public class GetMarketBotsRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
}

View File

@ -22,6 +22,7 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetMarketBotsResponse implements Serializable {
private Integer userId;
private String login;
private List<GetMarketBot> getMarketBots;
public GetMarketBot getMarketBot(MarketBot marketBot){

View File

@ -18,5 +18,6 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetRegisterBotResponse {
private Integer userId;
private String login;
private BotOutputVO botOutputVO;
}

View File

@ -21,6 +21,7 @@ import java.io.Serializable;
public class GetTransferFromBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
}

View File

@ -19,6 +19,7 @@ import lombok.NoArgsConstructor;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GetTransferFromBotResponse {
private Integer userId;
private String login;
private Integer botId;
private Integer state;
}

View File

@ -20,6 +20,7 @@ import java.io.Serializable;
public class GetTransferToBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "state is required")
private Integer state;
}

View File

@ -26,6 +26,7 @@ import java.util.List;
@Slf4j
public class GetTransferToBotResponse implements Serializable {
private Integer userId;
private String login;
private List<GetTransferToBot> botList;
public GetTransferToBot getTransferToBot(Bot bot, TransferBot transferBot){
log.info("bot:{}",bot);

View File

@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@Data
@AllArgsConstructor
@ -19,7 +20,10 @@ import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class InstallMarketBotRequest implements Serializable {
private Integer userId;
private String login;
private Integer botId;
private Integer state;
private List<Integer> storeList;
//TODO 前端修改
private Map<Integer,String> repoMap;
}

View File

@ -20,6 +20,7 @@ import java.io.Serializable;
public class TransferBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "userName is required")
private String userName;
@NotNull(message = "botId is required")

View File

@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@Data
@AllArgsConstructor
@ -21,10 +22,13 @@ import java.util.List;
public class UpdateInstallBotRequest implements Serializable {
@NotNull(message = "userId is required")
private Integer userId;
private String login;
@NotNull(message = "botId is required")
private Integer botId;
@NotNull(message = "state is required")
private Integer state;
private String password;
private List<Integer> storeList;
//前端修改 storeId-repo
private Map<Integer,String> repoMap;
}