同步闭源版本代码:自动执行升级SQL、历史记录改为数据库存储、去掉git操作,优化代码结构,去掉不需要的文件

This commit is contained in:
暮光:城中城
2023-01-05 20:13:16 +08:00
parent fe1da585ac
commit b8dcdf93a1
109 changed files with 2469 additions and 8158 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
/**
* schemehttp或其他
*/
private String scheme;
/**
* 创建人ID
*/
private Long createUserId;
/**
* 创建人名字
*/
private String createUserName;
/**
* 创建时间
*/
private Date createTime;
/**
* 是否有效 0=无效 1=有效
*/
private Integer yn;
}

View File

@@ -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;
}
}

View File

@@ -50,10 +50,9 @@ public class WikiPageHistory implements Serializable {
* 删除标记 0=正常 1=已删除
*/
private Integer delFlag;
/**
* git提交记录ID
* gzip压缩后的页面内容
*/
private String gitCommitId;
private byte[] content;
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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> {
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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> {
}

View File

@@ -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);
}
}
}

View File

@@ -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;
}
}

View File

@@ -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 {
}

View File

@@ -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));
}
}

View File

@@ -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;
}
}

View File

@@ -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 {
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>