同步闭源版本代码:自动执行升级SQL、历史记录改为数据库存储、去掉git操作,优化代码结构,去掉不需要的文件
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档文件夹
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
@Data
|
||||
@TableName("api_custom_folder")
|
||||
public class ApiCustomFolder implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键自增ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* api_doc主键ID
|
||||
*/
|
||||
private Long docId;
|
||||
|
||||
/**
|
||||
* 父文件夹ID
|
||||
*/
|
||||
private Long parentFolderId;
|
||||
|
||||
/**
|
||||
* 文件夹名称
|
||||
*/
|
||||
private String folderName;
|
||||
|
||||
/**
|
||||
* 文件夹说明
|
||||
*/
|
||||
private String folderDesc;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建人名字
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 是否有效 0=无效 1=有效
|
||||
*/
|
||||
private Integer yn;
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
@Data
|
||||
@TableName("api_custom_request")
|
||||
public class ApiCustomRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键自增ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* api_doc主键ID
|
||||
*/
|
||||
private Long docId;
|
||||
|
||||
/**
|
||||
* 文件夹ID
|
||||
*/
|
||||
private Long folderId;
|
||||
|
||||
/**
|
||||
* 接口名称
|
||||
*/
|
||||
private String apiName;
|
||||
|
||||
/**
|
||||
* 请求方式:get、head、post、put、patch、delete、options、trace
|
||||
*/
|
||||
private String method;
|
||||
|
||||
/**
|
||||
* 接口url
|
||||
*/
|
||||
private String apiUrl;
|
||||
|
||||
/**
|
||||
* form参数
|
||||
*/
|
||||
private String formData;
|
||||
|
||||
/**
|
||||
* body参数
|
||||
*/
|
||||
private String bodyData;
|
||||
|
||||
/**
|
||||
* header参数
|
||||
*/
|
||||
private String headerData;
|
||||
|
||||
/**
|
||||
* cookie参数
|
||||
*/
|
||||
private String cookieData;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建人名字
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 是否有效 0=无效 1=有效
|
||||
*/
|
||||
private Integer yn;
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-07-27
|
||||
*/
|
||||
@Data
|
||||
@TableName("es_datasource")
|
||||
public class EsDatasource implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键自增ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据源名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 地址和端口
|
||||
*/
|
||||
private String hostPort;
|
||||
|
||||
/**
|
||||
* scheme,http或其他
|
||||
*/
|
||||
private String scheme;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建人名字
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 是否有效 0=无效 1=有效
|
||||
*/
|
||||
private Integer yn;
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 系统配置表
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2022-12-01
|
||||
*/
|
||||
@TableName("system_config")
|
||||
public class SystemConfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键自增ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 配置Key
|
||||
*/
|
||||
private String configKey;
|
||||
|
||||
/**
|
||||
* 配置值
|
||||
*/
|
||||
private String configValue;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date created;
|
||||
|
||||
/**
|
||||
* 创建用户ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建用户名字
|
||||
*/
|
||||
private String createUser;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date modified;
|
||||
|
||||
/**
|
||||
* 修改人ID
|
||||
*/
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改人姓名
|
||||
*/
|
||||
private String modifyUser;
|
||||
|
||||
/**
|
||||
* 是否有效 1=有效
|
||||
*/
|
||||
private Integer yn;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getConfigKey() {
|
||||
return configKey;
|
||||
}
|
||||
|
||||
public void setConfigKey(String configKey) {
|
||||
this.configKey = configKey;
|
||||
}
|
||||
|
||||
public String getConfigValue() {
|
||||
return configValue;
|
||||
}
|
||||
|
||||
public void setConfigValue(String configValue) {
|
||||
this.configValue = configValue;
|
||||
}
|
||||
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
public Long getCreateUserId() {
|
||||
return createUserId;
|
||||
}
|
||||
|
||||
public void setCreateUserId(Long createUserId) {
|
||||
this.createUserId = createUserId;
|
||||
}
|
||||
|
||||
public String getCreateUser() {
|
||||
return createUser;
|
||||
}
|
||||
|
||||
public void setCreateUser(String createUser) {
|
||||
this.createUser = createUser;
|
||||
}
|
||||
|
||||
public Date getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void setModified(Date modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
public Long getModifyUserId() {
|
||||
return modifyUserId;
|
||||
}
|
||||
|
||||
public void setModifyUserId(Long modifyUserId) {
|
||||
this.modifyUserId = modifyUserId;
|
||||
}
|
||||
|
||||
public String getModifyUser() {
|
||||
return modifyUser;
|
||||
}
|
||||
|
||||
public void setModifyUser(String modifyUser) {
|
||||
this.modifyUser = modifyUser;
|
||||
}
|
||||
|
||||
public Integer getYn() {
|
||||
return yn;
|
||||
}
|
||||
|
||||
public void setYn(Integer yn) {
|
||||
this.yn = yn;
|
||||
}
|
||||
}
|
||||
@@ -50,10 +50,9 @@ public class WikiPageHistory implements Serializable {
|
||||
* 删除标记 0=正常 1=已删除
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
|
||||
/**
|
||||
* git提交记录ID
|
||||
* gzip压缩后的页面内容
|
||||
*/
|
||||
private String gitCommitId;
|
||||
|
||||
private byte[] content;
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2018-11-27
|
||||
*/
|
||||
@Data
|
||||
@TableName("zyplayer_storage")
|
||||
public class ZyplayerStorage implements Serializable {
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
private String docKey;
|
||||
|
||||
private String docValue;
|
||||
|
||||
private Date creationTime;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomFolder;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档文件夹 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
public interface ApiCustomFolderMapper extends BaseMapper<ApiCustomFolder> {
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomRequest;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
public interface ApiCustomRequestMapper extends BaseMapper<ApiCustomRequest> {
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.EsDatasource;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-07-27
|
||||
*/
|
||||
public interface EsDatasourceMapper extends BaseMapper<EsDatasource> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SystemConfig;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 系统配置表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2022-12-01
|
||||
*/
|
||||
public interface SystemConfigMapper extends BaseMapper<SystemConfig> {
|
||||
|
||||
}
|
||||
@@ -2,6 +2,12 @@ package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.ResultType;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -12,5 +18,16 @@ import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
||||
* @since 2018-12-03
|
||||
*/
|
||||
public interface UserInfoMapper extends BaseMapper<UserInfo> {
|
||||
|
||||
|
||||
@Select("show tables")
|
||||
List<String> getTableList();
|
||||
|
||||
@Select("${sql}")
|
||||
List<String> executeSql(@Param("sql") String sql);
|
||||
|
||||
@Select("SHOW COLUMNS FROM ${tableName}")
|
||||
List<Map<String, Object>> getTableColumnList(@Param("tableName") String tableName);
|
||||
|
||||
@Select("SHOW INDEX FROM ${tableName}")
|
||||
List<Map<String, Object>> getTableIndexList(@Param("tableName") String tableName);
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ZyplayerStorage;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2018-11-27
|
||||
*/
|
||||
public interface ZyplayerStorageMapper extends BaseMapper<ZyplayerStorage> {
|
||||
|
||||
Integer selectTop();
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomFolder;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomRequest;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档文件夹 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
public interface ApiCustomFolderService extends IService<ApiCustomFolder> {
|
||||
|
||||
/**
|
||||
* 增加文件夹
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
void addFolder(ApiCustomFolder apiCustomFolder);
|
||||
|
||||
/**
|
||||
* 删除文件夹
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
void deleteFolder(Long id);
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomRequest;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomDocVo;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
public interface ApiCustomRequestService extends IService<ApiCustomRequest> {
|
||||
|
||||
/**
|
||||
* 构建目录树
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
List<ApiCustomVo> buildCustomApiList(ApiDoc apiDoc);
|
||||
|
||||
/**
|
||||
* 增加接口
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
ApiCustomRequest addRequest(ApiCustomRequest apiCustomRequest);
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.EsDatasource;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-07-27
|
||||
*/
|
||||
public interface EsDatasourceService extends IService<EsDatasource> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.core.enums.SystemConfigEnum;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SystemConfig;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 系统配置表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2022-12-01
|
||||
*/
|
||||
public interface SystemConfigService extends IService<SystemConfig> {
|
||||
|
||||
/**
|
||||
* 保存或更新
|
||||
*/
|
||||
SystemConfig saveRecord(SystemConfig systemConfig);
|
||||
|
||||
/**
|
||||
* 物理删除
|
||||
*/
|
||||
void deleteRecord(Long id);
|
||||
|
||||
/**
|
||||
* 删除配置项
|
||||
*/
|
||||
void deleteConfig(SystemConfigEnum configEnum);
|
||||
|
||||
/**
|
||||
* 获取配置值
|
||||
*/
|
||||
String getConfigValue(SystemConfigEnum configEnum);
|
||||
|
||||
/**
|
||||
* 获取配置值
|
||||
*/
|
||||
<T> T getConfigValue(SystemConfigEnum configEnum, Class<T> cls);
|
||||
|
||||
/**
|
||||
* 获取配置值
|
||||
*/
|
||||
void setConfigValue(SystemConfigEnum configEnum, String value);
|
||||
|
||||
/**
|
||||
* 获取配置值
|
||||
*/
|
||||
void setConfigValue(SystemConfigEnum configEnum, Object value);
|
||||
}
|
||||
@@ -12,5 +12,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
* @since 2020-09-05
|
||||
*/
|
||||
public interface WikiPageHistoryService extends IService<WikiPageHistory> {
|
||||
|
||||
|
||||
/**
|
||||
* 保存或更新
|
||||
*/
|
||||
WikiPageHistory saveRecord(Long spaceId, Long pageId, String content);
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ZyplayerStorage;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2018-11-27
|
||||
*/
|
||||
public interface ZyplayerStorageService extends IService<ZyplayerStorage> {
|
||||
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomFolder;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.ApiCustomFolderMapper;
|
||||
import com.zyplayer.doc.data.service.common.ApiDocAuthJudgeService;
|
||||
import com.zyplayer.doc.data.service.manage.ApiCustomFolderService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档文件夹 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
@Service
|
||||
public class ApiCustomFolderServiceImpl extends ServiceImpl<ApiCustomFolderMapper, ApiCustomFolder> implements ApiCustomFolderService {
|
||||
|
||||
@Resource
|
||||
ApiDocAuthJudgeService apiDocAuthJudgeService;
|
||||
|
||||
@Override
|
||||
public void addFolder(ApiCustomFolder apiCustomFolder) {
|
||||
apiDocAuthJudgeService.judgeDevelopAndThrow(apiCustomFolder.getDocId());
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
if (apiCustomFolder.getId() == null) {
|
||||
apiCustomFolder.setYn(1);
|
||||
apiCustomFolder.setCreateTime(new Date());
|
||||
apiCustomFolder.setCreateUserId(currentUser.getUserId());
|
||||
apiCustomFolder.setCreateUserName(currentUser.getUsername());
|
||||
} else {
|
||||
apiCustomFolder.setCreateTime(null);
|
||||
apiCustomFolder.setCreateUserId(null);
|
||||
apiCustomFolder.setCreateUserName(null);
|
||||
}
|
||||
this.saveOrUpdate(apiCustomFolder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteFolder(Long id) {
|
||||
this.deleteFolderRecursion(id);
|
||||
// 逻辑删除
|
||||
ApiCustomFolder folderDel = new ApiCustomFolder();
|
||||
folderDel.setId(id);
|
||||
folderDel.setYn(0);
|
||||
this.updateById(folderDel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归删除下级
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
public void deleteFolderRecursion(Long id) {
|
||||
QueryWrapper<ApiCustomFolder> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("yn", 1);
|
||||
wrapper.eq("parent_folder_id", id);
|
||||
List<ApiCustomFolder> childrenList = this.list(wrapper);
|
||||
if (CollectionUtils.isNotEmpty(childrenList)) {
|
||||
for (ApiCustomFolder folder : childrenList) {
|
||||
// 递归删除下级
|
||||
this.deleteFolderRecursion(folder.getId());
|
||||
}
|
||||
// 逻辑删除
|
||||
ApiCustomFolder folderDel = new ApiCustomFolder();
|
||||
folderDel.setYn(0);
|
||||
QueryWrapper<ApiCustomFolder> wrapperDel = new QueryWrapper<>();
|
||||
wrapperDel.in("id", childrenList.stream().map(ApiCustomFolder::getId).collect(Collectors.toSet()));
|
||||
this.update(folderDel, wrapperDel);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,139 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomFolder;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomRequest;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.ApiCustomRequestMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomDocVo;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomVo;
|
||||
import com.zyplayer.doc.data.service.common.ApiDocAuthJudgeService;
|
||||
import com.zyplayer.doc.data.service.manage.ApiCustomFolderService;
|
||||
import com.zyplayer.doc.data.service.manage.ApiCustomRequestService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 自建接口文档 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
@Service
|
||||
public class ApiCustomRequestServiceImpl extends ServiceImpl<ApiCustomRequestMapper, ApiCustomRequest> implements ApiCustomRequestService {
|
||||
|
||||
@Resource
|
||||
ApiDocAuthJudgeService apiDocAuthJudgeService;
|
||||
@Resource
|
||||
ApiCustomRequestService apiCustomRequestService;
|
||||
@Resource
|
||||
ApiCustomFolderService apiCustomFolderService;
|
||||
|
||||
@Override
|
||||
public List<ApiCustomVo> buildCustomApiList(ApiDoc apiDoc) {
|
||||
// 查询api列表
|
||||
QueryWrapper<ApiCustomRequest> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("doc_id", apiDoc.getId());
|
||||
wrapper.eq("yn", 1);
|
||||
List<ApiCustomRequest> apiCustomList = apiCustomRequestService.list(wrapper);
|
||||
Map<Long, List<ApiCustomRequest>> apiMap = apiCustomList.stream()
|
||||
.peek(item -> item.setFolderId(Optional.ofNullable(item.getFolderId()).orElse(0L)))
|
||||
.collect(Collectors.groupingBy(ApiCustomRequest::getFolderId));
|
||||
// 查询分组列表
|
||||
QueryWrapper<ApiCustomFolder> groupWrapper = new QueryWrapper<>();
|
||||
groupWrapper.eq("doc_id", apiDoc.getId());
|
||||
groupWrapper.eq("yn", 1);
|
||||
List<ApiCustomFolder> apiCustomGroupList = apiCustomFolderService.list(groupWrapper);
|
||||
Map<Long, List<ApiCustomFolder>> apiGroupMap = apiCustomGroupList.stream()
|
||||
.peek(item -> item.setParentFolderId(Optional.ofNullable(item.getParentFolderId()).orElse(0L)))
|
||||
.collect(Collectors.groupingBy(ApiCustomFolder::getParentFolderId));
|
||||
List<ApiCustomDocVo> apis = this.buildApiCustomDocVo(apiMap.get(0L));
|
||||
List<ApiCustomVo> customGroupChildren = this.getCustomGroupChildren(apiGroupMap.get(0L), apiGroupMap, apiMap);
|
||||
// 组装结果对象
|
||||
ApiCustomVo apiCustomVo = new ApiCustomVo();
|
||||
apiCustomVo.setChildren(customGroupChildren);
|
||||
apiCustomVo.setName(apiDoc.getName());
|
||||
apiCustomVo.setApis(apis);
|
||||
List<ApiCustomVo> apiCustomVoList = new LinkedList<>();
|
||||
apiCustomVoList.add(apiCustomVo);
|
||||
return apiCustomVoList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiCustomRequest addRequest(ApiCustomRequest apiCustomRequest) {
|
||||
apiDocAuthJudgeService.judgeDevelopAndThrow(apiCustomRequest.getDocId());
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
if (apiCustomRequest.getId() == null) {
|
||||
apiCustomRequest.setYn(1);
|
||||
apiCustomRequest.setCreateTime(new Date());
|
||||
apiCustomRequest.setCreateUserId(currentUser.getUserId());
|
||||
apiCustomRequest.setCreateUserName(currentUser.getUsername());
|
||||
} else {
|
||||
apiCustomRequest.setDocId(null);
|
||||
apiCustomRequest.setCreateTime(null);
|
||||
apiCustomRequest.setCreateUserId(null);
|
||||
apiCustomRequest.setCreateUserName(null);
|
||||
}
|
||||
String apiName = StringUtils.defaultString(apiCustomRequest.getApiName(), "新建接口");
|
||||
apiCustomRequest.setApiName(apiName);
|
||||
this.saveOrUpdate(apiCustomRequest);
|
||||
return apiCustomRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归获取目录树
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2021-12-22
|
||||
*/
|
||||
private List<ApiCustomVo> getCustomGroupChildren(List<ApiCustomFolder> apiCustomGroups, Map<Long, List<ApiCustomFolder>> apiGroupMap, Map<Long, List<ApiCustomRequest>> apiMap) {
|
||||
if (CollectionUtils.isEmpty(apiCustomGroups)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<ApiCustomVo> apiCustomVoList = new LinkedList<>();
|
||||
// for (ApiCustomFolder customGroup : apiCustomGroups) {
|
||||
// List<ApiCustomRequest> apiCustomList = apiMap.get(customGroup.getId());
|
||||
// List<ApiCustomFolder> children = apiGroupMap.get(customGroup.getId());
|
||||
// List<ApiCustomVo> customGroupChildren = this.getCustomGroupChildren(children, apiGroupMap, apiMap);
|
||||
// List<ApiCustomDocVo> apis = this.buildApiCustomDocVo(apiCustomList);
|
||||
// ApiCustomVo apiCustomVo = new ApiCustomVo();
|
||||
// apiCustomVo.setFolderId(customGroup.getId());
|
||||
// apiCustomVo.setName(customGroup.getFolderName());
|
||||
// apiCustomVo.setDesc(customGroup.getFolderDesc());
|
||||
// apiCustomVo.setChildren(customGroupChildren);
|
||||
// apiCustomVo.setApis(apis);
|
||||
// apiCustomVoList.add(apiCustomVo);
|
||||
// }
|
||||
return apiCustomVoList;
|
||||
}
|
||||
|
||||
private List<ApiCustomDocVo> buildApiCustomDocVo(List<ApiCustomRequest> apiCustomList) {
|
||||
List<ApiCustomDocVo> apis = new LinkedList<>();
|
||||
// if (CollectionUtils.isNotEmpty(apiCustomList)) {
|
||||
// for (ApiCustomRequest apiCustom : apiCustomList) {
|
||||
// ApiCustomDocVo apiCustomDocVo = new ApiCustomDocVo();
|
||||
// apiCustomDocVo.setRequestId(apiCustom.getId());
|
||||
// apiCustomDocVo.setFolderId(apiCustom.getFolderId());
|
||||
// apiCustomDocVo.setApiUrl(apiCustom.getApiUrl());
|
||||
// apiCustomDocVo.setMethod(apiCustom.getMethod());
|
||||
// apiCustomDocVo.setApiName(apiCustom.getApiName());
|
||||
// apiCustomDocVo.setBodyData(apiCustom.getBodyData());
|
||||
// apiCustomDocVo.setCookieData(apiCustom.getCookieData());
|
||||
// apiCustomDocVo.setFormData(apiCustom.getFormData());
|
||||
// apiCustomDocVo.setHeaderData(apiCustom.getHeaderData());
|
||||
// apis.add(apiCustomDocVo);
|
||||
// }
|
||||
// }
|
||||
return apis;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.EsDatasource;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.EsDatasourceMapper;
|
||||
import com.zyplayer.doc.data.service.manage.EsDatasourceService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-07-27
|
||||
*/
|
||||
@Service
|
||||
public class EsDatasourceServiceImpl extends ServiceImpl<EsDatasourceMapper, EsDatasource> implements EsDatasourceService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zyplayer.doc.core.enums.SystemConfigEnum;
|
||||
import com.zyplayer.doc.core.exception.ConfirmException;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SystemConfig;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.SystemConfigMapper;
|
||||
import com.zyplayer.doc.data.service.manage.SystemConfigService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 系统配置表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2022-12-01
|
||||
*/
|
||||
@Service
|
||||
public class SystemConfigServiceImpl extends ServiceImpl<SystemConfigMapper, SystemConfig> implements SystemConfigService {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SystemConfig saveRecord(SystemConfig systemConfig) {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
systemConfig.setModified(new Date());
|
||||
if (currentUser != null) {
|
||||
systemConfig.setModifyUser(currentUser.getUsername());
|
||||
systemConfig.setModifyUserId(currentUser.getUserId());
|
||||
}
|
||||
if (systemConfig.getId() == null) {
|
||||
systemConfig.setYn(1);
|
||||
systemConfig.setCreated(new Date());
|
||||
if (currentUser != null) {
|
||||
systemConfig.setCreateUser(currentUser.getUsername());
|
||||
systemConfig.setCreateUserId(currentUser.getUserId());
|
||||
}
|
||||
this.save(systemConfig);
|
||||
} else {
|
||||
this.updateById(systemConfig);
|
||||
}
|
||||
return systemConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteRecord(Long id) {
|
||||
SystemConfig systemConfig = getById(id);
|
||||
if (systemConfig == null) {
|
||||
throw new ConfirmException("未找到该记录");
|
||||
}
|
||||
this.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteConfig(SystemConfigEnum configEnum) {
|
||||
this.remove(new QueryWrapper<SystemConfig>().lambda().eq(SystemConfig::getConfigKey, configEnum.getKey()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigValue(SystemConfigEnum configEnum) {
|
||||
try {
|
||||
SystemConfig systemConfig = this.getOne(new QueryWrapper<SystemConfig>().lambda()
|
||||
.eq(SystemConfig::getConfigKey, configEnum.getKey()));
|
||||
if (systemConfig != null) {
|
||||
return systemConfig.getConfigValue();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("获取系统配置失败");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getConfigValue(SystemConfigEnum configEnum, Class<T> cls) {
|
||||
String configValue = this.getConfigValue(configEnum);
|
||||
if (StringUtils.isNotBlank(configValue)) {
|
||||
try {
|
||||
return JSON.parseObject(configValue, cls);
|
||||
} catch (Exception e) {
|
||||
log.error("转换配置内容为对象失败", e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setConfigValue(SystemConfigEnum configEnum, String value) {
|
||||
SystemConfig systemConfig = this.getOne(new QueryWrapper<SystemConfig>().lambda()
|
||||
.eq(SystemConfig::getConfigKey, configEnum.getKey()));
|
||||
SystemConfig systemConfigUp = new SystemConfig();
|
||||
systemConfigUp.setConfigKey(configEnum.getKey());
|
||||
systemConfigUp.setConfigValue(value);
|
||||
if (systemConfig != null) {
|
||||
systemConfigUp.setId(systemConfig.getId());
|
||||
}
|
||||
this.saveRecord(systemConfigUp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setConfigValue(SystemConfigEnum configEnum, Object value) {
|
||||
this.setConfigValue(configEnum, JSON.toJSONString(value));
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,20 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.zyplayer.doc.core.exception.ConfirmException;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPageHistory;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageHistoryMapper;
|
||||
import com.zyplayer.doc.data.service.manage.WikiPageHistoryService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
@@ -16,5 +25,24 @@ import org.springframework.stereotype.Service;
|
||||
*/
|
||||
@Service
|
||||
public class WikiPageHistoryServiceImpl extends ServiceImpl<WikiPageHistoryMapper, WikiPageHistory> implements WikiPageHistoryService {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(WikiPageHistoryServiceImpl.class);
|
||||
|
||||
@Override
|
||||
public WikiPageHistory saveRecord(Long spaceId, Long pageId, String content) {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
WikiPageHistory entity = new WikiPageHistory();
|
||||
entity.setPageId(pageId);
|
||||
entity.setCreateTime(new Date());
|
||||
entity.setDelFlag(0);
|
||||
try {
|
||||
entity.setContent(ZipUtil.gzip(content, StandardCharsets.UTF_8.name()));
|
||||
} catch (Exception e) {
|
||||
logger.error("创建历史记录失败", e);
|
||||
throw new ConfirmException("创建历史记录失败:" + e.getMessage(), e);
|
||||
}
|
||||
entity.setCreateUserId(currentUser.getUserId());
|
||||
entity.setCreateUserName(currentUser.getUsername());
|
||||
this.save(entity);
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.ZyplayerStorage;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.ZyplayerStorageMapper;
|
||||
import com.zyplayer.doc.data.service.manage.ZyplayerStorageService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2018-11-27
|
||||
*/
|
||||
@Service
|
||||
public class ZyplayerStorageServiceImpl extends ServiceImpl<ZyplayerStorageMapper, ZyplayerStorage> implements ZyplayerStorageService {
|
||||
|
||||
}
|
||||
@@ -1,5 +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.zyplayer.doc.data.repository.manage.mapper.ApiCustomFolderMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,5 +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.zyplayer.doc.data.repository.manage.mapper.ApiCustomRequestMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,5 +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.zyplayer.doc.data.repository.manage.mapper.EsDatasourceMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,9 +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.zyplayer.doc.manage.repository.manage.mapper.ZyplayerStorageMapper">
|
||||
|
||||
<select id="selectTop" resultType="java.lang.Integer">
|
||||
select 10
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user