From 0866d8d08aff35dcc240612fb8ad07384fda780f Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 20 八月 2024 11:44:56 +0800 Subject: [PATCH] data --- /dev/null | 37 ------------------------------------- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/utils/ApiSecurityUtils.java | 12 ++++-------- 2 files changed, 4 insertions(+), 45 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/utils/ApiSecurityUtils.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/utils/ApiSecurityUtils.java index 72287f7..774c1e4 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/utils/ApiSecurityUtils.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/utils/ApiSecurityUtils.java @@ -5,10 +5,6 @@ import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.security.core.LoginUser; import com.iailab.framework.security.core.util.SecurityFrameworkUtils; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.service.ApiAppService; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.service.ApiAppService; import com.iailab.module.system.api.user.AdminUserApi; import com.iailab.module.system.api.user.dto.AdminUserRespDTO; import org.apache.commons.lang3.StringUtils; @@ -27,8 +23,8 @@ @Component public class ApiSecurityUtils { - @Resource - private ApiAppService apiAppService; + /*@Resource + private ApiAppService apiAppService;*/ @Resource private AdminUserApi adminUserApi; @@ -63,10 +59,10 @@ } AdminUserRespDTO userData = user.getData(); String username = userData.getUsername(); - ApiAppEntity appInfo = apiAppService.getInfoByAppKey(username); + /*ApiAppEntity appInfo = apiAppService.getInfoByAppKey(username); if (appInfo == null) { throw new RuntimeException("应用未授权"); - } + }*/ //TODO 验证签名 // if(!com.iailab.common.utils.JwtUtils.verify(token, appInfo.getAppSecret())){ // throw new RuntimeException("签名错误"); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAppController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAppController.java deleted file mode 100644 index 37870dc..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAppController.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.iailab.module.data.gateway.controller; - -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.R; -import com.iailab.module.data.gateway.service.ApiAuthorizedService; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.service.ApiAppService; -import org.apache.commons.lang3.RandomStringUtils; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:13:00 - */ -@RestController -@RequestMapping("/api-gateway/app") -public class ApiAppController { - @Resource - private ApiAppService apiAppService; - - @Resource - private ApiAuthorizedService apiAuthorizedService; - - /** - * 合作方APP列表 - * - * @param params - * @return - */ - @GetMapping("/list") - public R list(@RequestParam Map<String, Object> params) { - PageUtils page = apiAppService.queryPage(params); - return R.ok().put("page", page); - } - - /** - * 新增合作方APP - * - * @param apiAppEntity - * @return - */ - @PostMapping("/add") - public R add(@RequestBody ApiAppEntity apiAppEntity) { - int count = apiAppService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiAppEntity.setCreateTime(new Date()); - apiAppService.add(apiAppEntity); - return R.ok(); - } - - /** - * 更新合作方APP - * - * @param apiAppEntity - * @return - */ - @PostMapping("/update") - public R update(@RequestBody ApiAppEntity apiAppEntity) { - int count = apiAppService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiAppEntity.setCreateTime(new Date()); - apiAppService.update(apiAppEntity); - return R.ok(); - } - - /** - * 重置Secret - * - * @param apiAppEntity - * @return - */ - @PostMapping("/restAppSecret") - public R restAppSecret(@RequestBody ApiAppEntity apiAppEntity) { - ApiAppEntity apiAppEntityUpdate = new ApiAppEntity(); - apiAppEntityUpdate.setId(apiAppEntity.getId()); - apiAppEntityUpdate.setAppSecret(RandomStringUtils.randomAlphanumeric(8)); - apiAppService.update(apiAppEntity); - return R.ok(); - } - - /** - * 删除合作方APP - * - * @param params - * @return - */ - @PostMapping("/delete") - public R delete(@RequestBody Map<String, Object> params) { - String id = (String)params.get("id"); - apiAppService.deleteById(id); - return R.ok(); - } - - /** - * 合作方APP详情 - * - * @param id - * @return - */ - @RequestMapping("/info/{id}") - public R info(@PathVariable("id") String id){ - ApiAppEntity apiAppEntity = apiAppService.getInfoById(id); - Map<String, Object> queryParams = new HashMap<>(); - queryParams.put("appId", id); - apiAppEntity.setApiAuthorizedList(apiAuthorizedService.queryList(queryParams)); - return R.ok().put("data", apiAppEntity); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAuthorizedController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAuthorizedController.java deleted file mode 100644 index 1191591..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiAuthorizedController.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.iailab.module.data.gateway.controller; - -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.R; -import com.iailab.module.data.gateway.service.ApiAuthorizedService; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:16:00 - */ -@RestController -@RequestMapping("/api-gateway/authorized") -public class ApiAuthorizedController { - @Resource - private ApiAuthorizedService apiAuthorizedService; - - /** - * 已授权API列表 - * - * @param params - * @return - */ - @GetMapping("/list") - public R list(@RequestParam Map<String, Object> params) { - PageUtils page = apiAuthorizedService.queryPage(params); - return R.ok().put("page", page); - } - - /** - * 已授权API更新 - * - * @param apiAuthorizedEntity - * @return - */ - @PostMapping("/update") - public R update(@RequestBody ApiAuthorizedEntity apiAuthorizedEntity) { - apiAuthorizedService.update(apiAuthorizedEntity); - return R.ok(); - } - - /** - * API授权 - * - * @param appId - * @param apiIdList - * @return - */ - @PostMapping("/grant-api/{appId}") - public R grantApi(@PathVariable("appId") String appId, @RequestBody List<String> apiIdList) { - apiAuthorizedService.grantApi(appId, apiIdList); - return R.ok(); - } - - /** - * 删除已授权API - * - * @param params - * @return - */ - @PostMapping("/delete") - public R delete(@RequestBody Map<String, Object> params) { - String id = (String)params.get("id"); - apiAuthorizedService.deleteById(id); - return R.ok(); - } - - /** - * 已授权API详情 - * - * @param id - * @return - */ - @RequestMapping("/info/{id}") - public R info(@PathVariable("id") String id){ - ApiAuthorizedEntity sysDictItemEntity = apiAuthorizedService.getInfoById(id); - - return R.ok().put("dictItem", sysDictItemEntity); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiGroupController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiGroupController.java deleted file mode 100644 index 4b2b7dc..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiGroupController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.iailab.module.data.gateway.controller; - -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.R; -import com.iailab.module.data.gateway.entity.ApiGroupEntity; -import com.iailab.module.data.gateway.service.ApiGroupService; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:16:00 - */ -@RestController -@RequestMapping("/api-gateway/group") -public class ApiGroupController { - @Resource - private ApiGroupService apiGroupService; - - /** - * API分组列表 - * - * @param params - * @return - */ - @GetMapping("/list") - public R list(@RequestParam Map<String, Object> params) { - PageUtils page = apiGroupService.queryPage(params); - return R.ok().put("page", page); - } - - /** - * 新增API分组 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/add") - public R add(@RequestBody ApiGroupEntity apiAppEntity) { - int count = apiGroupService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiAppEntity.setCreateTime(new Date()); - apiGroupService.add(apiAppEntity); - return R.ok(); - } - - /** - * 更新API分组 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/update") - public R update(@RequestBody ApiGroupEntity apiAppEntity) { - int count = apiGroupService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiGroupService.update(apiAppEntity); - return R.ok(); - } - - /** - * 删除API分组 - * - * @param params - * @return - */ - @PostMapping("/delete") - public R delete(@RequestBody Map<String, Object> params) { - String id = (String)params.get("id"); - apiGroupService.deleteById(id); - return R.ok(); - } - - /** - * API分组详情 - * - * @param id - * @return - */ - @RequestMapping("/info/{id}") - public R info(@PathVariable("id") String id){ - ApiGroupEntity sysDictItemEntity = apiGroupService.getInfoById(id); - - return R.ok().put("data", sysDictItemEntity); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiInfoController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiInfoController.java deleted file mode 100644 index 3586ab3..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiInfoController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.iailab.module.data.gateway.controller; - -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.R; -import com.iailab.module.data.gateway.service.ApiInfoService; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import com.iailab.module.data.gateway.service.ApiGroupService; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:17:00 - */ -@RestController -@RequestMapping("/api-gateway/info") -public class ApiInfoController { - @Resource - private ApiInfoService apiInfoService; - - @Resource - private ApiGroupService apiGroupService; - - /** - * API信息列表 - * - * @param params - * @return - */ - @GetMapping("/list") - public R list(@RequestParam Map<String, Object> params) { - PageUtils page = apiInfoService.queryPage(params); - return R.ok().put("page", page); - } - - /** - * 新增API信息 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/add") - public R add(@RequestBody ApiInfoEntity apiAppEntity) { - int count = apiInfoService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiAppEntity.setCreateTime(new Date()); - apiInfoService.add(apiAppEntity); - return R.ok(); - } - - /** - * 更新API信息 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/update") - public R update(@RequestBody ApiInfoEntity apiAppEntity) { - int count = apiInfoService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiInfoService.update(apiAppEntity); - return R.ok(); - } - - /** - * 删除API信息 - * - * @param params - * @return - */ - @PostMapping("/delete") - public R delete(@RequestBody Map<String, Object> params) { - String id = (String)params.get("id"); - apiInfoService.deleteById(id); - return R.ok(); - } - - /** - * API信息详情 - * - * @param id - * @return - */ - @RequestMapping("/info/{id}") - public R info(@PathVariable("id") String id){ - ApiInfoEntity sysDictItemEntity = apiInfoService.getInfoById(id); - - return R.ok().put("data", sysDictItemEntity); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiServerController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiServerController.java deleted file mode 100644 index 6f8db83..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/controller/ApiServerController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.iailab.module.data.gateway.controller; - -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.R; -import com.iailab.module.data.gateway.service.ApiServerService; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:17:00 - */ -@RestController -@RequestMapping("/api-gateway/server") -public class ApiServerController { - @Resource - private ApiServerService apiServerService; - - /** - * API提供方列表 - * - * @param params - * @return - */ - @GetMapping("/list") - public R list(@RequestParam Map<String, Object> params) { - PageUtils page = apiServerService.queryPage(params); - return R.ok().put("page", page); - } - - /** - * 新增API提供方 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/add") - public R add(@RequestBody ApiServerEntity apiAppEntity) { - int count = apiServerService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiAppEntity.setCreateTime(new Date()); - apiServerService.add(apiAppEntity); - return R.ok(); - } - - /** - * 更新API提供方 - * - * @param apiAppEntity - * @return - */ - @PostMapping("/update") - public R update(@RequestBody ApiServerEntity apiAppEntity) { - int count = apiServerService.cheack(apiAppEntity); - if (count > 0) { - return R.error("名称或数据值重复"); - } - apiServerService.update(apiAppEntity); - return R.ok(); - } - - /** - * 删除API提供方 - * - * @param params - * @return - */ - @PostMapping("/delete") - public R delete(@RequestBody Map<String, Object> params) { - String id = (String)params.get("id"); - apiServerService.deleteById(id); - return R.ok(); - } - - /** - * API提供方详情 - * - * @param id - * @return - */ - @RequestMapping("/info/{id}") - public R info(@PathVariable("id") String id){ - ApiServerEntity sysDictItemEntity = apiServerService.getInfoById(id); - - return R.ok().put("data", sysDictItemEntity); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAppDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAppDao.java deleted file mode 100644 index c5a3a40..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAppDao.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.iailab.module.data.gateway.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 13:53:00 - */ -@Mapper -public interface ApiAppDao extends BaseMapper<ApiAppEntity> { -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAuthorizedDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAuthorizedDao.java deleted file mode 100644 index e04e973..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiAuthorizedDao.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.iailab.module.data.gateway.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import com.iailab.module.data.gateway.vo.SysGatewayApi; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 13:55:00 - */ -@Mapper -public interface ApiAuthorizedDao extends BaseMapper<ApiAuthorizedEntity> { - - IPage<ApiAuthorizedEntity> queryList(IPage<ApiAuthorizedEntity> page, @Param("params") Map<String, Object> params); - - List<SysGatewayApi> queryListGatewayApi(Map<String, Object> params); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiGroupDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiGroupDao.java deleted file mode 100644 index b00edce..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiGroupDao.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.iailab.module.data.gateway.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.iailab.module.data.gateway.entity.ApiGroupEntity; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 13:56:00 - */ -@Mapper -public interface ApiGroupDao extends BaseMapper<ApiGroupEntity> { -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiInfoDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiInfoDao.java deleted file mode 100644 index 3eb34f9..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiInfoDao.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iailab.module.data.gateway.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 13:57:00 - */ -@Mapper -public interface ApiInfoDao extends BaseMapper<ApiInfoEntity> { - - IPage<ApiInfoEntity> queryList(IPage<ApiInfoEntity> page, @Param("params") Map<String, Object> params); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiServerDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiServerDao.java deleted file mode 100644 index 3c48d22..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/dao/ApiServerDao.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.iailab.module.data.gateway.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 13:58:00 - */ -@Mapper -public interface ApiServerDao extends BaseMapper<ApiServerEntity> { -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAppEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAppEntity.java deleted file mode 100644 index 5a3295b..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAppEntity.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.iailab.module.data.gateway.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.iailab.framework.excel.core.annotations.DictFormat; -import lombok.Data; - -import java.util.List; - -@Data -@TableName("t_api_app") -public class ApiAppEntity { - - @TableId(type = IdType.ASSIGN_ID) - private String id; - - private String appName; - - private String appKey; - - private String appSecret; - - private String appDesc; - - private Integer status; - - @DictFormat("enable") - @TableField(exist = false) - private String statusName; - - private java.util.Date createTime; - - @TableField(exist = false) - private List<ApiAuthorizedEntity> apiAuthorizedList; - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAuthorizedEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAuthorizedEntity.java deleted file mode 100644 index a2a42a8..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiAuthorizedEntity.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.iailab.module.data.gateway.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -@Data -@TableName("t_api_authorized") -public class ApiAuthorizedEntity { - - @TableId(type = IdType.ASSIGN_ID) - private String id; - - private String appId; - - private String appKey; - - private String apiId; - - @TableField(exist = false) - private String serverName; - - @TableField(exist = false) - private String apiName; - - @TableField(exist = false) - private String apiAddress; - - private Integer limitMin; - - private Integer limitHour; - - private Integer limitDay; - - private java.util.Date createTime; - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiGroupEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiGroupEntity.java deleted file mode 100644 index fd3674d..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiGroupEntity.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iailab.module.data.gateway.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.TableName; - -@Data -@TableName("t_api_group") -public class ApiGroupEntity { - - @TableId(type = IdType.ASSIGN_ID) - private String id; - - private String groupName; - - private String groupDesc; - - private Integer status; - - private java.util.Date createTime; - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiInfoEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiInfoEntity.java deleted file mode 100644 index d30d9dc..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiInfoEntity.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.iailab.module.data.gateway.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -@Data -@TableName("t_api_info") -public class ApiInfoEntity { - - @TableId(type = IdType.ASSIGN_ID) - private String id; - - private String apiName; - - private String apiGroupId; - - @TableField(exist = false) - private String groupName; - - private String apiServerId; - - @TableField(exist = false) - private String serverName; - - private String apiDesc; - - private String apiAddress; - - private Integer status; - - private java.util.Date createTime; - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiServerEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiServerEntity.java deleted file mode 100644 index ef65387..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/entity/ApiServerEntity.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.iailab.module.data.gateway.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.iailab.framework.excel.core.annotations.DictFormat; -import lombok.Data; - -@Data -@TableName("t_api_server") -public class ApiServerEntity { - @TableId(type = IdType.ASSIGN_ID) - private String id; - - private String serverName; - - private String serverDesc; - - private String serverAddress; - - private Integer limitMin; - - private Integer status; - - @DictFormat("enable") - @TableField(exist = false) - private String statusName; - - private java.util.Date createTime; - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/form/AppLoginForm.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/form/AppLoginForm.java deleted file mode 100644 index b287f89..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/form/AppLoginForm.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.iailab.module.data.gateway.form; - -import lombok.Data; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月19日 17:18:00 - */ -@Data -public class AppLoginForm { - private String appKey; - private String appSecret; -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAppService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAppService.java deleted file mode 100644 index 242983c..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAppService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.iailab.module.data.gateway.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.gateway.entity.ApiAppEntity; - -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:00:00 - */ -public interface ApiAppService extends IService<ApiAppEntity> { - - PageUtils queryPage(Map<String, Object> params); - - void add(ApiAppEntity apiAppEntity); - - void update(ApiAppEntity apiAppEntity); - - void deleteById(String id); - - ApiAppEntity getInfoById(String id); - - ApiAppEntity getInfoByAppKey(String appKey); - - int cheack(ApiAppEntity apiAppEntity); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAuthorizedService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAuthorizedService.java deleted file mode 100644 index 2d1d158..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiAuthorizedService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.iailab.module.data.gateway.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; - -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:00:00 - */ -public interface ApiAuthorizedService extends IService<ApiAuthorizedEntity> { - - PageUtils queryPage(Map<String, Object> params); - - List<ApiAuthorizedEntity> queryList(Map<String, Object> params); - - void add(ApiAuthorizedEntity dictItemEntity); - - void update(ApiAuthorizedEntity dictItemEntity); - - void deleteById(String id); - - ApiAuthorizedEntity getInfoById(String id); - - void grantApi(String appId, List<String> apiIdList); - - void addApiRedis(); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiGroupService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiGroupService.java deleted file mode 100644 index b4632c8..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiGroupService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.iailab.module.data.gateway.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.gateway.entity.ApiGroupEntity; - -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:00:00 - */ -public interface ApiGroupService extends IService<ApiGroupEntity> { - PageUtils queryPage(Map<String, Object> params); - - List<ApiGroupEntity> queryList(); - - void add(ApiGroupEntity apiGroupEntity); - - void update(ApiGroupEntity apiGroupEntity); - - void deleteById(String id); - - ApiGroupEntity getInfoById(String id); - - int cheack(ApiGroupEntity apiGroupEntity); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiInfoService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiInfoService.java deleted file mode 100644 index 4ce6cb6..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiInfoService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.iailab.module.data.gateway.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; - -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:01:00 - */ -public interface ApiInfoService extends IService<ApiInfoEntity> { - - PageUtils queryPage(Map<String, Object> params); - - List<ApiInfoEntity> queryList(Map<String, Object> params); - - void add(ApiInfoEntity apiInfoEntity); - - void update(ApiInfoEntity apiInfoEntity); - - void deleteById(String id); - - ApiInfoEntity getInfoById(String id); - - int cheack(ApiInfoEntity apiInfoEntity); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiServerService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiServerService.java deleted file mode 100644 index 2432c39..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/ApiServerService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.iailab.module.data.gateway.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.gateway.entity.ApiServerEntity; - -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:01:00 - */ -public interface ApiServerService extends IService<ApiServerEntity> { - PageUtils queryPage(Map<String, Object> params); - - void add(ApiServerEntity apiServerEntity); - - void update(ApiServerEntity apiServerEntity); - - void deleteById(String id); - - ApiServerEntity getInfoById(String id); - - int cheack(ApiServerEntity apiServerEntity); - - void addRouteRedis(); -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAppServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAppServiceImpl.java deleted file mode 100644 index 3f3e8ec..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAppServiceImpl.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.iailab.module.data.gateway.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.framework.common.constant.Constant; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.Query; -import com.iailab.module.data.gateway.dao.ApiAppDao; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.service.ApiAppService; -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.Map; -import java.util.UUID; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:02:00 - */ -@Service("apiAppService") -public class ApiAppServiceImpl extends ServiceImpl<ApiAppDao, ApiAppEntity> implements ApiAppService { - - @Override - public PageUtils queryPage(Map<String, Object> params) { - String appName = (String)params.get("appName"); - String appKey = (String)params.get("appKey"); - IPage<ApiAppEntity> page = this.page( - new Query<ApiAppEntity>().getPage(params), - new QueryWrapper<ApiAppEntity>() - .like(StringUtils.isNotBlank(appName),"app_name", appName) - .like(StringUtils.isNotBlank(appKey),"app_key", appKey) - .orderByDesc("create_time") - ); - return new PageUtils(page); - } - - @Override - public void add(ApiAppEntity entity) { - entity.setId(UUID.randomUUID().toString().replace("-", "")); - //apiAppEntity.setAppKey(UUID.randomUUID().toString().replace("-", "").substring(0, 16)); - entity.setAppSecret(StringUtils.isNotBlank(entity.getAppSecret()) ? entity.getAppSecret() : RandomStringUtils.randomAlphanumeric(8)); - entity.setStatus(Constant.EnableStatus.NORMAL.getValue()); - this.save(entity); - } - - @Override - public void update(ApiAppEntity apiAppEntity) { - this.updateById(apiAppEntity); - } - - @Override - public void deleteById(String id) { - this.getBaseMapper().delete(new QueryWrapper<ApiAppEntity>().eq("id", id)); - } - - @Override - public ApiAppEntity getInfoById(String id) { - return this.getById(id); - } - - @Override - public ApiAppEntity getInfoByAppKey(String appKey) { - return this.getOne(new QueryWrapper<ApiAppEntity>().eq("app_key", appKey)); - } - - @Override - public int cheack(ApiAppEntity apiAppEntity) { - String id = apiAppEntity.getId(); - String appName = apiAppEntity.getAppName(); - String appKey = apiAppEntity.getAppKey(); - QueryWrapper<ApiAppEntity> queryWrapper = new QueryWrapper<>(); - queryWrapper.ne(StringUtils.isNotBlank(id), "id", id); - queryWrapper.and(wrapper -> wrapper.eq("app_name", appName).or(). - eq(StringUtils.isNotBlank(appKey),"app_key", appKey)); - return (int)this.count(queryWrapper); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAuthorizedServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAuthorizedServiceImpl.java deleted file mode 100644 index b79ecfd..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiAuthorizedServiceImpl.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.iailab.module.data.gateway.service.impl; - -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.Query; -import com.iailab.framework.common.constant.CacheConstant; -import com.iailab.module.data.gateway.dao.ApiAppDao; -import com.iailab.module.data.gateway.dao.ApiAuthorizedDao; -import com.iailab.module.data.gateway.dao.ApiInfoDao; -import com.iailab.module.data.gateway.entity.ApiAppEntity; -import com.iailab.module.data.gateway.entity.ApiAuthorizedEntity; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import com.iailab.module.data.gateway.service.ApiAuthorizedService; -import com.iailab.module.data.gateway.vo.SysGatewayApi; -import org.apache.commons.lang3.StringUtils; -import javax.annotation.Resource; - -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:02:00 - */ -@Service("apiAuthorizedService") -public class ApiAuthorizedServiceImpl extends ServiceImpl<ApiAuthorizedDao, ApiAuthorizedEntity> implements ApiAuthorizedService { - - @Resource - private ApiAppDao apiAppDao; - - @Resource - private ApiInfoDao apiInfoDao; - - @Resource - private StringRedisTemplate stringRedisTemplate; - - @Override - public PageUtils queryPage(Map<String, Object> params) { - String appId = (String)params.get("appId"); - Map<String, Object> queryParams = new HashMap<>(1); - queryParams.put("appId", appId); - IPage<ApiAuthorizedEntity> page = getBaseMapper().queryList( - new Query<ApiAuthorizedEntity>().getPage(params), - queryParams - ); - return new PageUtils(page); - } - - @Override - public List<ApiAuthorizedEntity> queryList(Map<String, Object> params) { - String appId = (String)params.get("appId"); - return getBaseMapper().selectList(new QueryWrapper<ApiAuthorizedEntity>() - .eq(StringUtils.isNotBlank(appId), "app_id", appId) - .orderByDesc("create_time")); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void grantApi(String appId, List<String> apiIdList) { - ApiAppEntity apiAppEntity = apiAppDao.selectById(appId); - if (apiAppEntity == null) { - return; - } - String appKey = apiAppEntity.getAppKey(); - getBaseMapper().delete(new QueryWrapper<ApiAuthorizedEntity>().eq("app_id", appId)); - if (!CollectionUtils.isEmpty(apiIdList)) { - apiIdList = apiIdList.stream().distinct().collect(Collectors.toList()); - apiIdList.forEach(item -> { - ApiInfoEntity apiInfoEntity = apiInfoDao.selectById(item); - if (apiInfoEntity != null) { - ApiAuthorizedEntity apiAuthorizedEntity = new ApiAuthorizedEntity(); - apiAuthorizedEntity.setId(UUID.randomUUID().toString().replace("-", "")); - apiAuthorizedEntity.setAppId(appId); - apiAuthorizedEntity.setAppKey(appKey); - apiAuthorizedEntity.setApiId(apiInfoEntity.getId()); - apiAuthorizedEntity.setCreateTime(new Date()); - this.save(apiAuthorizedEntity); - } - }); - } - addApiRedis(); - } - - @Override - public void add(ApiAuthorizedEntity apiAuthorizedEntity) { - this.save(apiAuthorizedEntity); - addApiRedis(); - } - - @Override - public void update(ApiAuthorizedEntity apiAuthorizedEntity) { - this.updateById(apiAuthorizedEntity); - addApiRedis(); - } - - @Override - public void deleteById(String id) { - this.getBaseMapper().delete(new QueryWrapper<ApiAuthorizedEntity>().eq("id", id)); - addApiRedis(); - } - - @Override - public ApiAuthorizedEntity getInfoById(String id) { - return this.getById(id); - } - - @Override - public void addApiRedis() { - Map<String, String> apis = new HashMap<>(); - Map<String, Object> params = new HashMap<>(1); - params.put("serverStatus", 1); - List<SysGatewayApi> gatewayApiList = getBaseMapper().queryListGatewayApi(params); - if (!CollectionUtils.isEmpty(gatewayApiList)) { - gatewayApiList.forEach(item -> { - String url = "/" + item.getServerName() + item.getApiAddress(); - apis.put(item.getAppKey() + "_" + url, item.getApiStatus().toString()); - }); - } - stringRedisTemplate.opsForValue().set(CacheConstant.GATEWAY_APIS, JSON.toJSONString(apis)); - } - -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiGroupServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiGroupServiceImpl.java deleted file mode 100644 index d5c6910..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiGroupServiceImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.iailab.module.data.gateway.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.Query; -import com.iailab.module.data.gateway.dao.ApiGroupDao; -import com.iailab.module.data.gateway.entity.ApiGroupEntity; -import com.iailab.module.data.gateway.service.ApiGroupService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:02:00 - */ -@Service("apiGroupService") -public class ApiGroupServiceImpl extends ServiceImpl<ApiGroupDao, ApiGroupEntity> implements ApiGroupService { - - @Override - public PageUtils queryPage(Map<String, Object> params) { - String groupName = (String)params.get("groupName"); - - IPage<ApiGroupEntity> page = this.page( - new Query<ApiGroupEntity>().getPage(params), - new QueryWrapper<ApiGroupEntity>() - .like(StringUtils.isNotBlank(groupName),"group_name", groupName) - .orderByDesc("create_time") - ); - return new PageUtils(page); - } - - @Override - public List<ApiGroupEntity> queryList() { - return getBaseMapper().selectList(new QueryWrapper<ApiGroupEntity>().orderByDesc("create_time")); - } - - @Override - public void add(ApiGroupEntity apiGroupEntity) { - apiGroupEntity.setId(UUID.randomUUID().toString().replace("-", "")); - apiGroupEntity.setCreateTime(new Date()); - this.save(apiGroupEntity); - } - - @Override - public void update(ApiGroupEntity apiGroupEntity) { - this.updateById(apiGroupEntity); - } - - @Override - public void deleteById(String id) { - this.getBaseMapper().delete(new QueryWrapper<ApiGroupEntity>().eq("id", id)); - } - - @Override - public ApiGroupEntity getInfoById(String id) { - return this.getById(id); - } - - @Override - public int cheack(ApiGroupEntity apiGroupEntity) { - String id = apiGroupEntity.getId(); - String groupName = apiGroupEntity.getGroupName(); - - QueryWrapper<ApiGroupEntity> queryWrapper = new QueryWrapper<>(); - queryWrapper.ne(StringUtils.isNotBlank(id), "id", id); - queryWrapper.and(wrapper -> wrapper.eq("group_name", groupName)); - return (int)this.count(queryWrapper); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiInfoServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiInfoServiceImpl.java deleted file mode 100644 index 9bf6e31..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiInfoServiceImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.iailab.module.data.gateway.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.Query; -import com.iailab.module.data.gateway.service.ApiInfoService; -import com.iailab.module.data.gateway.dao.ApiInfoDao; -import com.iailab.module.data.gateway.entity.ApiInfoEntity; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:03:00 - */ -@Service("apiInfoService") -public class ApiInfoServiceImpl extends ServiceImpl<ApiInfoDao, ApiInfoEntity> implements ApiInfoService { - - @Override - public PageUtils queryPage(Map<String, Object> params) { - String apiName = (String)params.get("apiName"); - String apiGroupId = (String)params.get("apiGroupId"); - String apiServerId = (String)params.get("apiServerId"); - - Map<String, Object> queryParams = new HashMap<>(3); - queryParams.put("apiName", apiName); - queryParams.put("apiGroupId", apiGroupId); - queryParams.put("apiServerId", apiServerId); - IPage<ApiInfoEntity> page = getBaseMapper().queryList( - new Query<ApiInfoEntity>().getPage(queryParams), - params - ); - return new PageUtils(page); - } - - @Override - public List<ApiInfoEntity> queryList(Map<String, Object> params) { - String apiGroupId = (String)params.get("apiGroupId"); - String apiServerId = (String)params.get("apiServerId"); - return getBaseMapper().selectList(new QueryWrapper<ApiInfoEntity>() - .eq(StringUtils.isNotBlank(apiGroupId), "api_group_id", apiGroupId) - .eq(StringUtils.isNotBlank(apiServerId), "api_server_id", apiServerId) - .orderByDesc("create_time")); - } - - @Override - public void add(ApiInfoEntity apiInfoEntity) { - this.save(apiInfoEntity); - } - - @Override - public void update(ApiInfoEntity apiInfoEntity) { - this.updateById(apiInfoEntity); - } - - @Override - public void deleteById(String id) { - this.getBaseMapper().delete(new QueryWrapper<ApiInfoEntity>().eq("id", id)); - } - - @Override - public ApiInfoEntity getInfoById(String id) { - return this.getById(id); - } - - @Override - public int cheack(ApiInfoEntity apiInfoEntity) { - String id = apiInfoEntity.getId(); - String apiName = apiInfoEntity.getApiName(); - - QueryWrapper<ApiInfoEntity> queryWrapper = new QueryWrapper<>(); - queryWrapper.ne(StringUtils.isNotBlank(id), "id", id); - queryWrapper.and(wrapper -> wrapper.eq("api_name", apiName)); - return (int)this.count(queryWrapper); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiServerServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiServerServiceImpl.java deleted file mode 100644 index ecfa272..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/service/impl/ApiServerServiceImpl.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.iailab.module.data.gateway.service.impl; - -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.module.data.common.utils.PageUtils; -import com.iailab.module.data.common.utils.Query; -import com.iailab.framework.common.constant.CacheConstant; -import com.iailab.framework.common.constant.GlobalConstants; -import com.iailab.module.data.gateway.dao.ApiServerDao; -import com.iailab.module.data.gateway.entity.ApiServerEntity; -import com.iailab.module.data.gateway.service.ApiServerService; -import com.iailab.module.data.gateway.vo.SysGatewayRoute; -import org.apache.commons.lang3.StringUtils; -import javax.annotation.Resource; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.Collectors; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月15日 14:03:00 - */ -@Service("apiServerService") -public class ApiServerServiceImpl extends ServiceImpl<ApiServerDao, ApiServerEntity> implements ApiServerService { - - @Resource - private RedisTemplate<String, Object> redisTemplate; - - private final int MINS = 60; - - private String filterJson = "[{\"args\":[{\"key\":\"parts\",\"value\":\"1\"}],\"name\":\"StripPrefix\"},{\"args\":[{\"key\":\"key-resolver\",\"value\":\"#{@authorizedApiKeyResolver}\"},{\"key\":\"redis-rate-limiter.replenishRate\",\"value\":1},{\"key\":\"redis-rate-limiter.burstCapacity\",\"value\":60},{\"key\":\"redis-rate-limiter.requestedTokens\",\"value\":requestedTokensValue}],\"name\":\"RequestRateLimiter\"}]"; - - @Override - public PageUtils queryPage(Map<String, Object> params) { - String serverName = (String)params.get("serverName"); - - IPage<ApiServerEntity> page = this.page( - new Query<ApiServerEntity>().getPage(params), - new QueryWrapper<ApiServerEntity>() - .like(StringUtils.isNotBlank(serverName),"server_name", serverName) - .orderByDesc("create_time") - ); - return new PageUtils(page); - } - - @Override - public void add(ApiServerEntity apiServerEntity) { - apiServerEntity.setId(UUID.randomUUID().toString().replace("-", "")); - this.save(apiServerEntity); -// this.addRouteRedis(); - } - - @Override - public void update(ApiServerEntity apiServerEntity) { - this.updateById(apiServerEntity); -// this.addRouteRedis(); - } - - @Override - public void deleteById(String id) { - this.getBaseMapper().delete(new QueryWrapper<ApiServerEntity>().eq("id", id)); - } - - @Override - public ApiServerEntity getInfoById(String id) { - return this.getById(id); - } - - @Override - public int cheack(ApiServerEntity apiServerEntity) { - String id = apiServerEntity.getId(); - String serverName = apiServerEntity.getServerName(); - - QueryWrapper<ApiServerEntity> queryWrapper = new QueryWrapper<>(); - queryWrapper.ne(StringUtils.isNotBlank(id), "id", id); - queryWrapper.and(wrapper -> wrapper.eq("server_name", serverName)); - return (int)this.count(queryWrapper); - } - - @Override - public void addRouteRedis() { - List<SysGatewayRoute> ls = new ArrayList<>(); - List<ApiServerEntity> list = getBaseMapper().selectList(new QueryWrapper<>()); - if (!CollectionUtils.isEmpty(list)) { - ls = list.stream().map(item -> { - SysGatewayRoute sysGatewayRoute = new SysGatewayRoute(); - sysGatewayRoute.setId(item.getId()); - sysGatewayRoute.setRouterId(item.getServerName()); - sysGatewayRoute.setName(item.getServerName()); - sysGatewayRoute.setUri(item.getServerAddress()); - sysGatewayRoute.setPredicates("[{\"args\":[\"/" + item.getServerName() +"/**\"],\"name\":\"Path\"}]"); - sysGatewayRoute.setFilters("[{\"args\":[{\"key\":\"parts\",\"value\":\"1\"}],\"name\":\"StripPrefix\"}]"); - if (item.getLimitMin() != null && item.getLimitMin().compareTo(MINS) <= 0) { - String requestedTokensValue = (new BigDecimal(MINS)).divide(new BigDecimal(item.getLimitMin()), 0, BigDecimal.ROUND_FLOOR).toString(); - sysGatewayRoute.setFilters(filterJson.replace("requestedTokensValue", requestedTokensValue)); - } - sysGatewayRoute.setStatus(item.getStatus()); - return sysGatewayRoute; - }).collect(Collectors.toList()); - } - redisTemplate.opsForValue().set(CacheConstant.GATEWAY_ROUTES, JSON.toJSONString(ls)); - //刷新网关 - redisTemplate.convertAndSend(GlobalConstants.REDIS_TOPIC_NAME, GlobalConstants.LODER_ROUDER_HANDLER); - } -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayApi.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayApi.java deleted file mode 100644 index 1ca7293..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iailab.module.data.gateway.vo; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月20日 10:34:00 - */ -@Data -public class SysGatewayApi implements Serializable { - private static final long serialVersionUID = 1L; - - private String appKey; - - private Integer apiStatus; - - private String apiAddress; - - private String serverName; -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayRoute.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayRoute.java deleted file mode 100644 index 60fe5e0..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/gateway/vo/SysGatewayRoute.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.iailab.module.data.gateway.vo; - -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * @author PanZhibao - * @Description - * @createTime 2022年07月19日 22:32:00 - */ -@Data -public class SysGatewayRoute implements Serializable { - private static final long serialVersionUID = 1L; - - /**主键*/ - private String id; - - /**routerKEy*/ - private String routerId; - - /**服务名*/ - private String name; - - /**服务地址*/ - private String uri; - - /** - * 断言配置 - */ - private String predicates; - - /** - * 过滤配置 - */ - private String filters; - - /**是否忽略前缀0-否 1-是*/ - private Integer stripPrefix; - - /**是否重试0-否 1-是*/ - private Integer retryable; - - /**是否为保留数据:0-否 1-是*/ - private Integer persistable; - - /**是否在接口文档中展示:0-否 1-是*/ - private Integer showApi; - - /**状态 1有效 0无效*/ - private Integer status; - - /**创建日期*/ - private Date createTime; -} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiAuthorizedDao.xml b/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiAuthorizedDao.xml deleted file mode 100644 index 956d3ac..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiAuthorizedDao.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.iailab.module.data.gateway.dao.ApiAuthorizedDao"> - <resultMap id="ApiAuthorizedEntity" type="com.iailab.module.data.gateway.entity.ApiAuthorizedEntity"> - <result property="id" column="id"/> - <result property="appId" column="app_id"/> - <result property="appKey" column="app_key"/> - <result property="serverName" column="server_name"/> - <result property="apiId" column="api_id"/> - <result property="apiName" column="api_name"/> - <result property="limitMin" column="limit_min"/> - <result property="limitHour" column="limit_hour"/> - <result property="limitDay" column="limit_day"/> - <result property="createTime" column="create_time"/> - </resultMap> - - <resultMap id="SysGatewayApi" type="com.iailab.module.data.gateway.vo.SysGatewayApi"> - <result property="appKey" column="app_key"/> - <result property="apiStatus" column="api_status"/> - <result property="apiAddress" column="api_address"/> - <result property="serverName" column="server_name"/> - </resultMap> - - <select id="queryList" parameterType="map" resultMap="ApiAuthorizedEntity"> - SELECT t1.*, - t2.api_name, - t2.api_address, - t3.server_name - FROM t_api_authorized t1 - LEFT JOIN t_api_info t2 ON t2.id = t1.api_id - LEFT JOIN t_api_server t3 ON t3.id = t2.api_server_id - <where> - <if test="params.appId != null and params.appId != ''"> - AND t1.app_id = #{params.appId} - </if> - </where> - ORDER BY t1.create_time DESC - </select> - - <select id="queryListGatewayApi" parameterType="map" resultMap="SysGatewayApi"> - SELECT - t1.app_key, - t2.api_address, - t3.server_name, - t2.status as api_status - FROM - t_api_authorized t1 - LEFT JOIN t_api_info t2 ON t2.id = t1.api_id - LEFT JOIN t_api_server t3 ON t3.id = t2.api_server_id - <where> - <if test="apiStatus != null and apiStatus != ''"> - AND t2.status = #{apiStatus} - </if> - <if test="serverStatus != null and serverStatus != ''"> - AND t3.status = #{serverStatus} - </if> - </where> - </select> - -</mapper> \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiInfoDao.xml b/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiInfoDao.xml deleted file mode 100644 index 2e46d01..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/gateway/ApiInfoDao.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.iailab.module.data.gateway.dao.ApiInfoDao"> - <resultMap id="ApiInfoEntity" type="com.iailab.module.data.gateway.entity.ApiInfoEntity"> - <result property="id" column="id"/> - <result property="apiName" column="api_name"/> - <result property="apiGroupId" column="api_group_id"/> - <result property="groupName" column="group_name"/> - <result property="apiServerId" column="api_server_id"/> - <result property="serverName" column="server_name"/> - <result property="apiDesc" column="api_desc"/> - <result property="apiAddress" column="api_address"/> - <result property="status" column="status"/> - <result property="createTime" column="create_time"/> - </resultMap> - <select id="queryList" parameterType="map" resultMap="ApiInfoEntity"> - SELECT t1.*, - t2.group_name, - t3.server_name - FROM t_api_info t1 - LEFT JOIN t_api_group t2 ON t2.id = t1.api_group_id - LEFT JOIN t_api_server t3 ON t3.id = t1.api_server_id - <where> - <if test="params.apiName != null and params.apiName != ''"> - AND t1.api_name LIKE CONCAT('%', #{params.apiName}, '%') - </if> - <if test="params.groupName != null and params.groupName != ''"> - AND t2.group_name LIKE CONCAT('%', #{params.groupName}, '%') - </if> - <if test="params.serverName != null and params.serverName != ''"> - AND t3.server_name LIKE CONCAT('%', #{params.serverName}, '%') - </if> - </where> - ORDER BY t1.create_time DESC - </select> - -</mapper> \ No newline at end of file -- Gitblit v1.9.3