dev
LiZi 2023-12-25 18:52:44 +08:00
parent 2c021232d7
commit 4c6d335912
11 changed files with 112 additions and 49 deletions

View File

@ -20,6 +20,7 @@ import java.util.List;
@RequestMapping("/api-config") @RequestMapping("/api-config")
@AllArgsConstructor @AllArgsConstructor
public class ApiConfigController { public class ApiConfigController {
private final ApiConfigService apiConfigService; private final ApiConfigService apiConfigService;
@ -40,7 +41,7 @@ public class ApiConfigController {
* @param query API * @param query API
* @return * @return
*/ */
@GetMapping("page") @GetMapping("/page")
@Operation(summary = "分页") @Operation(summary = "分页")
@PreAuthorize("hasAuthority('data-service:api-config:page')") @PreAuthorize("hasAuthority('data-service:api-config:page')")
public Result<PageResult<ApiConfig>> page(@Valid ApiConfigQuery query) { public Result<PageResult<ApiConfig>> page(@Valid ApiConfigQuery query) {
@ -54,7 +55,7 @@ public class ApiConfigController {
* *
* @return IP * @return IP
*/ */
@GetMapping("getIpPort") @GetMapping("/getIpPort")
public Result<String> getIpPort() { public Result<String> getIpPort() {
return Result.ok(apiConfigService.getIpPort()); return Result.ok(apiConfigService.getIpPort());
} }
@ -109,8 +110,8 @@ public class ApiConfigController {
@DeleteMapping @DeleteMapping
@Operation(summary = "删除") @Operation(summary = "删除")
@PreAuthorize("hasAuthority('data-service:api-config:delete')") @PreAuthorize("hasAuthority('data-service:api-config:delete')")
public Result<ApiConfigEntity> delete(@PathVariable("id") Long id) { public Result<String> delete(@RequestBody List<Long> idList) {
apiConfigService.removeByI(id); apiConfigService.removeByI(idList);
return Result.ok(); return Result.ok();
} }

View File

@ -2,7 +2,8 @@ package net.srt.convert;
import net.srt.entity.ApiLogEntity; import net.srt.entity.ApiLogEntity;
import net.srt.vo.ApiLog; import net.srt.vo.ApiLog;
import org.apache.ibatis.annotations.Mapper;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,7 @@
package net.srt.entity; package net.srt.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import net.srt.framework.mybatis.entity.BaseEntity; import net.srt.framework.mybatis.entity.BaseEntity;
import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.CreatedDate;
@ -50,6 +51,7 @@ public class ApiConfigEntity extends BaseEntity {
private Long releaseUserId; private Long releaseUserId;
// 自定义注解,日期格式化,格式为"yyyy-MM-dd HH:mm:ss" // 自定义注解,日期格式化,格式为"yyyy-MM-dd HH:mm:ss"
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date releaseTime; private Date releaseTime;
// 私有属性,内容类型 // 私有属性,内容类型
private String contentType; private String contentType;

View File

@ -9,6 +9,6 @@ import org.apache.ibatis.annotations.Param;
public interface ApiConfigDao extends BaseDao<ApiConfigEntity> { public interface ApiConfigDao extends BaseDao<ApiConfigEntity> {
void xia(@Param("id") Long id); void xia(@Param("id") Long id);
void shang(Long id); void shang(@Param("id") Long id);
} }

View File

@ -5,6 +5,7 @@ import net.srt.framework.common.query.Query;
@Data @Data
public class ApiConfigQuery extends Query { public class ApiConfigQuery extends Query {
private Long groupId; private Long groupId;
private Long resourceId; private Long resourceId;
private Long appId; private Long appId;

View File

@ -29,9 +29,10 @@ public interface ApiConfigService extends BaseService<ApiConfigEntity> {
void shang(Long id); void shang(Long id);
void removeByI(Long id);
void sav(ApiConfig vo); void sav(ApiConfig vo);
void removeByI(List<Long> idList);
} }

View File

@ -1,6 +1,5 @@
package net.srt.service; package net.srt.service;
import net.srt.entity.ApiGroupEntity;
import net.srt.entity.ApiLogEntity; import net.srt.entity.ApiLogEntity;
import net.srt.framework.common.page.PageResult; import net.srt.framework.common.page.PageResult;
import net.srt.framework.mybatis.service.BaseService; import net.srt.framework.mybatis.service.BaseService;

View File

@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import srt.cloud.framework.dbswitch.common.util.StringUtil; import srt.cloud.framework.dbswitch.common.util.StringUtil;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
@Service @Service
@ -111,7 +112,7 @@ public class ApiConfigServiceImpl extends BaseServiceImpl<ApiConfigDao, ApiConfi
// } // }
} }
@Autowired @Resource
ApiConfigDao apiConfigDto; ApiConfigDao apiConfigDto;
@Override @Override
@ -126,18 +127,24 @@ public class ApiConfigServiceImpl extends BaseServiceImpl<ApiConfigDao, ApiConfi
apiConfigDto.shang(id); apiConfigDto.shang(id);
} }
@Override
public void removeByI(Long id) {
baseMapper.deleteById(id);
}
@Override @Override
public void sav(ApiConfig vo) { public void sav(ApiConfig vo) {
ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo); ApiConfigEntity entity = ApiConfigConvert.INSTANCE.convert(vo);
entity.setPath(recursionPath(entity, null)); entity.setPath(recursionPath(entity, null));
entity.setProjectId(getProjectId()); entity.setProjectId(getProjectId());
baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作 baseMapper.insert(entity); // 使用 insertSelective() 方法进行插入操作
} }
@Override
public void removeByI(List<Long> idList) {
baseMapper.deleteBatchIds(idList);
}
private String recursionPath(ApiConfigEntity groupEntity, String path) { private String recursionPath(ApiConfigEntity groupEntity, String path) {
if (StringUtil.isBlank(path)) { if (StringUtil.isBlank(path)) {
path = groupEntity.getName(); path = groupEntity.getName();

View File

@ -22,7 +22,7 @@ import java.util.List;
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class ApiGroupServiceImpl extends BaseServiceImpl<ApiGroupDao, ApiGroupEntity> implements ApiGroupService{ public class ApiGroupServiceImpl extends BaseServiceImpl<ApiGroupDao, ApiGroupEntity> implements ApiGroupService{
private final ApiConfigService apiConfigService; // private final ApiConfigService apiConfigService;
@Override @Override
public List<TreeNodeVo> listTree() { public List<TreeNodeVo> listTree() {
List<TreeNodeVo> treeNodeVos = getTreeNodeVos(); List<TreeNodeVo> treeNodeVos = getTreeNodeVos();
@ -81,13 +81,13 @@ public class ApiGroupServiceImpl extends BaseServiceImpl<ApiGroupDao, ApiGroupEn
if (one != null) { if (one != null) {
throw new ServerException("存在子节点,不允许删除!"); throw new ServerException("存在子节点,不允许删除!");
} }
//查询有没有api与之关联 // //查询有没有api与之关联
LambdaQueryWrapper<ApiConfigEntity> serviceApiConfigWrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<ApiConfigEntity> serviceApiConfigWrapper = new LambdaQueryWrapper<>();
serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1"); // serviceApiConfigWrapper.eq(ApiConfigEntity::getParentId, id).last(" limit 1");
ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper); // ApiConfigEntity apiConfigEntity = apiConfigService.getOne(serviceApiConfigWrapper);
if (apiConfigEntity != null) { // if (apiConfigEntity != null) {
throw new ServerException("节点下有 api 与之关联,不允许删除!"); // throw new ServerException("节点下有 api 与之关联,不允许删除!");
} // }
removeById(id); // removeById(id);
} }
} }

View File

@ -35,6 +35,7 @@ public class ApiLogServiceImpl extends BaseServiceImpl<ApiLogDao, ApiLogEntity>
// 调用Mapper层方法查询分页数据 // 调用Mapper层方法查询分页数据
IPage<ApiLogEntity> page = baseMapper.selectPage(getPage(query), getWrapper(query)); IPage<ApiLogEntity> page = baseMapper.selectPage(getPage(query), getWrapper(query));
// 将查询结果转换为ApiConfig对象列表 // 将查询结果转换为ApiConfig对象列表
// 返回分页结果 // 返回分页结果
return new PageResult<>(ApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); return new PageResult<>(ApiLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal());

View File

@ -1,6 +1,10 @@
package net.srt.vo; package net.srt.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -14,38 +18,84 @@ import java.util.Date;
@Data @Data
public class ApiConfig implements Serializable { public class ApiConfig implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
private Long groupId; private Integer parentId;
private String path; private Integer type;
private String type;
private String name; private String name;
private String note; private Integer orderNo;
private String sqlText; private String description;
private String sqlSeparator; private String path;
private Integer sqlMaxRow; private Integer projectId;
private String sqlParam;
private String jsonParam;
private String responseResult;
private Integer contentType;
private Integer status;
private Date releaseTime;
private Long releaseUserId;
private Integer sqlDbType;
private Long databaseId;
private Integer previlege;
private Integer openTrans;
private Long projectId;
private Integer version; private Integer version;
private Integer deleted; private Integer deleted;
private Long creator; private Integer creator;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime; private Date createTime;
private Long updater; private Integer updater;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime; private Date updateTime;
private Integer requestedTimes; private Integer status;
private Integer requestedSuccessTimes; private String contentType;
private Integer requestedFailedTimes; private Integer releaseUserId;
private Long authId; private Date releaseTime;
private String group; private Integer previlege;
private String groupPath; private Integer openTrans;
// @TableId(value = "id", type = IdType.AUTO)
// private Long id;
// private Long groupId;
// private String path;
// private String type;
// private String name;
//// private String note;
// private String sqlText;
// private String sqlSeparator;
// private Integer sqlMaxRow;
// private String sqlParam;
// private String jsonParam;
// private String responseResult;
// private Integer contentType;
// private Integer status
// private Date releaseTime;
// private Long releaseUserId;
// private Integer sqlDbType;
// private Long databaseId;
// private Integer previlege;
// private Integer openTrans;
// private Long projectId;
// private Integer version;
// private Integer deleted;
// private Long creator;
// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private Date createTime;
// private Long updater;
// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private Date updateTime;
// private Integer requestedTimes;
// private Integer requestedSuccessTimes;
// private Integer requestedFailedTimes;
// private Long authId;
// private String group;
// private String groupPath;
} }