还差转让bot需要修正,接口基本完成
This commit is contained in:
parent
149e5c274f
commit
e18f46c409
|
@ -1,10 +1,8 @@
|
|||
package com.gitlink.softbot;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
||||
|
||||
@SpringBootApplication
|
||||
@MapperScan("com.gitlink.softbot.dao")
|
||||
|
|
|
@ -23,22 +23,34 @@ public class MarketController {
|
|||
public String tt(){
|
||||
return "asd";
|
||||
}
|
||||
@PostMapping("/getMarketBotsByFunc")
|
||||
|
||||
/***
|
||||
* 通过功能类型查询MarketBot
|
||||
* @param func
|
||||
* @param pageIndex
|
||||
* @param pageSize
|
||||
* @return
|
||||
* @throws BotException
|
||||
*/
|
||||
@PostMapping("/getMarketBotsByFunc")//当func为空则返回所有
|
||||
public Result<MarketBotPagesVO> getMarketBot(@RequestParam String func,@RequestParam int pageIndex,@RequestParam int pageSize) throws BotException {
|
||||
MarketBotPagesVO marketBotPagesVO = marketService.getMarketBotByCategory(func,pageIndex,pageSize);
|
||||
Result<MarketBotPagesVO> result = new Result<>();
|
||||
result.setCode(200);
|
||||
result.setMessage("success!");
|
||||
result.setData(marketBotPagesVO);
|
||||
return result;
|
||||
return result.build(marketBotPagesVO).build(200).build("success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊查询MarketBot
|
||||
* @param keyword
|
||||
* @param pageIndex
|
||||
* @param pageSize
|
||||
* @return
|
||||
* @throws BotException
|
||||
*/
|
||||
@PostMapping("/getContentsLike")
|
||||
public Result<MarketBotPagesVO> getMarketBotsLike(@RequestParam String keyword,@RequestParam int pageIndex,@RequestParam int pageSize) throws BotException{
|
||||
MarketBotPagesVO marketBotPagesVO = marketService.getMarketBotByNameLike(keyword,pageIndex,pageSize);
|
||||
Result<MarketBotPagesVO> result = new Result<>();
|
||||
result.setCode(200);
|
||||
result.setMessage("success!");
|
||||
result.setData(marketBotPagesVO);
|
||||
return result;
|
||||
return result.build(marketBotPagesVO).build(200).build("success!");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,35 +3,219 @@ package com.gitlink.softbot.controller.user;
|
|||
import com.gitlink.softbot.global.exception.BotException;
|
||||
import com.gitlink.softbot.global.vo.Result;
|
||||
import com.gitlink.softbot.service.user.IUserService;
|
||||
import com.gitlink.softbot.vo.BotInputVO;
|
||||
import com.gitlink.softbot.vo.BotOutputVO;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.gitlink.softbot.vo.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class UserController {
|
||||
|
||||
/**
|
||||
* 注册Bot
|
||||
*/
|
||||
@Resource
|
||||
IUserService userService;
|
||||
@PostMapping("/registerBot")
|
||||
public Result<BotOutputVO> registerBot(@RequestBody BotInputVO botInputVO) throws BotException {
|
||||
Result<BotOutputVO> result = new Result<>();
|
||||
BotOutputVO botOutputVO = userService.registerBot(botInputVO);
|
||||
result.setCode(200);
|
||||
result.setMessage("register success!");
|
||||
result.setData(botOutputVO);
|
||||
return result;
|
||||
return result.build(botOutputVO).build(200).build("register success!");
|
||||
}
|
||||
@PostMapping("/updateBot")
|
||||
|
||||
/**
|
||||
* 配置注册的Bot
|
||||
* @param botInputVO
|
||||
* @return
|
||||
* @throws BotException
|
||||
*/
|
||||
@PostMapping("/registerUpdateBot")
|
||||
public Result<BotOutputVO> updateBot(@RequestBody BotInputVO botInputVO) throws BotException{
|
||||
Result<BotOutputVO> result = new Result<>();
|
||||
BotOutputVO botOutputVO = userService.updateBot(botInputVO);
|
||||
result.setCode(200);
|
||||
result.setMessage("update success!");
|
||||
result.setData(botOutputVO);
|
||||
return result;
|
||||
return result.build(botOutputVO).build(200).build("update success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取个人注册Bot
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getMyBot")
|
||||
public Result<GetBotResponse> getMyBots(@RequestParam Integer userId){
|
||||
Result<GetBotResponse> result = new Result<>();
|
||||
GetBotResponse getBotResponse = userService.getBots(userId);
|
||||
return result.build(getBotResponse).build("getBots success!").build(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除注册的Bot
|
||||
* @param deleteBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/deleteBot")
|
||||
public Result<?> deleteBot(@RequestBody DeleteBotRequest deleteBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.deleteBot(deleteBotRequest);
|
||||
return result.build(200).build("delete success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 上市Bot
|
||||
* @param botToMarketRequest
|
||||
* @return
|
||||
* @throws BotException
|
||||
*/
|
||||
@GetMapping("/marketBot")
|
||||
public Result<?> marketBot(@RequestBody BotToMarketRequest botToMarketRequest) throws BotException{
|
||||
Result<?> result = new Result<>();
|
||||
userService.botToMarket(botToMarketRequest);
|
||||
return result.build(200).build("market success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回所有注册的MarketBot
|
||||
* @param getMarketBotsRequest
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/myMarketBots")
|
||||
public Result<GetMarketBotsResponse> getMyMarketBots(@RequestBody GetMarketBotsRequest getMarketBotsRequest){
|
||||
Result<GetMarketBotsResponse> result = new Result<>();
|
||||
GetMarketBotsResponse getMarketBotsResponse = userService.getMarketBots(getMarketBotsRequest);
|
||||
return result.build(getMarketBotsResponse).build(200).build("getMarketBots success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过BotId查询MarketBot
|
||||
* @param userId
|
||||
* @param botId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getMarketBotById")
|
||||
public Result<MarketBotVO> getMarketBotById(@RequestParam Integer userId,@RequestParam Integer botId){
|
||||
Result<MarketBotVO> result = new Result<>();
|
||||
MarketBotVO marketBotVO = userService.getMarketBotById(userId,botId);
|
||||
return result.build(marketBotVO).build(200).build("get botById success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户安装bot
|
||||
* @param installMarketBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("installMarketBot")
|
||||
public Result<?> installMarketBot(@RequestBody InstallMarketBotRequest installMarketBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.installMarketBot(installMarketBotRequest);
|
||||
return result.build(200).build("install bot success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置安装的Bot
|
||||
* @param updateInstallBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/updateInstallBot")
|
||||
public Result<?> updateInstallBot(@RequestBody UpdateInstallBotRequest updateInstallBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.updateInstallBot(updateInstallBotRequest);
|
||||
return result.build(200).build("update bot success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除安装的Bot
|
||||
* @param deleteInstallBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/deleteInstallBot")
|
||||
public Result<?> deleteInstallBot(@RequestBody DeleteInstallBotRequest deleteInstallBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.deleteInstallBot(deleteInstallBotRequest);
|
||||
return result.build(200).build("delete bot success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取已经安装的Bot
|
||||
* @param getInstallBotRequest
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getInstallBot")
|
||||
public Result<?> getInstallBot(@RequestBody GetInstallBotRequest getInstallBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.getInstallBot(getInstallBotRequest);
|
||||
return result.build(200).build("get installBot success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 转让Bot
|
||||
* @param transferBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/transferBot")
|
||||
public Result<?> transferBot(@RequestBody TransferBotRequest transferBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.transferBot(transferBotRequest);
|
||||
return result.build(200).build("transfer bot success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看转让者该Bot转让状态
|
||||
* @param getTransferFromBotRequest
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getTransferBotState")
|
||||
public Result<GetTransferFromBotResponse> getTransferBotState(@RequestBody GetTransferFromBotRequest getTransferFromBotRequest){
|
||||
Result<GetTransferFromBotResponse> result = new Result<>();
|
||||
GetTransferFromBotResponse getTransferFromBotResponse = userService.getTransferBotState(getTransferFromBotRequest);
|
||||
return result.build(200).build("get state success!").build(getTransferFromBotResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消正在转让的Bot
|
||||
* @param cancelTransferBotRequest
|
||||
* @return
|
||||
* @throws BotException
|
||||
*/
|
||||
@PostMapping("/cancelTransferBot")
|
||||
public Result<?> cancelTransferBot(@RequestBody CancelTransferBotRequest cancelTransferBotRequest) throws BotException{
|
||||
Result<?> result = new Result<>();
|
||||
userService.cancelTransferBot(cancelTransferBotRequest);
|
||||
return result.build(200).build("cancel success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 待转让者查看所有待转让的Bot
|
||||
* @param getTransferToBotRequest
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getTransferToBot")
|
||||
public Result<GetTransferToBotResponse> getTransferToBotResponseResult(@RequestBody GetTransferToBotRequest getTransferToBotRequest){
|
||||
Result<GetTransferToBotResponse> result = new Result<>();
|
||||
GetTransferToBotResponse getTransferToBotResponse = userService.getTransferToBot(getTransferToBotRequest);
|
||||
return result.build(200).build("get transferToBot success!").build(getTransferToBotResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收转让Bot
|
||||
* @param receiveTransferBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/receiveTransferBot")
|
||||
public Result<?> receiveTransferBot(@RequestBody ReceiveTransferBotRequest receiveTransferBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.receiveTransferBot(receiveTransferBotRequest);
|
||||
return result.build(200).build("receive success!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 拒绝接收转让的Bot
|
||||
* @param refuseTransferBotRequest
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("refuseTransferBot")
|
||||
public Result<?> refuseTransferBot(@RequestBody RefuseTransferBotRequest refuseTransferBotRequest){
|
||||
Result<?> result = new Result<>();
|
||||
userService.refuseTransferBot(refuseTransferBotRequest);
|
||||
return result.build(200).build("refuse transferBot success!");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,5 +8,7 @@ import java.util.List;
|
|||
public interface MarketBotRepository extends ElasticsearchRepository<MarketBot,Integer> {
|
||||
|
||||
public List<MarketBot> findByMarketNameLike(String keyword,int pageIndex,int pageSize);
|
||||
public void deleteByBotId(Integer id);
|
||||
public MarketBot findByBotId(Integer id);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package com.gitlink.softbot.entity.db;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -40,8 +38,11 @@ public class Bot {
|
|||
|
||||
private int category;
|
||||
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package com.gitlink.softbot.entity.db;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -20,10 +18,6 @@ public class BotLimitEvent {
|
|||
|
||||
private Integer botId;
|
||||
|
||||
private Integer installId;
|
||||
|
||||
private Integer storeId;
|
||||
|
||||
private Integer readWriteCode;
|
||||
|
||||
private Integer readWritePr;
|
||||
|
@ -32,7 +26,9 @@ public class BotLimitEvent {
|
|||
|
||||
private Integer event;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package com.gitlink.softbot.entity.db;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -24,7 +22,11 @@ public class InstallBot {
|
|||
|
||||
private Integer storeId;
|
||||
|
||||
private Integer state;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package com.gitlink.softbot.entity.db;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -22,7 +20,9 @@ public class RegisterBot {
|
|||
|
||||
private Integer developerId;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ public class MarketBot {
|
|||
private Integer id;
|
||||
|
||||
/** botid**/
|
||||
@Field(type = FieldType.Integer)
|
||||
private Integer botId;
|
||||
|
||||
/** 上市名称**/
|
||||
|
@ -52,10 +53,14 @@ public class MarketBot {
|
|||
@Field(type = FieldType.Date)
|
||||
private Date marketTime;
|
||||
|
||||
@Field(type = FieldType.Text)
|
||||
private String logo;
|
||||
/** 安装次数**/
|
||||
@Field(type = FieldType.Integer)
|
||||
private int installNum;
|
||||
|
||||
/** 种类**/
|
||||
private String category;
|
||||
/** 创建时间**/
|
||||
private Date createTime;
|
||||
|
||||
|
|
|
@ -15,8 +15,19 @@ public class Result<T> implements Serializable {
|
|||
private String message;
|
||||
private T data;
|
||||
public Result(Integer code,String message){
|
||||
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
public Result build(Integer code){
|
||||
this.code = code;
|
||||
return this;
|
||||
}
|
||||
public Result build(String message){
|
||||
this.message = message;
|
||||
return this;
|
||||
}
|
||||
public Result<T> build(T t){
|
||||
this.data = t;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,21 +2,21 @@ package com.gitlink.softbot.service.market;
|
|||
|
||||
import com.gitlink.softbot.entity.es.MarketBot;
|
||||
import com.gitlink.softbot.global.exception.BotException;
|
||||
import com.gitlink.softbot.vo.MarketBotPagesVO;
|
||||
import com.gitlink.softbot.vo.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface IMarketService {
|
||||
|
||||
public MarketBotPagesVO getMarketBotByCategory (String func, int pageIndex, int pageSize) throws BotException;
|
||||
|
||||
public void saveMarketBot(MarketBot marketBot);
|
||||
|
||||
public Optional<MarketBot> getMarketBot(Integer id);
|
||||
public MarketBot getMarketBot(Integer id);
|
||||
|
||||
public void deleteMarketBot(Integer id);
|
||||
|
||||
public MarketBotPagesVO getMarketBotByNameLike(String keyword,int pageIndex,int pageSize) throws BotException;
|
||||
|
||||
public void updateBotInstall(Integer botId,String operate);
|
||||
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.gitlink.softbot.dao.es.MarketBotRepository;
|
|||
import com.gitlink.softbot.entity.es.MarketBot;
|
||||
import com.gitlink.softbot.global.exception.BotException;
|
||||
import com.gitlink.softbot.service.market.IMarketService;
|
||||
import com.gitlink.softbot.vo.MarketBotPagesVO;
|
||||
import com.gitlink.softbot.vo.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.elasticsearch.action.search.SearchRequest;
|
||||
|
@ -42,13 +42,24 @@ public class MarketService implements IMarketService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<MarketBot> getMarketBot(Integer id) {
|
||||
return marketBotRepository.findById(id);
|
||||
public MarketBot getMarketBot(Integer id) {
|
||||
return marketBotRepository.findByBotId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteMarketBot(Integer id) {
|
||||
marketBotRepository.deleteById(id);
|
||||
marketBotRepository.deleteByBotId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateBotInstall(Integer botId,String operate) {
|
||||
MarketBot marketBot1 = this.getMarketBot(botId);
|
||||
if (operate.equals("+")){
|
||||
marketBot1.setInstallNum(marketBot1.getInstallNum()+1);
|
||||
}else if (operate.equals("-")){
|
||||
marketBot1.setInstallNum(marketBot1.getInstallNum()-1);
|
||||
}
|
||||
marketBotRepository.save(marketBot1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -117,9 +128,7 @@ public class MarketService implements IMarketService {
|
|||
BoolQueryBuilder bdq = QueryBuilders.boolQuery();
|
||||
List<MarketBot> botList = new ArrayList<>();
|
||||
long total=0;
|
||||
if (StringUtils.isBlank(func)){
|
||||
throw new BotException("func is null");
|
||||
}
|
||||
|
||||
try {
|
||||
//1.创建检索请求
|
||||
SearchRequest searchRequest = new SearchRequest("marketbot");
|
||||
|
@ -130,8 +139,11 @@ public class MarketService implements IMarketService {
|
|||
|
||||
QueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
||||
//查询条件一:
|
||||
MatchPhraseQueryBuilder mpql = QueryBuilders.matchPhraseQuery("firstFunc", func);
|
||||
((BoolQueryBuilder) queryBuilder).must(mpql);
|
||||
//如果功能为空,则表示首页的内容
|
||||
if (!StringUtils.isBlank(func)){
|
||||
MatchPhraseQueryBuilder mpql = QueryBuilders.matchPhraseQuery("firstFunc", func);
|
||||
((BoolQueryBuilder) queryBuilder).must(mpql);
|
||||
}
|
||||
//多个条件组合
|
||||
searchSourceBuilder.query(queryBuilder);
|
||||
|
||||
|
@ -170,4 +182,5 @@ public class MarketService implements IMarketService {
|
|||
marketBotPagesVO.setPageSize(pageSize);
|
||||
return marketBotPagesVO;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
package com.gitlink.softbot.service.user;
|
||||
|
||||
import com.gitlink.softbot.entity.db.Bot;
|
||||
import com.gitlink.softbot.global.exception.BotException;
|
||||
import com.gitlink.softbot.vo.BotInputVO;
|
||||
import com.gitlink.softbot.vo.BotOutputVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.gitlink.softbot.vo.*;
|
||||
|
||||
|
||||
public interface IUserService {
|
||||
|
@ -12,4 +9,34 @@ public interface IUserService {
|
|||
public BotOutputVO registerBot(BotInputVO botVO) throws BotException;
|
||||
//2.修改配置信息
|
||||
public BotOutputVO updateBot(BotInputVO botInputVO) throws BotException;
|
||||
//返回用用户注册所有的Bot信息
|
||||
public GetBotResponse getBots(Integer userId);
|
||||
//删除Bot
|
||||
public void deleteBot (DeleteBotRequest deleteBotRequest);
|
||||
//上市Bot
|
||||
public void botToMarket(BotToMarketRequest botToMarketRequest) throws BotException;
|
||||
//查看我的所有上市的Bot
|
||||
public GetMarketBotsResponse getMarketBots(GetMarketBotsRequest getMarketBotsRequest);
|
||||
//根据BotId返回Bot信息
|
||||
public MarketBotVO getMarketBotById(Integer userId,Integer botId);
|
||||
//安装Bot
|
||||
public void installMarketBot(InstallMarketBotRequest installMarketBotRequest);
|
||||
//用户配置安装的Bot
|
||||
public void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest);
|
||||
//删除安装的Bot
|
||||
public void deleteInstallBot(DeleteInstallBotRequest deleteInstallBotRequest);
|
||||
//查看所有安装的Bot
|
||||
public GetInstallBotResponse getInstallBot(GetInstallBotRequest getInstallBotRequest);
|
||||
//转让Bot
|
||||
public void transferBot(TransferBotRequest transferBotRequest);
|
||||
//查看bot转让状态
|
||||
public GetTransferFromBotResponse getTransferBotState(GetTransferFromBotRequest getTransferFromBotRequest);
|
||||
//转让者取消转让
|
||||
public void cancelTransferBot(CancelTransferBotRequest cancelTransferBotRequest) throws BotException;
|
||||
//待转让者查看带转让Bot记录
|
||||
public GetTransferToBotResponse getTransferToBot(GetTransferToBotRequest getTransferToBotRequest);
|
||||
//接收TransferBot
|
||||
public void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest);
|
||||
//拒绝接收转让Bot
|
||||
public void refuseTransferBot(RefuseTransferBotRequest refuseTransferBotRequest);
|
||||
}
|
||||
|
|
|
@ -2,28 +2,20 @@ package com.gitlink.softbot.service.user.impl;
|
|||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.gitlink.softbot.dao.db.BotLimitMapper;
|
||||
import com.gitlink.softbot.dao.db.BotMapper;
|
||||
import com.gitlink.softbot.dao.db.InstallMapper;
|
||||
import com.gitlink.softbot.dao.db.RegisterMapper;
|
||||
import com.gitlink.softbot.entity.db.Bot;
|
||||
import com.gitlink.softbot.entity.db.BotLimitEvent;
|
||||
import com.gitlink.softbot.entity.db.InstallBot;
|
||||
import com.gitlink.softbot.entity.db.RegisterBot;
|
||||
import com.gitlink.softbot.dao.db.*;
|
||||
import com.gitlink.softbot.entity.db.*;
|
||||
import com.gitlink.softbot.global.exception.BotException;
|
||||
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.vo.BotInputVO;
|
||||
import com.gitlink.softbot.vo.BotOutputVO;
|
||||
import com.gitlink.softbot.vo.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service
|
||||
|
@ -38,6 +30,12 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
RegisterMapper registerMapper;
|
||||
@Autowired
|
||||
BotLimitMapper botLimitMapper;
|
||||
@Autowired
|
||||
MarketBotMapper marketBotMapper;
|
||||
@Autowired
|
||||
IMarketService marketService;
|
||||
@Autowired
|
||||
TransferBotMapper transferBotMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
@ -49,17 +47,10 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
botMapper.insert(shiftObject(botVO));
|
||||
Bot insertBot = botMapper.selectOne(new QueryWrapper<Bot>().eq("bot_name",botVO.getBotName()));
|
||||
|
||||
for (Integer storeId : botVO.getStoreLit()){
|
||||
//插入安装表
|
||||
installMapper.insert( shiftBotToInstallBot(botVO,insertBot,storeId));
|
||||
InstallBot installBot = installMapper.selectOne(new QueryWrapper<InstallBot>().
|
||||
eq("bot_id",insertBot.getId()).
|
||||
eq("installer_id",botVO.getUserId())
|
||||
.eq("store_id",storeId));
|
||||
//插入权限表
|
||||
BotLimitEvent botLimitEvent = shiftBotToLimit(botVO,insertBot,storeId,installBot.getId());
|
||||
botLimitMapper.insert(botLimitEvent);
|
||||
}
|
||||
//插入权限表
|
||||
BotLimitEvent botLimitEvent = shiftBotToLimit(botVO,insertBot);
|
||||
botLimitMapper.insert(botLimitEvent);
|
||||
|
||||
//插入注册表
|
||||
RegisterBot registerBot = shiftBotToRegisterBot(botVO,insertBot);
|
||||
registerMapper.insert(registerBot);
|
||||
|
@ -71,77 +62,65 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public BotOutputVO updateBot(BotInputVO botInputVO) throws BotException {
|
||||
log.info("开始配置Bot{}",JSON.toJSONString(botInputVO));
|
||||
//校验是否将权限改为私有
|
||||
if (botInputVO.getIsPublic()==0){
|
||||
//判断是数据库中有没有安装的Bot,有的话返回异常
|
||||
Bot bot = botMapper.selectOne(new QueryWrapper<Bot>()
|
||||
.eq("bot_name",botInputVO.getBotName()));
|
||||
List<InstallBot> installBots = installMapper.selectList(new QueryWrapper<InstallBot>()
|
||||
.eq("bot_id",bot.getId()));
|
||||
if (installBots.size()>0){
|
||||
throw new BotException("已有用户安装该Bot,不能将权限设置为私有");
|
||||
}
|
||||
}
|
||||
//先更新Bot
|
||||
Bot updateBot = shiftObject(botInputVO);
|
||||
Integer id = botMapper.selectOne(new QueryWrapper<Bot>().eq("bot_name",botInputVO.getBotName())).getId();
|
||||
updateBot.setId(id);
|
||||
botMapper.updateById(updateBot);
|
||||
//先判断权限这一块有没有更新
|
||||
boolean flag=false; //true是有更新
|
||||
List<InstallBot> installBots = installMapper.selectList(new QueryWrapper<InstallBot>()
|
||||
|
||||
boolean flag = false;
|
||||
BotLimitEvent oldBotLimitEvent = botLimitMapper.selectOne(new QueryWrapper<BotLimitEvent>()
|
||||
.eq("bot_id",id));
|
||||
List<BotLimitEvent> limitEventList = new ArrayList<>();
|
||||
List<Integer> oldStoreIdList = new ArrayList<>();
|
||||
installBots.forEach(installBot -> {
|
||||
BotLimitEvent botLimitEvent = botLimitMapper.selectOne(new QueryWrapper<BotLimitEvent>()
|
||||
.eq("store_id",installBot.getStoreId())
|
||||
.eq("bot_id",installBot.getBotId())
|
||||
.eq("install_id",installBot.getId()));
|
||||
limitEventList.add(botLimitEvent);
|
||||
oldStoreIdList.add(installBot.getStoreId());
|
||||
});
|
||||
List<Integer> newStoreIdList = botInputVO.getStoreLit();
|
||||
Collections.sort(newStoreIdList);
|
||||
Collections.sort(oldStoreIdList);
|
||||
if (newStoreIdList.size()!= oldStoreIdList.size()){
|
||||
flag=true;
|
||||
}else {
|
||||
for (int i = 0; i < newStoreIdList.size(); i++) {
|
||||
if (newStoreIdList.get(i)!=oldStoreIdList.get(i)){
|
||||
flag=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (limitEventList.size()>0){
|
||||
BotLimitEvent botLimitEvent = limitEventList.get(0);
|
||||
System.out.println(botLimitEvent.getEvent());
|
||||
System.out.println(botInputVO.getEvent());
|
||||
if (botLimitEvent.getReadWriteCode()!=botInputVO.getReadWriteCode()
|
||||
||botLimitEvent.getReadWritePr()!=botInputVO.getReadWritePr()
|
||||
||botLimitEvent.getAuthCategory()!=botInputVO.getAuthCategory()
|
||||
||botLimitEvent.getEvent()!=botInputVO.getEvent()){
|
||||
flag=true;
|
||||
}
|
||||
if (botInputVO.getReadWriteCode()!= oldBotLimitEvent.getReadWriteCode()
|
||||
||botInputVO.getReadWritePr()!=oldBotLimitEvent.getReadWritePr()
|
||||
||botInputVO.getAuthCategory()!=oldBotLimitEvent.getAuthCategory()
|
||||
||botInputVO.getEvent()!=oldBotLimitEvent.getEvent()){
|
||||
flag = true;
|
||||
}
|
||||
//有变化需要更新
|
||||
if (flag) {
|
||||
//更新权限表(更新逻辑:先删除,再插入)
|
||||
installBots.forEach(installBot -> {
|
||||
//删除install表
|
||||
installMapper.deleteById(installBot.getId());
|
||||
//删除limit表
|
||||
botLimitMapper.delete(new QueryWrapper<BotLimitEvent>()
|
||||
.eq("bot_id", id)
|
||||
.eq("store_id", installBot.getStoreId()));
|
||||
});
|
||||
//插入install表
|
||||
for (Integer storeId : botInputVO.getStoreLit()){
|
||||
InstallBot installBot = shiftBotToInstallBot(botInputVO,updateBot,storeId);
|
||||
installMapper.insert(installBot);
|
||||
InstallBot bot = installMapper.selectOne(new QueryWrapper<InstallBot>()
|
||||
.eq("store_id",storeId)
|
||||
.eq("bot_id",installBot.getBotId()));
|
||||
BotLimitEvent botLimitEvent = shiftBotToLimit(botInputVO,updateBot,storeId,bot.getId());
|
||||
botLimitMapper.insert(botLimitEvent);
|
||||
}
|
||||
if (flag){//权限发生变化则通知安装者
|
||||
//TODO 通知安装者权限发生变化
|
||||
|
||||
//更新权限
|
||||
botLimitMapper.delete(new QueryWrapper<BotLimitEvent>()
|
||||
.eq("bot_id",id));
|
||||
BotLimitEvent insetBotLimitEvent = shiftBotToLimit(botInputVO,updateBot);
|
||||
botLimitMapper.insert(insetBotLimitEvent);
|
||||
}
|
||||
log.info("结束配置Bot{}",JSON.toJSONString(shiftBotToBotOutputVo(botInputVO,updateBot)));
|
||||
return shiftBotToBotOutputVo(botInputVO,updateBot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetBotResponse getBots(Integer userId) {
|
||||
List<RegisterBot> registerBots = registerMapper.selectList(new QueryWrapper<RegisterBot>()
|
||||
.eq("developer_id",userId));
|
||||
List<BotOutputVO> botOutputVOS = new ArrayList<>();
|
||||
registerBots.forEach(registerBot -> {
|
||||
botOutputVOS.add(getBotOutputVoFromLimitAndBot(
|
||||
botMapper.selectById(registerBot.getBotId()),botLimitMapper.selectOne(new QueryWrapper<BotLimitEvent>()
|
||||
.eq("bot_id",registerBot.getBotId())),userId
|
||||
));
|
||||
});
|
||||
GetBotResponse getBotResponse = new GetBotResponse();
|
||||
getBotResponse.setUserId(userId);
|
||||
getBotResponse.setList(botOutputVOS);
|
||||
return getBotResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkInfo(BotInputVO botVO) throws BotException {
|
||||
{
|
||||
|
||||
if (botVO.getUserId()==null){
|
||||
throw new BotException("userId is null!");
|
||||
|
@ -155,7 +134,7 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
if (StringUtils.isBlank(botVO.getWebhook())){
|
||||
throw new BotException("webhook is null!");
|
||||
}
|
||||
}
|
||||
|
||||
QueryWrapper<Bot> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("bot_name",botVO.getBotName());
|
||||
List<Bot> botList = botMapper.selectList(wrapper);
|
||||
|
@ -163,7 +142,24 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
throw new BotException("该名称已经被使用!");
|
||||
}
|
||||
}
|
||||
|
||||
public BotOutputVO getBotOutputVoFromLimitAndBot(Bot bot,BotLimitEvent botLimitEvent,Integer userId){
|
||||
BotOutputVO botOutputVO = new BotOutputVO();
|
||||
botOutputVO.setBotId(bot.getId());
|
||||
botOutputVO.setBotDes(bot.getBotDes());
|
||||
botOutputVO.setBotName(bot.getBotName());
|
||||
botOutputVO.setUserId(userId);
|
||||
botOutputVO.setLogo(bot.getLogo());
|
||||
botOutputVO.setWebUrl(bot.getWebUrl());
|
||||
botOutputVO.setWebhook(bot.getWebhook());
|
||||
botOutputVO.setClientId(bot.getClientId());
|
||||
botOutputVO.setClientSecret(bot.getClientSecret());
|
||||
botOutputVO.setAuthCategory(botLimitEvent.getAuthCategory());
|
||||
botOutputVO.setReadWriteCode(botLimitEvent.getReadWriteCode());
|
||||
botOutputVO.setReadWritePr(botLimitEvent.getReadWritePr());
|
||||
botOutputVO.setEvent(botOutputVO.getEvent());
|
||||
botOutputVO.setIsPublic(bot.getIsPublic());
|
||||
return botOutputVO;
|
||||
}
|
||||
@Override
|
||||
public Bot shiftObject(BotInputVO botVO) {
|
||||
Bot bot = new Bot();
|
||||
|
@ -175,40 +171,22 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
bot.setClientId(getClientId());
|
||||
bot.setWebUrl(getBotUrl(botVO.getBotName()));
|
||||
bot.setLogo(botVO.getLogo());
|
||||
bot.setCreateTime(new Date());
|
||||
bot.setUpdateTime(new Date());
|
||||
bot.setState(0);
|
||||
bot.setInstallNum(1);
|
||||
return bot;
|
||||
}
|
||||
public BotLimitEvent shiftBotToLimit(BotInputVO botInputVO,Bot bot,Integer storeId,Integer installId){
|
||||
public BotLimitEvent shiftBotToLimit(BotInputVO botInputVO,Bot bot){
|
||||
BotLimitEvent botLimitEvent = new BotLimitEvent();
|
||||
botLimitEvent.setBotId(bot.getId());
|
||||
botLimitEvent.setAuthCategory(botInputVO.getAuthCategory());
|
||||
botLimitEvent.setReadWriteCode(botInputVO.getReadWriteCode());
|
||||
botLimitEvent.setReadWritePr(botInputVO.getReadWritePr());
|
||||
botLimitEvent.setEvent(botInputVO.getEvent());
|
||||
botLimitEvent.setStoreId(storeId);
|
||||
botLimitEvent.setInstallId(installId);
|
||||
botLimitEvent.setCreateTime(new Date());
|
||||
botLimitEvent.setUpdateTime(new Date());
|
||||
return botLimitEvent;
|
||||
}
|
||||
public InstallBot shiftBotToInstallBot(BotInputVO botInputVO,Bot bot,Integer storeId){
|
||||
InstallBot installBot = new InstallBot();
|
||||
installBot.setBotId(bot.getId());
|
||||
installBot.setInstallerId(botInputVO.getUserId());
|
||||
installBot.setStoreId(storeId);
|
||||
installBot.setCreateTime(new Date());
|
||||
installBot.setUpdateTime(new Date());
|
||||
return installBot;
|
||||
}
|
||||
public RegisterBot shiftBotToRegisterBot(BotInputVO botInputVO,Bot bot){
|
||||
RegisterBot registerBot = new RegisterBot();
|
||||
registerBot.setBotId(bot.getId());
|
||||
registerBot.setDeveloperId(botInputVO.getUserId());
|
||||
registerBot.setCreateTime(new Date());
|
||||
registerBot.setUpdateTime(new Date());
|
||||
return registerBot;
|
||||
}
|
||||
public BotOutputVO shiftBotToBotOutputVo(BotInputVO botInputVO,Bot bot){
|
||||
|
@ -222,14 +200,325 @@ public class UserService extends AbstractUserBot implements IUserService {
|
|||
botOutputVO.setIsPublic(bot.getIsPublic());
|
||||
botOutputVO.setWebhook(bot.getWebhook());
|
||||
botOutputVO.setUserId(botOutputVO.getUserId());
|
||||
botOutputVO.setWebUrl(bot.getWebUrl());
|
||||
botOutputVO.setStoreLit(botInputVO.getStoreLit());
|
||||
botOutputVO.setWebUrl(bot.getWebUrl());;
|
||||
botOutputVO.setEvent(botInputVO.getEvent());
|
||||
botOutputVO.setReadWriteCode(botInputVO.getReadWriteCode());
|
||||
botOutputVO.setReadWritePr(botInputVO.getReadWritePr());
|
||||
botOutputVO.setLogo(bot.getLogo());
|
||||
return botOutputVO;
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteBot(DeleteBotRequest deleteBotRequest) {
|
||||
log.info("删除Bot:{}",JSON.toJSONString(deleteBotRequest));
|
||||
//删除Bot涉及Bot表、Limit表、register表、install表、es中数据,Market中数据、删除tranfer中数据
|
||||
//1.删除Bot中数据
|
||||
int flag1 = botMapper.deleteById(deleteBotRequest.getBotId());
|
||||
//2.删除limit表中数据
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("bot_id",deleteBotRequest.getBotId());
|
||||
int flag2 = botLimitMapper.deleteByMap(map);
|
||||
//删除register表中数据
|
||||
int flag3 = registerMapper.deleteByMap(map);
|
||||
//删除install表中数据
|
||||
int flag4 = installMapper.deleteByMap(map);
|
||||
//删除Market表中数据
|
||||
int flag5 = marketBotMapper.deleteByMap(map);
|
||||
//删除es中数据
|
||||
marketService.deleteMarketBot(deleteBotRequest.getBotId());
|
||||
//删除正在转让的bot
|
||||
transferBotMapper.deleteByMap(map);
|
||||
//TODO 告知平台该bot不生效
|
||||
//TODO 通知用户
|
||||
log.info("删除Bot成功:{}",JSON.toJSONString(deleteBotRequest));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void botToMarket(BotToMarketRequest botToMarketRequest) throws BotException{
|
||||
log.info("Bot上市{}",botToMarketRequest);
|
||||
//先校验是否公开,不是公开,则判断
|
||||
if (botMapper.selectById(botToMarketRequest.getBotId()).getIsPublic()!=1){
|
||||
throw new BotException("该Bot未公开!");
|
||||
}
|
||||
//判断Bot上市名称是否重复
|
||||
List<MarketBot> marketBotList = marketBotMapper.selectList(new QueryWrapper<MarketBot>()
|
||||
.eq("market_name",botToMarketRequest.getMarketName()));
|
||||
if (marketBotList.size()>0){
|
||||
throw new BotException("此名称已被占用!");
|
||||
}
|
||||
//1.插入market_bot表
|
||||
MarketBot marketBot = getDBMarketBot(botToMarketRequest);
|
||||
marketBotMapper.insert(marketBot);
|
||||
//2.es添加数据
|
||||
com.gitlink.softbot.entity.es.MarketBot marketBot1 = getESMarketBot(botToMarketRequest);
|
||||
marketService.saveMarketBot(marketBot1);
|
||||
log.info("Bot上市成功!{}",botToMarketRequest);
|
||||
|
||||
}
|
||||
|
||||
public MarketBot getDBMarketBot(BotToMarketRequest botToMarketRequest){
|
||||
MarketBot marketBot = new MarketBot();
|
||||
marketBot.setMarketDesc(botToMarketRequest.getMarketDesc());
|
||||
marketBot.setMarketName(botToMarketRequest.getMarketName());
|
||||
marketBot.setMarketTime(botToMarketRequest.getMarketTime());
|
||||
marketBot.setCategory(botToMarketRequest.getCategory());
|
||||
marketBot.setLogo(botToMarketRequest.getLogo());
|
||||
marketBot.setFirstFunc(botToMarketRequest.getFirstFunc());
|
||||
marketBot.setSecondFunc(botToMarketRequest.getSecondFunc());
|
||||
marketBot.setInstallNum(0);
|
||||
marketBot.setWebhook(botToMarketRequest.getWebhook());
|
||||
marketBot.setIsReceiveAg1(botToMarketRequest.getIsReceiveAg1());
|
||||
marketBot.setIsReceiveAg2(botToMarketRequest.getIsReceiveAg2());
|
||||
|
||||
return marketBot;
|
||||
}
|
||||
public com.gitlink.softbot.entity.es.MarketBot getESMarketBot(BotToMarketRequest botToMarketRequest){
|
||||
com.gitlink.softbot.entity.es.MarketBot marketBot = new com.gitlink.softbot.entity.es.MarketBot();
|
||||
marketBot.setBotId(botToMarketRequest.getBotId());
|
||||
marketBot.setMarketDesc(botToMarketRequest.getMarketDesc());
|
||||
marketBot.setMarketName(botToMarketRequest.getMarketName());
|
||||
marketBot.setMarketTime(botToMarketRequest.getMarketTime());
|
||||
marketBot.setCategory(botToMarketRequest.getCategory());
|
||||
marketBot.setLogo(botToMarketRequest.getLogo());
|
||||
marketBot.setFirstFunc(botToMarketRequest.getFirstFunc());
|
||||
marketBot.setSecondFunc(botToMarketRequest.getSecondFunc());
|
||||
marketBot.setInstallNum(0);
|
||||
marketBot.setWebhook(botToMarketRequest.getWebhook());
|
||||
marketBot.setIsReceiveAg1(botToMarketRequest.getIsReceiveAg1());
|
||||
marketBot.setIsReceiveAg2(botToMarketRequest.getIsReceiveAg2());
|
||||
|
||||
return marketBot;
|
||||
}
|
||||
@Override
|
||||
public GetMarketBotsResponse getMarketBots(GetMarketBotsRequest getMarketBotsRequest) {
|
||||
//先查注册表,根据注册表中所有的bot_id
|
||||
List<RegisterBot> registerBots = registerMapper.selectList(new QueryWrapper<RegisterBot>()
|
||||
.eq("developer_id",getMarketBotsRequest.getUserId()));
|
||||
GetMarketBotsResponse getMarketBotsResponse = new GetMarketBotsResponse();
|
||||
List<GetMarketBotsResponse.GetMarketBot> botList = new ArrayList<>();
|
||||
//根据bot_id,返回所有marketBot
|
||||
registerBots.forEach(registerBot -> {
|
||||
botList.add(getMarketBotsResponse.getMarketBot(
|
||||
marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",registerBot.getBotId()))
|
||||
));
|
||||
});
|
||||
getMarketBotsResponse.setUserId(getMarketBotsRequest.getUserId());
|
||||
getMarketBotsResponse.setGetMarketBots(botList);
|
||||
return getMarketBotsResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarketBotVO getMarketBotById(Integer userId, Integer botId) {
|
||||
return getMarketBotById(marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",botId)));
|
||||
}
|
||||
public MarketBotVO getMarketBotById(MarketBot marketBot){
|
||||
MarketBotVO marketBotVO = new MarketBotVO();
|
||||
marketBotVO.setBotId(marketBot.getBotId());
|
||||
marketBotVO.setMarketDesc(marketBot.getMarketDesc());
|
||||
marketBot.setMarketTime(marketBot.getMarketTime());
|
||||
marketBot.setWebhook(marketBot.getWebhook());
|
||||
marketBotVO.setFirstFunc(marketBot.getFirstFunc());
|
||||
marketBotVO.setSecondFunc(marketBot.getSecondFunc());
|
||||
marketBotVO.setInstallNum(marketBot.getInstallNum());
|
||||
marketBotVO.setCategory(marketBot.getCategory());
|
||||
return marketBotVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void installMarketBot(InstallMarketBotRequest installMarketBotRequest) {
|
||||
//1.插入到installBot表中
|
||||
List<Integer> storeList = installMarketBotRequest.getStoreList();
|
||||
storeList.forEach(store ->{
|
||||
installMapper.insert(getInstallBot(installMarketBotRequest,store));
|
||||
});
|
||||
//2.对MarketBot表中install_num加1
|
||||
MarketBot updateMarketBot = marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",installMarketBotRequest.getBotId()));
|
||||
updateMarketBot.setInstallNum(updateMarketBot.getInstallNum()+1);
|
||||
marketBotMapper.updateById(updateMarketBot);
|
||||
//3.对Bot表中install_num加1
|
||||
Bot updateBot = botMapper.selectOne(new QueryWrapper<Bot>()
|
||||
.eq("id",installMarketBotRequest.getBotId()));
|
||||
updateBot.setInstallNum(updateBot.getInstallNum()+1);
|
||||
botMapper.updateById(updateBot);
|
||||
//4.对es中install_num加1
|
||||
marketService.updateBotInstall(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;
|
||||
}
|
||||
public InstallBot getInstallBot(UpdateInstallBotRequest updateInstallBotRequest,Integer storeId){
|
||||
InstallBot installBot = new InstallBot();
|
||||
installBot.setBotId(updateInstallBotRequest.getBotId());
|
||||
installBot.setInstallerId(updateInstallBotRequest.getUserId());
|
||||
installBot.setStoreId(storeId);
|
||||
installBot.setState(updateInstallBotRequest.getState());
|
||||
return installBot;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateInstallBot(UpdateInstallBotRequest updateInstallBotRequest) {
|
||||
|
||||
if (updateInstallBotRequest.getState()==0){
|
||||
//TODO 挂起要验证密码
|
||||
}
|
||||
//1.先删除botId和userId对应的所有installBot
|
||||
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));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteInstallBot(DeleteInstallBotRequest deleteInstallBotRequest) {
|
||||
//TODO 删除要验证密码
|
||||
//1.Bot中install_num数量减1
|
||||
Bot bot = botMapper.selectById(deleteInstallBotRequest.getBotId());
|
||||
bot.setInstallNum(bot.getInstallNum()-1);
|
||||
botMapper.updateById(bot);
|
||||
//2.Market_Bot中install_num减1
|
||||
MarketBot marketBot = marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",deleteInstallBotRequest.getBotId()));
|
||||
marketBot.setInstallNum(marketBot.getInstallNum()-1);
|
||||
marketBotMapper.updateById(marketBot);
|
||||
//3.es中install_num减去1
|
||||
marketService.updateBotInstall(deleteInstallBotRequest.getBotId(),"-");
|
||||
//删除install_bot
|
||||
installMapper.delete(new QueryWrapper<InstallBot>()
|
||||
.eq("bot_id",deleteInstallBotRequest.getBotId())
|
||||
.eq("installer_id",deleteInstallBotRequest.getUserId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetInstallBotResponse getInstallBot(GetInstallBotRequest getInstallBotRequest) {
|
||||
GetInstallBotResponse getInstallBotResponse = new GetInstallBotResponse();
|
||||
//1.到market_bot表中查看name
|
||||
String marketName = marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",getInstallBotRequest.getBotId())).getMarketName();
|
||||
getInstallBotResponse.setMarketName(marketName);
|
||||
//2.到install_bot表中查看state
|
||||
List<InstallBot> installBots = installMapper.selectList(new QueryWrapper<InstallBot>()
|
||||
.eq("bot_id",getInstallBotRequest.getBotId())
|
||||
.eq("installer_id",getInstallBotRequest.getUserId()));
|
||||
assert installBots.size()>0;
|
||||
getInstallBotResponse.setState(installBots.get(0).getState());
|
||||
//3.并且把所有storeId返回
|
||||
List<Integer> storeIdList = new ArrayList<>();
|
||||
installBots.forEach(installBot -> storeIdList.add(installBot.getStoreId()));
|
||||
getInstallBotResponse.setStoreIdList(storeIdList);
|
||||
//TODO 4.远程调用,返回该用户所有storeId
|
||||
List<Integer> allStoreIdList = getAllStoreIdList(getInstallBotRequest.getUserId());
|
||||
getInstallBotResponse.setAllStoreIdList(allStoreIdList);
|
||||
return getInstallBotResponse;
|
||||
}
|
||||
|
||||
public List<Integer> getAllStoreIdList(Integer userId){
|
||||
//TODO 远程调用
|
||||
List<Integer> allStoreIdList = new ArrayList<>();
|
||||
return allStoreIdList;
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void transferBot(TransferBotRequest transferBotRequest) {
|
||||
//TODO 校验待转让者是否存在
|
||||
TransferBot transferBot = new TransferBot();
|
||||
transferBot.setBotId(transferBotRequest.getBotId());
|
||||
transferBot.setTransferFromId(transferBotRequest.getUserId());
|
||||
//待转让状态
|
||||
transferBot.setIsSuccess(2);
|
||||
transferBot.setTransferTime(new Date());
|
||||
transferBot.setTransferToId(transferBotRequest.getTransferToUserId());
|
||||
transferBotMapper.insert(transferBot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetTransferFromBotResponse getTransferBotState(GetTransferFromBotRequest getTransferFromBotRequest) {
|
||||
TransferBot transferBot = transferBotMapper.selectOne(new QueryWrapper<TransferBot>()
|
||||
.eq("bot_id",getTransferFromBotRequest.getBotId())
|
||||
.eq("transfer_from_id",getTransferFromBotRequest.getUserId()));
|
||||
GetTransferFromBotResponse getTransferFromBotResponse = new GetTransferFromBotResponse();
|
||||
getTransferFromBotResponse.setBotId(getTransferFromBotRequest.getBotId());
|
||||
getTransferFromBotResponse.setUserId(getTransferFromBotRequest.getUserId());
|
||||
getTransferFromBotResponse.setState(transferBot.getIsSuccess());
|
||||
return getTransferFromBotResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelTransferBot(CancelTransferBotRequest cancelTransferBotRequest) throws BotException{
|
||||
TransferBot transferBot = transferBotMapper.selectOne(new QueryWrapper<TransferBot>()
|
||||
.eq("bot_id",cancelTransferBotRequest.getBotId())
|
||||
.eq("transfer_from_id",cancelTransferBotRequest.getBotId()));
|
||||
if (transferBot.getIsSuccess()!=2){
|
||||
throw new BotException("不可以取消!");
|
||||
}
|
||||
transferBot.setIsSuccess(0);
|
||||
transferBotMapper.updateById(transferBot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetTransferToBotResponse getTransferToBot(GetTransferToBotRequest getTransferToBotRequest) {
|
||||
List<TransferBot> transferBots = transferBotMapper.selectList(new QueryWrapper<TransferBot>()
|
||||
.eq("is_success",getTransferToBotRequest.getState())
|
||||
.eq("transfer_to_id",getTransferToBotRequest.getUserId()));
|
||||
List<MarketBot> marketBotList = new ArrayList<>();
|
||||
transferBots.forEach(transferBot -> {
|
||||
marketBotList.add(marketBotMapper.selectOne(new QueryWrapper<MarketBot>()
|
||||
.eq("bot_id",transferBot.getBotId())));
|
||||
});
|
||||
GetTransferToBotResponse getTransferToBotResponse = new GetTransferToBotResponse();
|
||||
List<GetTransferToBotResponse.GetTransferToBot> getTransferToBots = new ArrayList<>();
|
||||
marketBotList.forEach(marketBot -> {
|
||||
getTransferToBots.add(getTransferToBotResponse.getTransferToBot(marketBot));
|
||||
});
|
||||
getTransferToBotResponse.setUserId(getTransferToBotRequest.getUserId());
|
||||
getTransferToBotResponse.setBotList(getTransferToBots);
|
||||
return getTransferToBotResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void receiveTransferBot(ReceiveTransferBotRequest receiveTransferBotRequest) {
|
||||
//1.修改transfer_bot表
|
||||
TransferBot transferBot = transferBotMapper.selectOne(new QueryWrapper<TransferBot>()
|
||||
.eq("bot_id",receiveTransferBotRequest.getBotId())
|
||||
.eq("transfer_from_id",receiveTransferBotRequest.getTransferFromId())
|
||||
.eq("transfer_to_id",receiveTransferBotRequest.getTransferToId()));
|
||||
//转让成功
|
||||
transferBot.setIsSuccess(1);
|
||||
transferBotMapper.updateById(transferBot);
|
||||
//2.将注册表中修改注册者为bot被转让人
|
||||
RegisterBot registerBot = registerMapper.selectOne(new QueryWrapper<RegisterBot>()
|
||||
.eq("bot_id",transferBot.getBotId()));
|
||||
registerBot.setDeveloperId(receiveTransferBotRequest.getTransferToId());
|
||||
registerMapper.updateById(registerBot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refuseTransferBot(RefuseTransferBotRequest refuseTransferBotRequest) {
|
||||
TransferBot transferBot = transferBotMapper.selectOne(new QueryWrapper<TransferBot>()
|
||||
.eq("bot_id",refuseTransferBotRequest.getBotId())
|
||||
.eq("transfer_from_id",refuseTransferBotRequest.getTransferFromBot())
|
||||
.eq("transfer_to_id",refuseTransferBotRequest.getTransferToBot()));
|
||||
//转让失败
|
||||
transferBot.setIsSuccess(0);
|
||||
transferBotMapper.updateById(transferBot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getClientId() {
|
||||
return "qwer";
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
package com.gitlink.softbot.vo;
|
||||
|
||||
import com.sun.istack.internal.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -30,8 +27,6 @@ public class BotInputVO implements Serializable {
|
|||
//头像
|
||||
private String logo;
|
||||
|
||||
//监管仓库的ids
|
||||
private List<Integer> storeLit;
|
||||
|
||||
//是否公开
|
||||
private Integer isPublic;
|
||||
|
|
|
@ -25,9 +25,6 @@ public class BotOutputVO implements Serializable {
|
|||
//webhook地址
|
||||
private String webhook;
|
||||
|
||||
//监管仓库的ids
|
||||
private List<Integer> storeLit;
|
||||
|
||||
//是否公开
|
||||
private Integer isPublic;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.gitlink.softbot.entity.es.MarketBot;
|
|||
import com.gitlink.softbot.global.exception.BotException;
|
||||
import com.gitlink.softbot.service.user.IUserService;
|
||||
import com.gitlink.softbot.vo.BotInputVO;
|
||||
import com.gitlink.softbot.vo.MarketBotPagesVO;
|
||||
import com.gitlink.softbot.vo.DeleteBotRequest;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -13,9 +13,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
|
||||
@SpringBootTest
|
||||
@RunWith(SpringRunner.class)
|
||||
|
@ -28,34 +25,28 @@ public class MarketServiceTest {
|
|||
|
||||
@Test
|
||||
public void test() throws BotException {
|
||||
for (int i = 60; i < 80; i++) {
|
||||
MarketBot marketBot = new MarketBot();
|
||||
marketBot.setBotId(i);
|
||||
marketBot.setMarketDesc("童asdasdas林");
|
||||
marketBot.setMarketName("qqq");
|
||||
marketBot.setId(i);
|
||||
marketBot.setMarketTime(new Date());
|
||||
marketBot.setCreateTime(new Date());
|
||||
marketBot.setFirstFunc("监管");
|
||||
marketBot.setInstallNum(800-i);
|
||||
marketBot.setIsReceiveAg1(0);
|
||||
marketBot.setIsReceiveAg2(0);
|
||||
marketBot.setUpdateTime(new Date());
|
||||
marketBot.setWebhook("asdasd");
|
||||
marketBot.setSecondFunc("asdasdas");
|
||||
service.saveMarketBot(marketBot);
|
||||
Optional<MarketBot> optionalMarketBot = service.getMarketBot(i);
|
||||
if (optionalMarketBot.isPresent()){
|
||||
System.out.println("结果"+JSON.toJSONString(marketBot));
|
||||
|
||||
// MarketBot marketBot = new MarketBot();
|
||||
// marketBot.setBotId(11);
|
||||
// marketBot.setMarketDesc("童asdasdas林");
|
||||
// marketBot.setMarketName("qqq");
|
||||
// marketBot.setId(1);
|
||||
// marketBot.setMarketTime(new Date());
|
||||
// marketBot.setCreateTime(new Date());
|
||||
// marketBot.setFirstFunc("监管");
|
||||
// marketBot.setInstallNum(100000-1);
|
||||
// marketBot.setIsReceiveAg1(0);
|
||||
// marketBot.setIsReceiveAg2(0);
|
||||
// marketBot.setUpdateTime(new Date());
|
||||
// marketBot.setWebhook("asdasd");
|
||||
// marketBot.setSecondFunc("asdasdas");
|
||||
// service.saveMarketBot(marketBot);
|
||||
MarketBot optionalMarketBot = service.getMarketBot(11);
|
||||
System.out.println("结果"+JSON.toJSONString(optionalMarketBot));
|
||||
}
|
||||
}
|
||||
|
||||
MarketBotPagesVO marketBotPagesVO = service.getMarketBotByCategory("监管",3,12);
|
||||
System.out.println(JSON.toJSONString(marketBotPagesVO));
|
||||
|
||||
MarketBotPagesVO marketBotPagesVO1 = service.getMarketBotByNameLike("童",3,12);
|
||||
System.out.println(JSON.toJSONString(marketBotPagesVO1));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void register() throws BotException{
|
||||
|
@ -68,7 +59,6 @@ public class MarketServiceTest {
|
|||
botInputVO.setIsPublic(1);
|
||||
botInputVO.setReadWriteCode(1);
|
||||
botInputVO.setReadWritePr(1);
|
||||
botInputVO.setStoreLit(Arrays.asList(1,2,3,4));
|
||||
botInputVO.setUserId(12);
|
||||
botInputVO.setLogo("sada");
|
||||
userService.registerBot(botInputVO);
|
||||
|
@ -85,9 +75,20 @@ public class MarketServiceTest {
|
|||
botInputVO.setIsPublic(1);
|
||||
botInputVO.setReadWriteCode(1);
|
||||
botInputVO.setReadWritePr(1);
|
||||
botInputVO.setStoreLit(Arrays.asList(1,2,3,4));
|
||||
botInputVO.setUserId(12);
|
||||
botInputVO.setLogo("sada");
|
||||
userService.updateBot(botInputVO);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAllMarketBot() throws BotException {
|
||||
|
||||
}
|
||||
@Test
|
||||
public void deleteBot(){
|
||||
DeleteBotRequest deleteBotRequest = new DeleteBotRequest();
|
||||
deleteBotRequest.setUserId(11);
|
||||
deleteBotRequest.setBotId(11);
|
||||
userService.deleteBot(deleteBotRequest);
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue