对一大波idea提醒需要优化的地方进行处理

This commit is contained in:
handy
2023-11-23 16:25:59 +08:00
parent 8b1fb129ce
commit efa2538736
98 changed files with 195 additions and 289 deletions

View File

@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("/doc-api/doc/auth") @RequestMapping("/doc-api/doc/auth")
public class ApiDocAuthController { public class ApiDocAuthController {
private static Logger logger = LoggerFactory.getLogger(ApiDocAuthController.class); private static final Logger logger = LoggerFactory.getLogger(ApiDocAuthController.class);
@Resource @Resource
UserAuthService userAuthService; UserAuthService userAuthService;
@@ -93,7 +93,7 @@ public class ApiDocAuthController {
if (CollectionUtils.isNotEmpty(userModuleAuthList)) { if (CollectionUtils.isNotEmpty(userModuleAuthList)) {
UserAuth userAuth = userModuleAuthList.remove(0); UserAuth userAuth = userModuleAuthList.remove(0);
// 错误数据兼容移除 // 错误数据兼容移除
if (userModuleAuthList.size() > 0) { if (!userModuleAuthList.isEmpty()) {
List<Long> authIdList = userModuleAuthList.stream().map(UserAuth::getId).collect(Collectors.toList()); List<Long> authIdList = userModuleAuthList.stream().map(UserAuth::getId).collect(Collectors.toList());
userAuthService.removeByIds(authIdList); userAuthService.removeByIds(authIdList);
} }

View File

@@ -43,7 +43,7 @@ import java.util.Objects;
@RestController @RestController
@RequestMapping("/doc-api/doc") @RequestMapping("/doc-api/doc")
public class ApiDocumentController { public class ApiDocumentController {
private static Logger logger = LoggerFactory.getLogger(ApiDocumentController.class); private static final Logger logger = LoggerFactory.getLogger(ApiDocumentController.class);
@Resource @Resource
ApiDocAuthJudgeService apiDocAuthJudgeService; ApiDocAuthJudgeService apiDocAuthJudgeService;

View File

@@ -34,7 +34,7 @@ import java.util.Optional;
@RestController @RestController
@RequestMapping("/doc-api/global-param") @RequestMapping("/doc-api/global-param")
public class ApiGlobalParamController { public class ApiGlobalParamController {
private static Logger logger = LoggerFactory.getLogger(ApiGlobalParamController.class); private static final Logger logger = LoggerFactory.getLogger(ApiGlobalParamController.class);
@Resource @Resource
private ApiGlobalParamService apiGlobalParamService; private ApiGlobalParamService apiGlobalParamService;

View File

@@ -30,7 +30,7 @@ import javax.servlet.http.HttpServletResponse;
@RestController @RestController
@RequestMapping("/doc-api/proxy") @RequestMapping("/doc-api/proxy")
public class ApiPoxyRequestController { public class ApiPoxyRequestController {
private static Logger logger = LoggerFactory.getLogger(ApiPoxyRequestController.class); private static final Logger logger = LoggerFactory.getLogger(ApiPoxyRequestController.class);
@Resource @Resource
ApiCustomNodeService apiCustomNodeService; ApiCustomNodeService apiCustomNodeService;

View File

@@ -30,7 +30,7 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/doc-api/request-param") @RequestMapping("/doc-api/request-param")
public class ApiRequestParamController { public class ApiRequestParamController {
private static Logger logger = LoggerFactory.getLogger(ApiRequestParamController.class); private static final Logger logger = LoggerFactory.getLogger(ApiRequestParamController.class);
@Resource @Resource
private ApiRequestParamService apiRequestParamService; private ApiRequestParamService apiRequestParamService;

View File

@@ -27,7 +27,7 @@ import java.util.Objects;
@RestController @RestController
@RequestMapping("/doc-api/share") @RequestMapping("/doc-api/share")
public class ApiShareDocumentController { public class ApiShareDocumentController {
private static Logger logger = LoggerFactory.getLogger(ApiShareDocumentController.class); private static final Logger logger = LoggerFactory.getLogger(ApiShareDocumentController.class);
@Resource @Resource
private ApiDocService swaggerDocService; private ApiDocService swaggerDocService;

View File

@@ -42,15 +42,15 @@ import java.util.stream.Stream;
*/ */
@Service @Service
public class SwaggerHttpRequestService { public class SwaggerHttpRequestService {
private static Logger logger = LoggerFactory.getLogger(SwaggerHttpRequestService.class); private static final Logger logger = LoggerFactory.getLogger(SwaggerHttpRequestService.class);
@Resource @Resource
private ApiGlobalParamService apiGlobalParamService; private ApiGlobalParamService apiGlobalParamService;
private static final Map<String, Method> requestMethodMap = Stream.of(Method.values()).collect(Collectors.toMap(val -> val.name().toLowerCase(), val -> val)); private static final Map<String, Method> requestMethodMap = Stream.of(Method.values()).collect(Collectors.toMap(val -> val.name().toLowerCase(), val -> val));
List<String> domainHeaderKeys = Arrays.asList("referer", "origin"); final List<String> domainHeaderKeys = Arrays.asList("referer", "origin");
List<String> needRequestHeaderKeys = Arrays.asList("user-agent"); final List<String> needRequestHeaderKeys = Collections.singletonList("user-agent");
/** /**
* 请求真实的swagger文档内容 * 请求真实的swagger文档内容
@@ -72,13 +72,12 @@ public class SwaggerHttpRequestService {
requestHeaders.put("host", SwaggerDocUtil.getDomainHost(docDomain)); requestHeaders.put("host", SwaggerDocUtil.getDomainHost(docDomain));
} }
// 执行请求 // 执行请求
String resultStr = HttpRequest.get(docUrl) return HttpRequest.get(docUrl)
.form(globalFormParamMap) .form(globalFormParamMap)
.addHeaders(requestHeaders) .addHeaders(requestHeaders)
.header("Accept", "application/json, text/javascript, */*; q=0.01") .header("Accept", "application/json, text/javascript, */*; q=0.01")
.cookie(this.getHttpCookie(request, globalCookieParamMap, null)) .cookie(this.getHttpCookie(request, globalCookieParamMap, null))
.timeout(10000).execute().body(); .timeout(10000).execute().body();
return resultStr;
} }
/** /**
@@ -176,7 +175,7 @@ public class SwaggerHttpRequestService {
multiResource.add(new BytesResource(file.getBytes(), file.getOriginalFilename())); multiResource.add(new BytesResource(file.getBytes(), file.getOriginalFilename()));
} }
httpRequest.form(originKey, multiResource); httpRequest.form(originKey, multiResource);
} else if (fileList.size() > 0) { } else if (!fileList.isEmpty()) {
MultipartFile multipartFile = fileList.get(0); MultipartFile multipartFile = fileList.get(0);
httpRequest.form(originKey, multipartFile.getBytes(), multipartFile.getOriginalFilename()); httpRequest.form(originKey, multipartFile.getBytes(), multipartFile.getOriginalFilename());
} }

View File

@@ -13,9 +13,9 @@ public enum PageFileSource {
PASTE_FILES(2, "页面粘贴的图片或文件"), PASTE_FILES(2, "页面粘贴的图片或文件"),
; ;
@Getter @Getter
private Integer source; private final Integer source;
@Getter @Getter
private String desc; private final String desc;
PageFileSource(Integer source, String desc) { PageFileSource(Integer source, String desc) {
this.source = source; this.source = source;

View File

@@ -15,8 +15,8 @@ public enum SystemConfigEnum {
DOC_SYSTEM_VERSION("doc_system_version", "系统当前的版本号"), DOC_SYSTEM_VERSION("doc_system_version", "系统当前的版本号"),
; ;
private String key; private final String key;
private String desc; private final String desc;
SystemConfigEnum(String key, String desc) { SystemConfigEnum(String key, String desc) {
this.key = key; this.key = key;

View File

@@ -18,7 +18,7 @@ import java.util.Objects;
* @since 2018年8月21日 * @since 2018年8月21日
*/ */
public class DocResponseJson<T> implements ResponseJson<T> { public class DocResponseJson<T> implements ResponseJson<T> {
private static SerializeConfig mapping = new SerializeConfig(); private static final SerializeConfig mapping = new SerializeConfig();
static { static {
mapping.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss")); mapping.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
@@ -134,7 +134,7 @@ public class DocResponseJson<T> implements ResponseJson<T> {
* @since 2018年8月7日 * @since 2018年8月7日
*/ */
public static <T> DocResponseJson<T> warn(String errMsg) { public static <T> DocResponseJson<T> warn(String errMsg) {
return new DocResponseJson<T>(300, errMsg); return new DocResponseJson<>(300, errMsg);
} }
/** /**
@@ -145,7 +145,7 @@ public class DocResponseJson<T> implements ResponseJson<T> {
* @since 2018年8月7日 * @since 2018年8月7日
*/ */
public static <T> DocResponseJson<T> error(String errMsg) { public static <T> DocResponseJson<T> error(String errMsg) {
return new DocResponseJson<T>(500, errMsg); return new DocResponseJson<>(500, errMsg);
} }
/** /**
@@ -156,7 +156,7 @@ public class DocResponseJson<T> implements ResponseJson<T> {
* @since 2018年8月7日 * @since 2018年8月7日
*/ */
public static <T> DocResponseJson<T> failure(int errCode, String errMsg) { public static <T> DocResponseJson<T> failure(int errCode, String errMsg) {
return new DocResponseJson<T>(errCode, errMsg); return new DocResponseJson<>(errCode, errMsg);
} }
/** /**

View File

@@ -3,7 +3,6 @@ package com.zyplayer.doc.data.repository.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zyplayer.doc.data.repository.manage.entity.UserInfo; import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;

View File

@@ -2,7 +2,6 @@ package com.zyplayer.doc.data.repository.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage; import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo; import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;

View File

@@ -1,13 +1,10 @@
package com.zyplayer.doc.data.repository.manage.mapper; package com.zyplayer.doc.data.repository.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate; import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo; import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo; import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;

View File

@@ -2,8 +2,6 @@ package com.zyplayer.doc.data.repository.manage.mapper;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageZan; import com.zyplayer.doc.data.repository.manage.entity.WikiPageZan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* <p> * <p>

View File

@@ -1,10 +1,9 @@
package com.zyplayer.doc.data.repository.manage.vo; package com.zyplayer.doc.data.repository.manage.vo;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
* 模板与文档信息的Vo * 模板与文档信息的Vo

View File

@@ -2,8 +2,6 @@ package com.zyplayer.doc.data.repository.manage.vo;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* <p> * <p>

View File

@@ -7,7 +7,7 @@ package com.zyplayer.doc.data.repository.support.consts;
* @since 2020-06-26 * @since 2020-06-26
*/ */
public class DocSysModuleType { public class DocSysModuleType {
public static enum Manage { public enum Manage {
USER_MANAGE(1, "用户管理权限"), USER_MANAGE(1, "用户管理权限"),
; ;
@@ -28,7 +28,7 @@ public class DocSysModuleType {
} }
} }
public static enum Wiki { public enum Wiki {
PAGE(1, "空间"), PAGE(1, "空间"),
; ;
@@ -49,7 +49,7 @@ public class DocSysModuleType {
} }
} }
public static enum Db { public enum Db {
DATASOURCE(1, "数据源管理"), DATASOURCE(1, "数据源管理"),
; ;
@@ -70,7 +70,7 @@ public class DocSysModuleType {
} }
} }
public static enum Api { public enum Api {
DOC(1, "api文档管理"), DOC(1, "api文档管理"),
; ;

View File

@@ -29,23 +29,19 @@ public class CodeGenerator {
.dateType(DateType.ONLY_DATE) .dateType(DateType.ONLY_DATE)
.fileOverride(); // 覆盖已生成文件 .fileOverride(); // 覆盖已生成文件
}) })
.packageConfig(builder -> { .packageConfig(builder -> builder.parent("com.zyplayer.doc.data") // 设置父包名
builder.parent("com.zyplayer.doc.data") // 设置父包名
.moduleName("") // 设置父包模块名 .moduleName("") // 设置父包模块名
.controller("web.generator") .controller("web.generator")
.entity("repository.manage.entity") .entity("repository.manage.entity")
.mapper("repository.manage.mapper") .mapper("repository.manage.mapper")
.service("service.manage") .service("service.manage")
.serviceImpl("service.manage.impl") .serviceImpl("service.manage.impl")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, mapperDir)); .pathInfo(Collections.singletonMap(OutputFile.mapperXml, mapperDir)))
}) .strategyConfig(builder -> builder.addInclude(tableName) // 设置需要生成的表名
.strategyConfig(builder -> {
builder.addInclude(tableName) // 设置需要生成的表名
.enableCapitalMode() .enableCapitalMode()
.serviceBuilder() .serviceBuilder()
.formatServiceFileName("%sService") .formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl"); .formatServiceImplFileName("%sServiceImpl"))
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板默认的是Velocity引擎模板 .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板默认的是Velocity引擎模板
.execute(); .execute();
} }

View File

@@ -67,7 +67,7 @@ public class SqlLogInterceptor implements Interceptor {
private String getParameterValue(Object obj) { private String getParameterValue(Object obj) {
String value = null; String value = null;
if (obj instanceof String) { if (obj instanceof String) {
value = "'" + obj.toString() + "'"; value = "'" + obj + "'";
} else if (obj instanceof Date) { } else if (obj instanceof Date) {
DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA); DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA);
value = "'" + formatter.format(obj) + "'"; value = "'" + formatter.format(obj) + "'";
@@ -87,7 +87,7 @@ public class SqlLogInterceptor implements Interceptor {
List<ParameterMapping> parameterMappings = boundSql.getParameterMappings(); List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
StringBuilder sqlSb = new StringBuilder(boundSql.getSql().replaceAll("[\\s]+", " ")); StringBuilder sqlSb = new StringBuilder(boundSql.getSql().replaceAll("[\\s]+", " "));
int fromIndex = 0; int fromIndex = 0;
if (parameterMappings.size() > 0 && parameterObject != null) { if (!parameterMappings.isEmpty() && parameterObject != null) {
TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry(); TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();
if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) { if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) {
//sqlSb = sqlSb.replaceFirst("\\?", getParameterValue(parameterObject)); //sqlSb = sqlSb.replaceFirst("\\?", getParameterValue(parameterObject));

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.zyplayer.doc.data.repository.manage.entity.ApiCustomParams; import com.zyplayer.doc.data.repository.manage.entity.ApiCustomParams;
import com.zyplayer.doc.data.repository.manage.entity.ApiDoc; 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.ApiCustomDocVo;
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomVo;
import java.util.List; import java.util.List;

View File

@@ -3,7 +3,6 @@ package com.zyplayer.doc.data.service.manage;
import com.zyplayer.doc.data.repository.manage.entity.DbTableRelation; import com.zyplayer.doc.data.repository.manage.entity.DbTableRelation;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zyplayer.doc.data.repository.manage.param.TableRelationParam; import com.zyplayer.doc.data.repository.manage.param.TableRelationParam;
import com.zyplayer.doc.data.repository.manage.vo.TableRelationVo;
/** /**
* <p> * <p>

View File

@@ -20,5 +20,5 @@ public interface WikiPageService extends IService<WikiPage> {
void deletePage(WikiPage wikiPage); void deletePage(WikiPage wikiPage);
public List<WikiPageTemplateInfoVo> wikiPageTemplateInfos(Long spaceId); List<WikiPageTemplateInfoVo> wikiPageTemplateInfos(Long spaceId);
} }

View File

@@ -1,11 +1,9 @@
package com.zyplayer.doc.data.service.manage; package com.zyplayer.doc.data.service.manage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate; import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo; import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo; import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -22,7 +20,7 @@ public interface WikiPageTemplateService extends IService<WikiPageTemplate> {
/** /**
* 根据模板的公开情况获取模板标签 * 根据模板的公开情况获取模板标签
*/ */
public List<WikiTemplateTagVo> getAllTags( Long user, boolean open); List<WikiTemplateTagVo> getAllTags(Long user, boolean open);
/** /**
* 根据条件获取模板 * 根据条件获取模板

View File

@@ -6,7 +6,6 @@ import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.*; import com.zyplayer.doc.data.repository.manage.entity.*;
import com.zyplayer.doc.data.repository.manage.mapper.ApiCustomNodeMapper; import com.zyplayer.doc.data.repository.manage.mapper.ApiCustomNodeMapper;
import com.zyplayer.doc.data.repository.manage.vo.ApiCustomDocVo; 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.common.ApiDocAuthJudgeService;
import com.zyplayer.doc.data.service.manage.ApiCustomNodeService; import com.zyplayer.doc.data.service.manage.ApiCustomNodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@@ -25,7 +25,7 @@ import java.util.Date;
*/ */
@Service @Service
public class WikiPageHistoryServiceImpl extends ServiceImpl<WikiPageHistoryMapper, WikiPageHistory> implements WikiPageHistoryService { public class WikiPageHistoryServiceImpl extends ServiceImpl<WikiPageHistoryMapper, WikiPageHistory> implements WikiPageHistoryService {
private static Logger logger = LoggerFactory.getLogger(WikiPageHistoryServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(WikiPageHistoryServiceImpl.class);
@Override @Override
public WikiPageHistory saveRecord(Long spaceId, Long pageId, String content) { public WikiPageHistory saveRecord(Long spaceId, Long pageId, String content) {

View File

@@ -23,8 +23,7 @@ import java.util.List;
public class WikiPageTemplateServiceImpl extends ServiceImpl<WikiPageTemplateMapper, WikiPageTemplate> implements WikiPageTemplateService { public class WikiPageTemplateServiceImpl extends ServiceImpl<WikiPageTemplateMapper, WikiPageTemplate> implements WikiPageTemplateService {
@Override @Override
public List<WikiTemplateTagVo> getAllTags(Long user, boolean open) { public List<WikiTemplateTagVo> getAllTags(Long user, boolean open) {
List<WikiTemplateTagVo> all = getBaseMapper().getAllTags(user,open); return getBaseMapper().getAllTags(user,open);
return all;
} }
@Override @Override
@@ -32,23 +31,20 @@ public class WikiPageTemplateServiceImpl extends ServiceImpl<WikiPageTemplateMap
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("space_id", spaceId); queryWrapper.eq("space_id", spaceId);
queryWrapper.eq("page_id", pageId); queryWrapper.eq("page_id", pageId);
WikiPageTemplate template = getBaseMapper().selectOne(queryWrapper); return getBaseMapper().selectOne(queryWrapper);
return template;
} }
@Override @Override
public List<WikiPageTemplateInfoVo> filterAll(Long user, String name, boolean open, List<String> tags, Long pageNum) { public List<WikiPageTemplateInfoVo> filterAll(Long user, String name, boolean open, List<String> tags, Long pageNum) {
Long offset = 0L; long offset = 0L;
if (null != pageNum && pageNum != 0L) { if (null != pageNum && pageNum != 0L) {
offset = (pageNum - 1) * 8; offset = (pageNum - 1) * 8;
} }
List<WikiPageTemplateInfoVo> all = getBaseMapper().getAllTemplate(user, StringUtils.isBlank(name) ? null : "%" + name + "%", open, tags, offset); return getBaseMapper().getAllTemplate(user, StringUtils.isBlank(name) ? null : "%" + name + "%", open, tags, offset);
return all;
} }
@Override @Override
public Long total(Long user, String name, boolean open, List<String> tags) { public Long total(Long user, String name, boolean open, List<String> tags) {
Long num = getBaseMapper().getAllTemplateCount(user, name, open, tags); return getBaseMapper().getAllTemplateCount(user, name, open, tags);
return num;
} }
} }

View File

@@ -16,7 +16,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @since 2019年05月25日 * @since 2019年05月25日
*/ */
public class CacheUtil { public class CacheUtil {
private static Logger logger = LoggerFactory.getLogger(CacheUtil.class); private static final Logger logger = LoggerFactory.getLogger(CacheUtil.class);
// 定期清除过期的key // 定期清除过期的key
static { static {
@@ -49,7 +49,7 @@ public class CacheUtil {
} }
// 现在是内存缓存不支持分布式部署后期考虑放到redis但感觉也没必要。。 // 现在是内存缓存不支持分布式部署后期考虑放到redis但感觉也没必要。。
private static Map<String, CacheData> cacheDataMap = new ConcurrentHashMap<>(); private static final Map<String, CacheData> cacheDataMap = new ConcurrentHashMap<>();
/** /**
* 放入缓存默认12小时按最后一次访问的12小时 * 放入缓存默认12小时按最后一次访问的12小时

View File

@@ -15,9 +15,9 @@ import java.util.concurrent.atomic.AtomicLong;
*/ */
public class DruidDataSourceUtil { public class DruidDataSourceUtil {
private static AtomicLong nameId = new AtomicLong(0); private static final AtomicLong nameId = new AtomicLong(0);
public static DruidDataSource createDataSource(String driverClassName, String url, String username, String password, boolean breakAfterAcquireFailure) throws Exception { public static DruidDataSource createDataSource(String driverClassName, String url, String username, String password, boolean breakAfterAcquireFailure) {
// 数据源配置 // 数据源配置
DruidDataSource dataSource = new DruidDataSource(); DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName); dataSource.setDriverClassName(driverClassName);

View File

@@ -40,7 +40,7 @@ import java.util.stream.Stream;
@AuthMan(DocAuthConst.DB_DATASOURCE_MANAGE) @AuthMan(DocAuthConst.DB_DATASOURCE_MANAGE)
@RequestMapping("/zyplayer-doc-db/auth") @RequestMapping("/zyplayer-doc-db/auth")
public class DbDataSourceAuthController { public class DbDataSourceAuthController {
private static Logger logger = LoggerFactory.getLogger(DbDataSourceAuthController.class); private static final Logger logger = LoggerFactory.getLogger(DbDataSourceAuthController.class);
@Resource @Resource
UserInfoService userInfoService; UserInfoService userInfoService;

View File

@@ -43,7 +43,7 @@ import java.util.*;
@RestController @RestController
@RequestMapping("/zyplayer-doc-db/data-view") @RequestMapping("/zyplayer-doc-db/data-view")
public class DbDataViewController { public class DbDataViewController {
private static Logger logger = LoggerFactory.getLogger(DbDataViewController.class); private static final Logger logger = LoggerFactory.getLogger(DbDataViewController.class);
@Resource @Resource
ExecuteAuthService executeAuthService; ExecuteAuthService executeAuthService;

View File

@@ -40,7 +40,7 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/zyplayer-doc-db/procedure") @RequestMapping("/zyplayer-doc-db/procedure")
public class DbProcedureController { public class DbProcedureController {
private static Logger logger = LoggerFactory.getLogger(DbProcedureController.class); private static final Logger logger = LoggerFactory.getLogger(DbProcedureController.class);
@Resource @Resource
DatabaseServiceFactory databaseServiceFactory; DatabaseServiceFactory databaseServiceFactory;

View File

@@ -46,7 +46,7 @@ import java.util.*;
@RestController @RestController
@RequestMapping("/zyplayer-doc-db/executor") @RequestMapping("/zyplayer-doc-db/executor")
public class DbSqlExecutorController { public class DbSqlExecutorController {
private static Logger logger = LoggerFactory.getLogger(DbSqlExecutorController.class); private static final Logger logger = LoggerFactory.getLogger(DbSqlExecutorController.class);
@Resource @Resource
ColumnSqlExecutor columnSqlExecutor; ColumnSqlExecutor columnSqlExecutor;
@@ -87,10 +87,10 @@ public class DbSqlExecutorController {
// 参数处理 // 参数处理
Map<String, Object> paramMap = JSON.parseObject(params); Map<String, Object> paramMap = JSON.parseObject(params);
// 解析出多个执行的SQL // 解析出多个执行的SQL
List<Map<String,Object>> analysisQuerySqlList = new LinkedList<Map<String,Object>>(); List<Map<String,Object>> analysisQuerySqlList = new LinkedList<>();
try { try {
String driverClassName = dbBaseService.getDatabaseProduct().getDriverClassName(); String driverClassName = dbBaseService.getDatabaseProduct().getDriverClassName();
List<SQLStatement> sqlStatements = new ArrayList<SQLStatement>(); List<SQLStatement> sqlStatements;
//根据驱动程序类名获取数据库类型 //根据驱动程序类名获取数据库类型
DbType dbType = SQLTransformUtils.getDbTypeByDriverClassName(driverClassName); DbType dbType = SQLTransformUtils.getDbTypeByDriverClassName(driverClassName);
sqlStatements = new SQLStatementParser(sql,dbType).parseStatementList(); sqlStatements = new SQLStatementParser(sql,dbType).parseStatementList();
@@ -99,7 +99,7 @@ public class DbSqlExecutorController {
if(sb.length()>0&&';' == (sb.charAt(sb.length()-1))){ if(sb.length()>0&&';' == (sb.charAt(sb.length()-1))){
sb.deleteCharAt(sb.length()-1); sb.deleteCharAt(sb.length()-1);
} }
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<>();
//原始sql //原始sql
map.put("originalSql",sb); map.put("originalSql",sb);
//sql解析类型 //sql解析类型

View File

@@ -32,7 +32,7 @@ import java.util.*;
@RestController @RestController
@RequestMapping("/zyplayer-doc-db/table-relation") @RequestMapping("/zyplayer-doc-db/table-relation")
public class DbTableRelationController { public class DbTableRelationController {
private static Logger logger = LoggerFactory.getLogger(DbTableRelationController.class); private static final Logger logger = LoggerFactory.getLogger(DbTableRelationController.class);
@Resource @Resource
DatabaseServiceFactory databaseServiceFactory; DatabaseServiceFactory databaseServiceFactory;

View File

@@ -61,7 +61,7 @@ public class CommonFormatDownloadService implements FormatDownloadService {
StringBuilder resultSb = new StringBuilder("/*\n" + StringBuilder resultSb = new StringBuilder("/*\n" +
" 数据库 : " + param.getDbName() + "\n" + " 数据库 : " + param.getDbName() + "\n" +
" 数据库类型 : " + dbBaseService.getDatabaseProduct().name() + "\n" + " 数据库类型 : " + dbBaseService.getDatabaseProduct().name() + "\n" +
" 导出时间 : " + DateTime.now().toString() + "\n" + " 导出时间 : " + DateTime.now() + "\n" +
" 导出软件 : zyplayer-doc\n" + " 导出软件 : zyplayer-doc\n" +
" 软件版本 : " + ZyplayerDocVersion.version + "\n" + " 软件版本 : " + ZyplayerDocVersion.version + "\n" +
"*/\n\n"); "*/\n\n");

View File

@@ -43,7 +43,7 @@ import java.util.stream.Stream;
*/ */
@Service(FormatDownloadConst.EXCEL) @Service(FormatDownloadConst.EXCEL)
public class ExcelFormatDownloadService implements FormatDownloadService { public class ExcelFormatDownloadService implements FormatDownloadService {
private static Logger logger = LoggerFactory.getLogger(ExcelFormatDownloadService.class); private static final Logger logger = LoggerFactory.getLogger(ExcelFormatDownloadService.class);
@Resource @Resource
ExecuteAuthService executeAuthService; ExecuteAuthService executeAuthService;

View File

@@ -16,5 +16,4 @@ public class FormatDownloadConst {
public static final String JSON = "json"; public static final String JSON = "json";
public static final String EXCEL = "excel"; public static final String EXCEL = "excel";
public static final String CVS = "cvs"; public static final String CVS = "cvs";
;
} }

View File

@@ -12,6 +12,6 @@ import javax.servlet.http.HttpServletResponse;
*/ */
public interface FormatDownloadService { public interface FormatDownloadService {
public void download(HttpServletResponse response, DataViewParam param, String[] tableNameArr) throws Exception; void download(HttpServletResponse response, DataViewParam param, String[] tableNameArr) throws Exception;
} }

View File

@@ -50,7 +50,7 @@ public class DatasourceUtil {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource); sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(resources); sqlSessionFactoryBean.setMapperLocations(resources);
sqlSessionFactoryBean.setPlugins(new Interceptor[]{sqlLogInterceptor}); sqlSessionFactoryBean.setPlugins(sqlLogInterceptor);
SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactoryBean.getObject()); SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactoryBean.getObject());
// 组装自定义的bean // 组装自定义的bean
databaseFactoryBean.setId(dbDatasource.getId()); databaseFactoryBean.setId(dbDatasource.getId());

View File

@@ -67,7 +67,7 @@ public class SqlLogInterceptor implements Interceptor {
private String getParameterValue(Object obj) { private String getParameterValue(Object obj) {
String value = null; String value = null;
if (obj instanceof String) { if (obj instanceof String) {
value = "'" + obj.toString() + "'"; value = "'" + obj + "'";
} else if (obj instanceof Date) { } else if (obj instanceof Date) {
DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA); DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA);
value = "'" + formatter.format(obj) + "'"; value = "'" + formatter.format(obj) + "'";
@@ -87,7 +87,7 @@ public class SqlLogInterceptor implements Interceptor {
List<ParameterMapping> parameterMappings = boundSql.getParameterMappings(); List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
StringBuilder sqlSb = new StringBuilder(boundSql.getSql().replaceAll("[\\s]+", " ")); StringBuilder sqlSb = new StringBuilder(boundSql.getSql().replaceAll("[\\s]+", " "));
int fromIndex = 0; int fromIndex = 0;
if (parameterMappings.size() > 0 && parameterObject != null) { if (!parameterMappings.isEmpty() && parameterObject != null) {
TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry(); TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();
if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) { if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) {
//sqlSb = sqlSb.replaceFirst("\\?", getParameterValue(parameterObject)); //sqlSb = sqlSb.replaceFirst("\\?", getParameterValue(parameterObject));

View File

@@ -23,7 +23,7 @@ public class BackupJob implements Job {
@Override @Override
public void execute(JobExecutionContext context) throws JobExecutionException { public void execute(JobExecutionContext context) {
// 解析参数 // 解析参数
BackupJobVO jobVO = JSONObject.parseObject(context.getJobDetail().getJobDataMap().getString(QuartzManagerUtils.PARAM_KEY), BackupJobVO.class); BackupJobVO jobVO = JSONObject.parseObject(context.getJobDetail().getJobDataMap().getString(QuartzManagerUtils.PARAM_KEY), BackupJobVO.class);
// TODO 保存备份记录 // TODO 保存备份记录

View File

@@ -53,9 +53,9 @@ public class ColumnExecuteResult {
} }
public static class ExecuteResultCode { public static class ExecuteResultCode {
public static Integer SUCCESS = 0; public static final Integer SUCCESS = 0;
public static Integer WARN = -1; public static final Integer WARN = -1;
public static Integer ERROR = -2; public static final Integer ERROR = -2;
} }
/** /**

View File

@@ -31,7 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/ */
@Repository @Repository
public class ColumnSqlExecutor { public class ColumnSqlExecutor {
private static Logger logger = LoggerFactory.getLogger(SqlExecutor.class); private static final Logger logger = LoggerFactory.getLogger(SqlExecutor.class);
@Resource @Resource
DatabaseRegistrationBean databaseRegistrationBean; DatabaseRegistrationBean databaseRegistrationBean;
@@ -119,7 +119,7 @@ public class ColumnSqlExecutor {
statementMap.put(executeParam.getExecuteId(), preparedStatement); statementMap.put(executeParam.getExecuteId(), preparedStatement);
List<ParameterMapping> parameterMappings = executeParam.getParameterMappings(); List<ParameterMapping> parameterMappings = executeParam.getParameterMappings();
List<Object> paramDataList = executeParam.getParamList(); List<Object> paramDataList = executeParam.getParamList();
if (parameterMappings.size() > 0 && paramDataList.size() > 0) { if (!parameterMappings.isEmpty() && !paramDataList.isEmpty()) {
int parameterCount = 99999; int parameterCount = 99999;
try { try {
parameterCount = preparedStatement.getParameterMetaData().getParameterCount(); parameterCount = preparedStatement.getParameterMetaData().getParameterCount();

View File

@@ -29,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/ */
@Repository @Repository
public class SqlExecutor { public class SqlExecutor {
private static Logger logger = LoggerFactory.getLogger(SqlExecutor.class); private static final Logger logger = LoggerFactory.getLogger(SqlExecutor.class);
@Resource @Resource
DatabaseRegistrationBean databaseRegistrationBean; DatabaseRegistrationBean databaseRegistrationBean;
@@ -113,7 +113,7 @@ public class SqlExecutor {
statementMap.put(executeParam.getExecuteId(), preparedStatement); statementMap.put(executeParam.getExecuteId(), preparedStatement);
List<ParameterMapping> parameterMappings = executeParam.getParameterMappings(); List<ParameterMapping> parameterMappings = executeParam.getParameterMappings();
List<Object> paramDataList = executeParam.getParamList(); List<Object> paramDataList = executeParam.getParamList();
if (parameterMappings != null && paramDataList != null && parameterMappings.size() > 0 && paramDataList.size() > 0) { if (parameterMappings != null && paramDataList != null && !parameterMappings.isEmpty() && !paramDataList.isEmpty()) {
for (int i = 0; i < parameterMappings.size(); i++) { for (int i = 0; i < parameterMappings.size(); i++) {
preparedStatement.setObject(i + 1, paramDataList.get(i)); preparedStatement.setObject(i + 1, paramDataList.get(i));
} }

View File

@@ -40,7 +40,7 @@ public class GenericTokenParser {
if (text == null || text.isEmpty()) { if (text == null || text.isEmpty()) {
return ""; return "";
} }
int start = text.indexOf(openToken, 0); int start = text.indexOf(openToken);
if (start == -1) { if (start == -1) {
return text; return text;
} }

View File

@@ -32,7 +32,7 @@ public interface MethodInvoke {
Method method = ReflectionUtils.findMethod(this.getClass(), expr.getMethodName().toLowerCase(), SQLMethodInvokeExpr.class); Method method = ReflectionUtils.findMethod(this.getClass(), expr.getMethodName().toLowerCase(), SQLMethodInvokeExpr.class);
if (null != method) { if (null != method) {
try { try {
method.invoke(this, new Object[]{expr}); method.invoke(this, expr);
} catch (Exception e) { } catch (Exception e) {
log.error("method invoke error", e); log.error("method invoke error", e);
e.printStackTrace(); e.printStackTrace();

View File

@@ -113,8 +113,8 @@ public class MySqlToOracleOutputVisitor extends MySqlOutputVisitor {
}else if(sqlTableElement instanceof MySqlPrimaryKey){ }else if(sqlTableElement instanceof MySqlPrimaryKey){
OraclePrimaryKey oraclePrimaryKey = new OraclePrimaryKey(); OraclePrimaryKey oraclePrimaryKey = new OraclePrimaryKey();
List<SQLSelectOrderByItem> list = ((MySqlPrimaryKey) sqlTableElement).getIndexDefinition().getColumns(); List<SQLSelectOrderByItem> list = ((MySqlPrimaryKey) sqlTableElement).getIndexDefinition().getColumns();
for(int i=0;i<list.size();i++){ for (SQLSelectOrderByItem sqlSelectOrderByItem : list) {
SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr)list.get(i).getExpr(); SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr) sqlSelectOrderByItem.getExpr();
sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("`", "")); sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("`", ""));
oraclePrimaryKey.addColumn(sQLIdentifierExpr); oraclePrimaryKey.addColumn(sQLIdentifierExpr);
} }

View File

@@ -88,8 +88,8 @@ public class MySqlToSqlServerOutputVisitor extends MySqlOutputVisitor {
}else if(sqlTableElement instanceof MySqlPrimaryKey){ }else if(sqlTableElement instanceof MySqlPrimaryKey){
SQLPrimaryKeyImpl sqlserverPrimaryKey = new SQLPrimaryKeyImpl(); SQLPrimaryKeyImpl sqlserverPrimaryKey = new SQLPrimaryKeyImpl();
List<SQLSelectOrderByItem> list = ((MySqlPrimaryKey) sqlTableElement).getIndexDefinition().getColumns(); List<SQLSelectOrderByItem> list = ((MySqlPrimaryKey) sqlTableElement).getIndexDefinition().getColumns();
for(int i=0;i<list.size();i++){ for (SQLSelectOrderByItem sqlSelectOrderByItem : list) {
SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr)list.get(i).getExpr(); SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr) sqlSelectOrderByItem.getExpr();
sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("`", "")); sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("`", ""));
sqlserverPrimaryKey.addColumn(sQLIdentifierExpr); sqlserverPrimaryKey.addColumn(sQLIdentifierExpr);
} }

View File

@@ -36,7 +36,7 @@ public class MySqlSQLDataTypeTransformUtil extends SQLTransformUtils {
|| nameHash == FnvHash.Constants.INT || nameHash == FnvHash.Constants.INT
|| nameHash == FnvHash.Constants.BIGINT || nameHash == FnvHash.Constants.BIGINT
|| nameHash == FnvHash.Constants.TINYINT) { || nameHash == FnvHash.Constants.TINYINT) {
if(argumentns.size() > 0){ if(!argumentns.isEmpty()){
int len; int len;
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
if (arg0 instanceof SQLNumericLiteralExpr) { if (arg0 instanceof SQLNumericLiteralExpr) {
@@ -54,7 +54,7 @@ public class MySqlSQLDataTypeTransformUtil extends SQLTransformUtils {
|| nameHash == FnvHash.Constants.DECIMAL) { || nameHash == FnvHash.Constants.DECIMAL) {
dataType = new SQLDataTypeImpl("DECIMAL"); dataType = new SQLDataTypeImpl("DECIMAL");
int precision = 0; int precision = 0;
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue();
dataType = new SQLDataTypeImpl("DECIMAL",precision); dataType = new SQLDataTypeImpl("DECIMAL",precision);
} }
@@ -74,7 +74,7 @@ public class MySqlSQLDataTypeTransformUtil extends SQLTransformUtils {
} else if (nameHash == FnvHash.Constants.VARCHAR } else if (nameHash == FnvHash.Constants.VARCHAR
||nameHash == FnvHash.Constants.CHAR) { ||nameHash == FnvHash.Constants.CHAR) {
if(argumentns.size() > 0){ if(!argumentns.isEmpty()){
int len; int len;
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
if (arg0 instanceof SQLNumericLiteralExpr) { if (arg0 instanceof SQLNumericLiteralExpr) {

View File

@@ -108,8 +108,8 @@ public class OracleToMySqlOutputVisitor extends OracleOutputVisitor {
MySqlPrimaryKey mySqlPrimaryKey = new MySqlPrimaryKey(); MySqlPrimaryKey mySqlPrimaryKey = new MySqlPrimaryKey();
mySqlPrimaryKey.setName("primary key"); mySqlPrimaryKey.setName("primary key");
List<SQLSelectOrderByItem> list = ((OraclePrimaryKey) sqlTableElement).getIndexDefinition().getColumns(); List<SQLSelectOrderByItem> list = ((OraclePrimaryKey) sqlTableElement).getIndexDefinition().getColumns();
for(int i=0;i<list.size();i++){ for (SQLSelectOrderByItem sqlSelectOrderByItem : list) {
mySqlPrimaryKey.addColumn(list.get(i)); mySqlPrimaryKey.addColumn(sqlSelectOrderByItem);
} }
mySqlCreateTableStatement.getTableElementList().add(mySqlPrimaryKey); mySqlCreateTableStatement.getTableElementList().add(mySqlPrimaryKey);
}else if(sqlTableElement instanceof OracleUnique) { }else if(sqlTableElement instanceof OracleUnique) {

View File

@@ -61,7 +61,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
dataType = new SQLDataTypeImpl("double"); dataType = new SQLDataTypeImpl("double");
} else if (nameHash == FnvHash.Constants.NUMBER) { } else if (nameHash == FnvHash.Constants.NUMBER) {
if (argumentns.size() == 0) { if (argumentns.isEmpty()) {
dataType = new SQLDataTypeImpl("decimal", 38); dataType = new SQLDataTypeImpl("decimal", 38);
} else { } else {
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
@@ -112,7 +112,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
dataType.setName("decimal"); dataType.setName("decimal");
int precision = 0; int precision = 0;
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue();
} }
@@ -126,7 +126,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
} else if (nameHash == FnvHash.Constants.RAW) { } else if (nameHash == FnvHash.Constants.RAW) {
int len; int len;
if (argumentns.size() == 0) { if (argumentns.isEmpty()) {
len = -1; len = -1;
} else if (argumentns.size() == 1) { } else if (argumentns.size() == 1) {
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
@@ -163,7 +163,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
} else { } else {
dataType = new SQLCharacterDataType("varchar", len); dataType = new SQLCharacterDataType("varchar", len);
} }
} else if (argumentns.size() == 0) { } else if (argumentns.isEmpty()) {
dataType = new SQLCharacterDataType("char"); dataType = new SQLCharacterDataType("char");
} else { } else {
throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); throw new UnsupportedOperationException(SQLUtils.toOracleString(x));
@@ -185,14 +185,14 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
} else { } else {
dataType = new SQLCharacterDataType("nvarchar", len); dataType = new SQLCharacterDataType("nvarchar", len);
} }
} else if (argumentns.size() == 0) { } else if (argumentns.isEmpty()) {
dataType = new SQLCharacterDataType("nchar"); dataType = new SQLCharacterDataType("nchar");
} else { } else {
throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); throw new UnsupportedOperationException(SQLUtils.toOracleString(x));
} }
} else if (nameHash == FnvHash.Constants.VARCHAR2) { } else if (nameHash == FnvHash.Constants.VARCHAR2) {
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
int len; int len;
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
if (arg0 instanceof SQLNumericLiteralExpr) { if (arg0 instanceof SQLNumericLiteralExpr) {
@@ -210,7 +210,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
} }
} else if (nameHash == FnvHash.Constants.NVARCHAR2) { } else if (nameHash == FnvHash.Constants.NVARCHAR2) {
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
int len; int len;
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
if (arg0 instanceof SQLNumericLiteralExpr) { if (arg0 instanceof SQLNumericLiteralExpr) {
@@ -229,7 +229,7 @@ public class OracleSQLDataTypeTransformUtil extends SQLTransformUtils {
} else if (nameHash == FnvHash.Constants.DATE } else if (nameHash == FnvHash.Constants.DATE
|| nameHash == FnvHash.Constants.TIMESTAMP) { || nameHash == FnvHash.Constants.TIMESTAMP) {
int len = -1; int len = -1;
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
SQLExpr arg0 = argumentns.get(0); SQLExpr arg0 = argumentns.get(0);
if (arg0 instanceof SQLNumericLiteralExpr) { if (arg0 instanceof SQLNumericLiteralExpr) {
len = ((SQLNumericLiteralExpr) arg0).getNumber().intValue(); len = ((SQLNumericLiteralExpr) arg0).getNumber().intValue();

View File

@@ -119,8 +119,8 @@ public class SqlServerToMySqlOutputVisitor extends SQLServerOutputVisitor {
SQLPrimaryKeyImpl sQLPrimaryKeyImpl = (SQLPrimaryKeyImpl) ((SQLAlterTableAddConstraint) item).getConstraint(); SQLPrimaryKeyImpl sQLPrimaryKeyImpl = (SQLPrimaryKeyImpl) ((SQLAlterTableAddConstraint) item).getConstraint();
SQLIndexDefinition sQLIndexDefinition = sQLPrimaryKeyImpl.getIndexDefinition(); SQLIndexDefinition sQLIndexDefinition = sQLPrimaryKeyImpl.getIndexDefinition();
List<SQLSelectOrderByItem> list = sQLIndexDefinition.getColumns(); List<SQLSelectOrderByItem> list = sQLIndexDefinition.getColumns();
for(int i=0;i<list.size();i++){ for (SQLSelectOrderByItem sqlSelectOrderByItem : list) {
SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr)list.get(i).getExpr(); SQLIdentifierExpr sQLIdentifierExpr = (SQLIdentifierExpr) sqlSelectOrderByItem.getExpr();
sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("\\[", "").replaceAll("\\]", "")); sQLIdentifierExpr.setName(sQLIdentifierExpr.getName().replaceAll("\\[", "").replaceAll("\\]", ""));
} }
} }

View File

@@ -30,7 +30,7 @@ public class SqlServerSQLDataTypeTransformUtil extends SQLTransformUtils {
SQLDataType dataType; SQLDataType dataType;
if (nameHash == FnvHash.Constants.SMALLINT) { if (nameHash == FnvHash.Constants.SMALLINT) {
int precision = 0; int precision = 0;
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue();
} }
dataType = new SQLDataTypeImpl("int", precision); dataType = new SQLDataTypeImpl("int", precision);
@@ -43,7 +43,7 @@ public class SqlServerSQLDataTypeTransformUtil extends SQLTransformUtils {
} else if(nameHash == FnvHash.Constants.NVARCHAR){ } else if(nameHash == FnvHash.Constants.NVARCHAR){
int precision = 0; int precision = 0;
if (argumentns.size() > 0) { if (!argumentns.isEmpty()) {
precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue();
} }
dataType = new SQLDataTypeImpl("varchar", precision); dataType = new SQLDataTypeImpl("varchar", precision);

View File

@@ -109,7 +109,7 @@ public class SqlParseUtil {
resultParamList.add(paramMap.get(parameterMapping.getProperty())); resultParamList.add(paramMap.get(parameterMapping.getProperty()));
} }
} }
sqlBuilder.append(itemsSb.toString()); sqlBuilder.append(itemsSb);
} }
// pagehelper 使用了jsqlparser包而且版本很低低版本没这个方法 // pagehelper 使用了jsqlparser包而且版本很低低版本没这个方法
// if (insert.isUseSet()) { // if (insert.isUseSet()) {
@@ -232,9 +232,7 @@ public class SqlParseUtil {
if (select.getFromItem() != null) { if (select.getFromItem() != null) {
countSql.append(" FROM ").append(select.getFromItem()); countSql.append(" FROM ").append(select.getFromItem());
if (select.getJoins() != null) { if (select.getJoins() != null) {
Iterator<Join> it = select.getJoins().iterator(); for (Join join : select.getJoins()) {
while (it.hasNext()) {
Join join = it.next();
if (join.isSimple()) { if (join.isSimple()) {
countSql.append(", ").append(join); countSql.append(", ").append(join);
} else { } else {

View File

@@ -2,7 +2,6 @@ package com.zyplayer.doc.db.framework.db.transfer;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.zyplayer.doc.core.exception.ConfirmException; import com.zyplayer.doc.core.exception.ConfirmException;
import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil; import com.zyplayer.doc.data.config.security.DocUserUtil;
@@ -42,7 +41,7 @@ import java.util.concurrent.atomic.AtomicLong;
*/ */
@Service @Service
public class TransferDataServer { public class TransferDataServer {
private static Logger logger = LoggerFactory.getLogger(TransferDataServer.class); private static final Logger logger = LoggerFactory.getLogger(TransferDataServer.class);
@Resource @Resource
SqlExecutor sqlExecutor; SqlExecutor sqlExecutor;
@@ -163,7 +162,7 @@ public class TransferDataServer {
} }
}); });
// 不足100的数据 // 不足100的数据
if (selectResultList.size() > 0) { if (!selectResultList.isEmpty()) {
this.writeData(storageSourceId, storageSql, selectResultList); this.writeData(storageSourceId, storageSql, selectResultList);
} }
if (StringUtils.isNotBlank(executeResult.getErrMsg())) { if (StringUtils.isNotBlank(executeResult.getErrMsg())) {

View File

@@ -23,7 +23,7 @@ public interface DbSseEmitterService {
* @author diantu * @author diantu
* @date 2023/7/17 * @date 2023/7/17
**/ **/
public SseEmitter createSseConnect(String clientId, Boolean setHeartBeat, Boolean defaultHeartbeat, Consumer<DbCommonSseParam> consumer); SseEmitter createSseConnect(String clientId, Boolean setHeartBeat, Boolean defaultHeartbeat, Consumer<DbCommonSseParam> consumer);
/** /**
* 关闭连接 * 关闭连接
@@ -31,7 +31,7 @@ public interface DbSseEmitterService {
* @author diantu * @author diantu
* @date 2023/7/17 * @date 2023/7/17
**/ **/
public void closeSseConnect(String clientId); void closeSseConnect(String clientId);
/** /**
* 推送消息到所有客户端 * 推送消息到所有客户端
@@ -39,7 +39,7 @@ public interface DbSseEmitterService {
* @author diantu * @author diantu
* @date 2023/7/17 * @date 2023/7/17
**/ **/
public void sendMessageToAllClient(String msg); void sendMessageToAllClient(String msg);
/** /**
* 根据clientId发送消息给某一客户端 * 根据clientId发送消息给某一客户端
@@ -47,5 +47,5 @@ public interface DbSseEmitterService {
* @author diantu * @author diantu
* @date 2023/7/17 * @date 2023/7/17
**/ **/
public void sendMessageToOneClient(String clientId, String msg); void sendMessageToOneClient(String clientId, String msg);
} }

View File

@@ -25,7 +25,7 @@ public class DbSseCacheUtil {
/** /**
* 创建一个容器来存储所有的 SseEmitter(使用ConcurrentHashMap是因为它是线程安全的)。 * 创建一个容器来存储所有的 SseEmitter(使用ConcurrentHashMap是因为它是线程安全的)。
*/ */
public static Map<String, Map<String,Object>> sseCache = new ConcurrentHashMap<>(); public static final Map<String, Map<String,Object>> sseCache = new ConcurrentHashMap<>();
/** /**
@@ -96,7 +96,7 @@ public class DbSseCacheUtil {
* @date 2023/7/17 * @date 2023/7/17
**/ **/
public static boolean existSseCache() { public static boolean existSseCache() {
return sseCache.size()>0; return !sseCache.isEmpty();
} }
/** /**
@@ -249,7 +249,7 @@ public class DbSseCacheUtil {
**/ **/
public static void sendMessageToClientByClientId(String clientId, DocDbResponseJson message) { public static void sendMessageToClientByClientId(String clientId, DocDbResponseJson message) {
Map<String, Object> map = sseCache.get(clientId); Map<String, Object> map = sseCache.get(clientId);
if (map==null||map.size()==0) { if (map==null|| map.isEmpty()) {
log.error("推送消息失败:客户端{}未创建长链接,失败消息:{}",clientId, message.toString()); log.error("推送消息失败:客户端{}未创建长链接,失败消息:{}",clientId, message.toString());
return; return;
} }

View File

@@ -63,7 +63,6 @@ public class DatabaseBackupUtils {
//@TODO 存入备份记录信息 //@TODO 存入备份记录信息
// 备份文件上传至文件服务器 // 备份文件上传至文件服务器
if (!jobVO.getIsUpload()) { if (!jobVO.getIsUpload()) {
return;
} }
//@TODO 备份文件上传至文件服务器 //@TODO 备份文件上传至文件服务器
} }

View File

@@ -14,7 +14,7 @@ import java.util.Date;
*/ */
public class JSONUtil { public class JSONUtil {
public static SerializeConfig serializeConfig = new SerializeConfig(); public static final SerializeConfig serializeConfig = new SerializeConfig();
static { static {
serializeConfig.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss")); serializeConfig.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));

View File

@@ -15,7 +15,7 @@ public class MapCacheUtil {
private static Map<String,Object> cacheMap; private static Map<String,Object> cacheMap;
private MapCacheUtil(){ private MapCacheUtil(){
cacheMap = new HashMap<String, Object>(); cacheMap = new HashMap<>();
} }
public static MapCacheUtil getInstance(){ public static MapCacheUtil getInstance(){

View File

@@ -47,14 +47,12 @@ public class PoiUtil {
"\n" + "\n" +
" 数据库 : " + dbName + "\n" + " 数据库 : " + dbName + "\n" +
" 数据库类型 : " + dbType + "\n" + " 数据库类型 : " + dbType + "\n" +
" 导出时间 : " + DateTime.now().toString() + "\n" + " 导出时间 : " + DateTime.now() + "\n" +
" 软件版本 : " + ZyplayerDocVersion.version + "\n" + " 软件版本 : " + ZyplayerDocVersion.version + "\n" +
"*/\n\n"); "*/\n\n");
for (Map.Entry<String, String> entry : ddlSqlMap.entrySet()) { for (Map.Entry<String, String> entry : ddlSqlMap.entrySet()) {
ddlSqlSb.append("-- ----------------------------\n") ddlSqlSb.append("-- ----------------------------\n").append("-- 表结构:").append(entry.getKey()).append("\n")
.append("-- 表结构:" + entry.getKey() + "\n") .append("-- ----------------------------\n").append("DROP TABLE IF EXISTS `").append(entry.getKey()).append("`;\n")
.append("-- ----------------------------\n")
.append("DROP TABLE IF EXISTS `" + entry.getKey() + "`;\n")
.append(entry.getValue()).append("\n\n"); .append(entry.getValue()).append("\n\n");
} }
IoUtil.write(response.getOutputStream(), "utf-8", true, ddlSqlSb.toString()); IoUtil.write(response.getOutputStream(), "utf-8", true, ddlSqlSb.toString());
@@ -121,7 +119,7 @@ public class PoiUtil {
// 写入表信息 // 写入表信息
PoiUtil.createEmptyLine(document); PoiUtil.createEmptyLine(document);
document.createParagraph().createRun().setText("数据库名:" + dbName); document.createParagraph().createRun().setText("数据库名:" + dbName);
document.createParagraph().createRun().setText("导出时间:" + DateTime.now().toString()); document.createParagraph().createRun().setText("导出时间:" + DateTime.now());
document.createParagraph().createRun().setText("导出说明本文档使用zyplayer-doc生成并导出"); document.createParagraph().createRun().setText("导出说明本文档使用zyplayer-doc生成并导出");
document.createParagraph().createRun().setText("所有库表:"); document.createParagraph().createRun().setText("所有库表:");
List<List<String>> baseDataList = new LinkedList<>(); List<List<String>> baseDataList = new LinkedList<>();

View File

@@ -13,7 +13,7 @@ import org.slf4j.LoggerFactory;
*/ */
public class QuartzManagerUtils { public class QuartzManagerUtils {
private static Logger logger = LoggerFactory.getLogger(QuartzManagerUtils.class); private static final Logger logger = LoggerFactory.getLogger(QuartzManagerUtils.class);
/** /**
* 参数传递key * 参数传递key

View File

@@ -38,12 +38,11 @@ public class SQLTransformUtils {
StringBuilder out = new StringBuilder(); StringBuilder out = new StringBuilder();
OracleToMySqlOutputVisitor visitor = new OracleToMySqlOutputVisitor(out, false); OracleToMySqlOutputVisitor visitor = new OracleToMySqlOutputVisitor(out, false);
for(int i = 0; i < stmtList.size(); ++i) { for (SQLStatement sqlStatement : stmtList) {
((SQLStatement)stmtList.get(i)).accept(visitor); sqlStatement.accept(visitor);
} }
String mysqlSql = out.toString(); return out.toString();
return mysqlSql;
} }
/** /**
@@ -56,12 +55,11 @@ public class SQLTransformUtils {
StringBuilder out = new StringBuilder(); StringBuilder out = new StringBuilder();
SqlServerToMySqlOutputVisitor visitor = new SqlServerToMySqlOutputVisitor(out, false); SqlServerToMySqlOutputVisitor visitor = new SqlServerToMySqlOutputVisitor(out, false);
for(int i = 0; i < stmtList.size(); ++i) { for (SQLStatement sqlStatement : stmtList) {
((SQLStatement)stmtList.get(i)).accept(visitor); sqlStatement.accept(visitor);
} }
String mysqlSql = out.toString(); return out.toString();
return mysqlSql;
} }
/** /**
@@ -74,12 +72,11 @@ public class SQLTransformUtils {
StringBuilder out = new StringBuilder(); StringBuilder out = new StringBuilder();
MySqlToOracleOutputVisitor visitor = new MySqlToOracleOutputVisitor(out, false); MySqlToOracleOutputVisitor visitor = new MySqlToOracleOutputVisitor(out, false);
for(int i = 0; i < stmtList.size(); ++i) { for (SQLStatement sqlStatement : stmtList) {
((SQLStatement)stmtList.get(i)).accept(visitor); sqlStatement.accept(visitor);
} }
String oracleSql = out.toString(); return out.toString();
return oracleSql;
} }
/** /**
@@ -92,12 +89,11 @@ public class SQLTransformUtils {
StringBuilder out = new StringBuilder(); StringBuilder out = new StringBuilder();
MySqlToSqlServerOutputVisitor visitor = new MySqlToSqlServerOutputVisitor(out, false); MySqlToSqlServerOutputVisitor visitor = new MySqlToSqlServerOutputVisitor(out, false);
for(int i = 0; i < stmtList.size(); ++i) { for (SQLStatement sqlStatement : stmtList) {
((SQLStatement)stmtList.get(i)).accept(visitor); sqlStatement.accept(visitor);
} }
String sqlserverSql = out.toString(); return out.toString();
return sqlserverSql;
} }
/** /**
@@ -114,7 +110,7 @@ public class SQLTransformUtils {
java.io.Reader is = clob.getCharacterStream(); java.io.Reader is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is); BufferedReader br = new BufferedReader(is);
String s = br.readLine(); String s = br.readLine();
StringBuffer sb = new StringBuffer(); StringBuilder sb = new StringBuilder();
// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING // 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
while (s != null) { while (s != null) {
sb.append(s); sb.append(s);

View File

@@ -20,7 +20,7 @@ public class SqlLogUtil {
private static String getParameterValue(Object obj) { private static String getParameterValue(Object obj) {
String value; String value;
if (obj instanceof String) { if (obj instanceof String) {
value = "'" + obj.toString() + "'"; value = "'" + obj + "'";
} else if (obj instanceof Number) { } else if (obj instanceof Number) {
value = obj.toString(); value = obj.toString();
} else if (obj instanceof Date) { } else if (obj instanceof Date) {
@@ -35,7 +35,7 @@ public class SqlLogUtil {
public static String parseLogSql(String sql, List<ParameterMapping> parameterMappings, List<Object> paramList) { public static String parseLogSql(String sql, List<ParameterMapping> parameterMappings, List<Object> paramList) {
StringBuilder sqlSb = new StringBuilder(sql.replaceAll(" {2,}", " ")); StringBuilder sqlSb = new StringBuilder(sql.replaceAll(" {2,}", " "));
int fromIndex = 0; int fromIndex = 0;
if (parameterMappings.size() > 0) { if (!parameterMappings.isEmpty()) {
for (int i = 0; i < parameterMappings.size(); i++) { for (int i = 0; i < parameterMappings.size(); i++) {
Object obj = paramList.get(i); Object obj = paramList.get(i);
fromIndex = replacePlaceholder(sqlSb, fromIndex, getParameterValue(obj)); fromIndex = replacePlaceholder(sqlSb, fromIndex, getParameterValue(obj));

View File

@@ -21,7 +21,7 @@ import java.util.List;
*/ */
public class BackupTaskServiceImpl implements BackupTaskService { public class BackupTaskServiceImpl implements BackupTaskService {
private static Logger logger = LoggerFactory.getLogger(BackupTaskServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(BackupTaskServiceImpl.class);
@Autowired @Autowired
private Scheduler scheduler; private Scheduler scheduler;

View File

@@ -41,7 +41,7 @@ import java.util.Set;
* @since 2018年8月8日 * @since 2018年8月8日
*/ */
public abstract class DbBaseService { public abstract class DbBaseService {
private static Logger logger = LoggerFactory.getLogger(DbBaseService.class); private static final Logger logger = LoggerFactory.getLogger(DbBaseService.class);
@Resource @Resource
SqlExecutor sqlExecutor; SqlExecutor sqlExecutor;
@@ -140,7 +140,7 @@ public abstract class DbBaseService {
TableColumnVo.TableInfoVo tableInfoVo = new TableColumnVo.TableInfoVo(); TableColumnVo.TableInfoVo tableInfoVo = new TableColumnVo.TableInfoVo();
List<TableDescDto> tableDescList = baseMapper.getTableDescList(dbName, tableName); List<TableDescDto> tableDescList = baseMapper.getTableDescList(dbName, tableName);
String description = null; String description = null;
if (tableDescList.size() > 0) { if (!tableDescList.isEmpty()) {
TableDescDto descDto = tableDescList.get(0); TableDescDto descDto = tableDescList.get(0);
description = descDto.getDescription(); description = descDto.getDescription();
} }
@@ -334,11 +334,10 @@ public abstract class DbBaseService {
* @since 2023年2月22日 * @since 2023年2月22日
*/ */
public String getQueryPageSqlBySql(String sql,Integer pageSize,Integer pageNum) { public String getQueryPageSqlBySql(String sql,Integer pageSize,Integer pageNum) {
StringBuilder sqlSb = new StringBuilder();
sqlSb.append(String.format("select * from (%s) r", sql));
Integer offset = (pageNum-1)*pageSize; Integer offset = (pageNum-1)*pageSize;
sqlSb.append(String.format(" limit %s offset %s", pageSize, offset)); String sqlSb = String.format("select * from (%s) r", sql) +
return sqlSb.toString(); String.format(" limit %s offset %s", pageSize, offset);
return sqlSb;
} }
/** /**

View File

@@ -65,8 +65,8 @@ public class OracleServiceImpl extends DbBaseService {
sqlSb.append(String.format(" order by %s %s", "\""+dataViewParam.getOrderColumn()+"\"", dataViewParam.getOrderType())); sqlSb.append(String.format(" order by %s %s", "\""+dataViewParam.getOrderColumn()+"\"", dataViewParam.getOrderType()));
} }
StringBuilder sqlSbFinal = new StringBuilder(); StringBuilder sqlSbFinal = new StringBuilder();
Integer pageSize = dataViewParam.getPageSize() * dataViewParam.getPageNum(); int pageSize = dataViewParam.getPageSize() * dataViewParam.getPageNum();
Integer pageNum = dataViewParam.getPageSize() * (dataViewParam.getPageNum() - 1) + 1; int pageNum = dataViewParam.getPageSize() * (dataViewParam.getPageNum() - 1) + 1;
sqlSbFinal.append(String.format("select %s ,ZYPLAYDBROWID from ( select %s ,rowidtochar(rowid) as ZYPLAYDBROWID from %s",queryColumns, queryColumns + ",rownum rn", "(" + sqlSb + ") where rownum<=" + pageSize + " ) t2 where t2.rn >=" + pageNum)); sqlSbFinal.append(String.format("select %s ,ZYPLAYDBROWID from ( select %s ,rowidtochar(rowid) as ZYPLAYDBROWID from %s",queryColumns, queryColumns + ",rownum rn", "(" + sqlSb + ") where rownum<=" + pageSize + " ) t2 where t2.rn >=" + pageNum));
return sqlSbFinal.toString(); return sqlSbFinal.toString();
} }
@@ -80,11 +80,9 @@ public class OracleServiceImpl extends DbBaseService {
*/ */
@Override @Override
public String getQueryPageSqlBySql(String sql,Integer pageSize,Integer pageNum) { public String getQueryPageSqlBySql(String sql,Integer pageSize,Integer pageNum) {
StringBuilder sqlSb = new StringBuilder(); int pageSizeFinal = pageSize * pageNum;
Integer pageSizeFinal = pageSize * pageNum; int pageNumFinal = pageSize * (pageNum - 1) + 1;
Integer pageNumFinal = pageSize * (pageNum - 1) + 1; return String.format("select * from ( select r.*,rownum rn from %s", "(" + sql + ") r where rownum<=" + pageSizeFinal + " ) t2 where t2.rn >=" + pageNumFinal);
sqlSb.append(String.format("select * from ( select r.*,rownum rn from %s", "(" + sql + ") r where rownum<=" + pageSizeFinal + " ) t2 where t2.rn >=" + pageNumFinal));
return sqlSb.toString();
} }
/** /**
@@ -103,9 +101,7 @@ public class OracleServiceImpl extends DbBaseService {
String oracleSql = ""; String oracleSql = "";
try { try {
oracleSql = SQLTransformUtils.ClobToString((Clob)tableDdlList.get(0).get("CREATETABLE")); oracleSql = SQLTransformUtils.ClobToString((Clob)tableDdlList.get(0).get("CREATETABLE"));
} catch (SQLException e) { } catch (SQLException | IOException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
tableDdlVo.setOracle(SQLUtils.formatOracle(oracleSql)); tableDdlVo.setOracle(SQLUtils.formatOracle(oracleSql));

View File

@@ -36,7 +36,7 @@ import java.util.regex.Pattern;
*/ */
@Service @Service
public class BaseDownloadService implements DownloadService { public class BaseDownloadService implements DownloadService {
private static Logger logger = LoggerFactory.getLogger(BaseDownloadService.class); private static final Logger logger = LoggerFactory.getLogger(BaseDownloadService.class);
@Resource @Resource
SqlExecutor sqlExecutor; SqlExecutor sqlExecutor;
@@ -55,7 +55,7 @@ public class BaseDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
String dbTableName = String.format("`%s`.`%s`", param.getDbName(), param.getTableName()); String dbTableName = String.format("`%s`.`%s`", param.getDbName(), param.getTableName());
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
if (Objects.equals(param.getCreateTableFlag(), 1)) { if (Objects.equals(param.getCreateTableFlag(), 1)) {
@@ -109,7 +109,7 @@ public class BaseDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
String dbTableName = String.format("`%s`.`%s`", param.getDbName(), param.getTableName()); String dbTableName = String.format("`%s`.`%s`", param.getDbName(), param.getTableName());
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
Pattern pattern = Pattern.compile("\t|\r\n|\r|\n|\\s+"); Pattern pattern = Pattern.compile("\t|\r\n|\r|\n|\\s+");
@@ -157,7 +157,7 @@ public class BaseDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
resultSb.append("["); resultSb.append("[");
sqlExecutor.execute(executeParam, item -> { sqlExecutor.execute(executeParam, item -> {

View File

@@ -26,7 +26,7 @@ public interface DownloadService {
* @author 暮光:城中城 * @author 暮光:城中城
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception; String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet);
/** /**
* 导出数据为update语句格式 * 导出数据为update语句格式
@@ -34,7 +34,7 @@ public interface DownloadService {
* @author 暮光:城中城 * @author 暮光:城中城
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception; String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet);
/** /**
* 导出数据为json格式 * 导出数据为json格式
@@ -42,7 +42,7 @@ public interface DownloadService {
* @author 暮光:城中城 * @author 暮光:城中城
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception; String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet);
/** /**

View File

@@ -27,7 +27,7 @@ import java.util.regex.Pattern;
*/ */
@Service @Service
public class SqlserverDownloadService implements DownloadService { public class SqlserverDownloadService implements DownloadService {
private static Logger logger = LoggerFactory.getLogger(SqlserverDownloadService.class); private static final Logger logger = LoggerFactory.getLogger(SqlserverDownloadService.class);
@Resource @Resource
SqlExecutor sqlExecutor; SqlExecutor sqlExecutor;
@@ -46,7 +46,7 @@ public class SqlserverDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByInsert(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
String dbTableName = String.format("%s..%s", param.getDbName(), param.getTableName()); String dbTableName = String.format("%s..%s", param.getDbName(), param.getTableName());
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
if (Objects.equals(param.getCreateTableFlag(), 1)) { if (Objects.equals(param.getCreateTableFlag(), 1)) {
@@ -100,7 +100,7 @@ public class SqlserverDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByUpdate(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
String dbTableName = String.format("%s..%s", param.getDbName(), param.getTableName()); String dbTableName = String.format("%s..%s", param.getDbName(), param.getTableName());
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
Pattern pattern = Pattern.compile("\t|\r\n|\r|\n|\\s+"); Pattern pattern = Pattern.compile("\t|\r\n|\r|\n|\\s+");
@@ -148,7 +148,7 @@ public class SqlserverDownloadService implements DownloadService {
* @since 2020年6月5日 * @since 2020年6月5日
*/ */
@Override @Override
public String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) throws Exception { public String downloadDataByJson(DataViewParam param, ExecuteParam executeParam, List<TableColumnDescDto> dataCols, Set<String> conditionSet) {
StringBuilder resultSb = new StringBuilder(); StringBuilder resultSb = new StringBuilder();
resultSb.append("["); resultSb.append("[");
sqlExecutor.execute(executeParam, item -> { sqlExecutor.execute(executeParam, item -> {

View File

@@ -1,23 +1,15 @@
package com.zyplayer.doc.manage; package com.zyplayer.doc.manage;
import com.zyplayer.doc.core.util.ZyplayerDocVersion;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanNameGenerator;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import java.net.InetAddress;
import java.util.Optional;
/** /**
* 程序启动器 * 程序启动器
* *
@@ -34,14 +26,14 @@ import java.util.Optional;
}) })
public class Application extends SpringBootServletInitializer { public class Application extends SpringBootServletInitializer {
private static Logger logger = LoggerFactory.getLogger(Application.class); private static final Logger logger = LoggerFactory.getLogger(Application.class);
@Override @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class); return application.sources(Application.class);
} }
public static void main(String[] args) throws Exception { public static void main(String[] args) {
ConfigurableApplicationContext application = SpringApplication.run(Application.class, args); ConfigurableApplicationContext application = SpringApplication.run(Application.class, args);
} }
} }

View File

@@ -3,15 +3,9 @@ package com.zyplayer.doc.manage.framework.config;
import com.zyplayer.doc.api.framework.config.EnableDocApi; import com.zyplayer.doc.api.framework.config.EnableDocApi;
import com.zyplayer.doc.db.framework.configuration.EnableDocDb; import com.zyplayer.doc.db.framework.configuration.EnableDocDb;
import com.zyplayer.doc.wiki.framework.config.EnableDocWiki; import com.zyplayer.doc.wiki.framework.config.EnableDocWiki;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
/** /**
* 按需开启zyplayer-doc所有的服务 * 按需开启zyplayer-doc所有的服务
* *
@@ -25,18 +19,18 @@ public class ZyplayerDocConfig {
@EnableDocWiki @EnableDocWiki
//wiki模块加载注解条件化配合配置文件决定是否加载 //wiki模块加载注解条件化配合配置文件决定是否加载
@ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "wiki", matchIfMissing = true) @ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "wiki", matchIfMissing = true)
public class enableWiki { public static class enableWiki {
} }
@EnableDocDb @EnableDocDb
//db模块加载注解条件化配合配置文件决定是否加载 //db模块加载注解条件化配合配置文件决定是否加载
@ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "db", matchIfMissing = true) @ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "db", matchIfMissing = true)
public class enableDb { public static class enableDb {
} }
@EnableDocApi @EnableDocApi
//api模块加载注解条件化配合配置文件决定是否加载 //api模块加载注解条件化配合配置文件决定是否加载
@ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "api", matchIfMissing = true) @ConditionalOnProperty(prefix = "zyplayer.doc.manage.enable", name = "api", matchIfMissing = true)
public class enableApi { public static class enableApi {
} }
} }

View File

@@ -16,7 +16,7 @@ import java.util.HashMap;
*/ */
@Configuration @Configuration
public class ZyplayerModuleKeeper implements ApplicationContextAware { public class ZyplayerModuleKeeper implements ApplicationContextAware {
HashMap<String, Boolean> moduleInfo = new HashMap<>(); final HashMap<String, Boolean> moduleInfo = new HashMap<>();
private ApplicationContext applicationContext; private ApplicationContext applicationContext;
@Override @Override
@@ -26,7 +26,7 @@ public class ZyplayerModuleKeeper implements ApplicationContextAware {
//获取模块是否启动 //获取模块是否启动
public boolean ismoduleStarted(Class<?> clazz) { public boolean ismoduleStarted(Class<?> clazz) {
if (moduleInfo.size() < 1) { if (moduleInfo.isEmpty()) {
getmoduleInfo(); getmoduleInfo();
} }
return moduleInfo.get(clazz.getName().split("\\$")[1]); return moduleInfo.get(clazz.getName().split("\\$")[1]);
@@ -34,7 +34,7 @@ public class ZyplayerModuleKeeper implements ApplicationContextAware {
//提供模块开启状态数组,给前端控制页面展示 //提供模块开启状态数组,给前端控制页面展示
public HashMap<String, Boolean> getmoduleInfo() { public HashMap<String, Boolean> getmoduleInfo() {
if (moduleInfo.size() < 1) { if (moduleInfo.isEmpty()) {
synchronized (ZyplayerModuleKeeper.class) { synchronized (ZyplayerModuleKeeper.class) {
Class<? extends ZyplayerDocConfig> clazz = ZyplayerDocConfig.class; Class<? extends ZyplayerDocConfig> clazz = ZyplayerDocConfig.class;
Class<?>[] innerClasses = clazz.getClasses(); Class<?>[] innerClasses = clazz.getClasses();
@@ -54,6 +54,6 @@ public class ZyplayerModuleKeeper implements ApplicationContextAware {
} catch (BeansException e) { } catch (BeansException e) {
return false; return false;
} }
return null != bean; return true;
} }
} }

View File

@@ -23,7 +23,7 @@ public class ApplicationInfoConsolePrint implements IConsolePrint {
public void buildPrintInfo(StringBuilder printInfo) throws Exception { public void buildPrintInfo(StringBuilder printInfo) throws Exception {
String contextPath = environment.getProperty("server.servlet.context-path"); String contextPath = environment.getProperty("server.servlet.context-path");
contextPath = Optional.ofNullable(contextPath).orElse("").replaceFirst("/", ""); contextPath = Optional.ofNullable(contextPath).orElse("").replaceFirst("/", "");
contextPath = (contextPath.length() <= 0 || contextPath.endsWith("/")) ? contextPath : contextPath + "/"; contextPath = (contextPath.isEmpty() || contextPath.endsWith("/")) ? contextPath : contextPath + "/";
String hostAddress = InetAddress.getLocalHost().getHostAddress(); String hostAddress = InetAddress.getLocalHost().getHostAddress();
String serverPort = environment.getProperty("server.port"); String serverPort = environment.getProperty("server.port");
String urlCtx = hostAddress + ":" + serverPort + "/" + contextPath; String urlCtx = hostAddress + ":" + serverPort + "/" + contextPath;

View File

@@ -1,9 +1,6 @@
package com.zyplayer.doc.manage.framework.console; package com.zyplayer.doc.manage.framework.console;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import java.net.UnknownHostException;
/** /**
* 启动后打印信息接口 * 启动后打印信息接口
@@ -12,5 +9,5 @@ import java.net.UnknownHostException;
* @since 2023年6月16日 * @since 2023年6月16日
*/ */
public interface IConsolePrint extends Ordered { public interface IConsolePrint extends Ordered {
public void buildPrintInfo(StringBuilder printInfo) throws Exception; void buildPrintInfo(StringBuilder printInfo) throws Exception;
} }

View File

@@ -19,7 +19,7 @@ public class ModuleInfoConsolePrint implements IConsolePrint {
ZyplayerModuleKeeper moduleKeeper; ZyplayerModuleKeeper moduleKeeper;
@Override @Override
public void buildPrintInfo(StringBuilder printInfo) throws Exception { public void buildPrintInfo(StringBuilder printInfo) {
printInfo.append("\n\n\t\t\t\t↓zyplayer-doc模块的启动情况\n") printInfo.append("\n\n\t\t\t\t↓zyplayer-doc模块的启动情况\n")
.append("\t\t\t\t------------------------\n"); .append("\t\t\t\t------------------------\n");
HashMap<String, Boolean> moduleInfoMap = moduleKeeper.getmoduleInfo(); HashMap<String, Boolean> moduleInfoMap = moduleKeeper.getmoduleInfo();

View File

@@ -25,7 +25,7 @@ import java.util.stream.Collectors;
public class ZyplayerConsolePrint implements CommandLineRunner { public class ZyplayerConsolePrint implements CommandLineRunner {
private static final Logger logger = LoggerFactory.getLogger(ZyplayerConsolePrint.class); private static final Logger logger = LoggerFactory.getLogger(ZyplayerConsolePrint.class);
StringBuilder logInfoHolder = new StringBuilder(); final StringBuilder logInfoHolder = new StringBuilder();
@Resource @Resource
ObjectProvider<List<IConsolePrint>> consolePrintListProvider; ObjectProvider<List<IConsolePrint>> consolePrintListProvider;

View File

@@ -8,7 +8,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;

View File

@@ -23,7 +23,7 @@ import java.util.Properties;
*/ */
@Component @Component
public class SchedulerTask { public class SchedulerTask {
private static Logger logger = LoggerFactory.getLogger(SchedulerTask.class); private static final Logger logger = LoggerFactory.getLogger(SchedulerTask.class);
@Value("${zyplayer.doc.manage.upgradePropertiesUrl:}") @Value("${zyplayer.doc.manage.upgradePropertiesUrl:}")
private String upgradePropertiesUrl; private String upgradePropertiesUrl;

View File

@@ -32,7 +32,7 @@ import java.util.Objects;
*/ */
@RestController @RestController
public class LoginController { public class LoginController {
private static Logger logger = LoggerFactory.getLogger(LoginController.class); private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
@Resource @Resource
private UserInfoService userInfoService; private UserInfoService userInfoService;

View File

@@ -2,7 +2,6 @@ package com.zyplayer.doc.manage.web;
import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.manage.framework.config.ZyplayerDocConfig;
import com.zyplayer.doc.manage.framework.config.ZyplayerModuleKeeper; import com.zyplayer.doc.manage.framework.config.ZyplayerModuleKeeper;
import com.zyplayer.doc.manage.framework.upgrade.UpgradeUtil; import com.zyplayer.doc.manage.framework.upgrade.UpgradeUtil;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;

View File

@@ -11,7 +11,6 @@ import com.zyplayer.doc.data.repository.manage.entity.UserAuth;
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst; import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
import com.zyplayer.doc.data.service.manage.AuthInfoService; import com.zyplayer.doc.data.service.manage.AuthInfoService;
import com.zyplayer.doc.data.service.manage.UserAuthService; import com.zyplayer.doc.data.service.manage.UserAuthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

View File

@@ -119,7 +119,7 @@ public class UserInfoController {
if (StringUtils.isBlank(userInfo.getUserName())) { if (StringUtils.isBlank(userInfo.getUserName())) {
return DocResponseJson.warn("用户名必填"); return DocResponseJson.warn("用户名必填");
} }
Long userId = Optional.ofNullable(userInfo.getId()).orElse(0L); long userId = Optional.ofNullable(userInfo.getId()).orElse(0L);
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_no", userInfo.getUserNo()); queryWrapper.eq("user_no", userInfo.getUserNo());
queryWrapper.ne(userId > 0, "id", userInfo.getId()); queryWrapper.ne(userId > 0, "id", userInfo.getId());

View File

@@ -9,7 +9,7 @@ import java.util.LinkedList;
* @since 20230713 * @since 20230713
*/ */
public class DocEntry { public class DocEntry {
LinkedList<MediaEntry> medias = new LinkedList<>(); final LinkedList<MediaEntry> medias = new LinkedList<>();
String context = ""; String context = "";
String name = ""; String name = "";

View File

@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
*/ */
@Component @Component
public class ConditionalStrategySelector { public class ConditionalStrategySelector {
Map<Class<?>,ConditionalStrategySeletorUnit> cache = new HashMap<>(); final Map<Class<?>,ConditionalStrategySeletorUnit> cache = new HashMap<>();
/** /**
* 注册所有策略 * 注册所有策略
@@ -44,17 +44,14 @@ public class ConditionalStrategySelector {
return null; return null;
} }
T strategy = (T) conditionalStrategySeletorUnit.getStrategy(condition); T strategy = (T) conditionalStrategySeletorUnit.getStrategy(condition);
if (null == strategy) {
return null;
}
return strategy; return strategy;
} }
class ConditionalStrategySeletorUnit<T extends IConditionalStrategy> { static class ConditionalStrategySeletorUnit<T extends IConditionalStrategy> {
List<T> strategys; final List<T> strategys;
//策略集体实现到二层缓存 //策略集体实现到二层缓存
ConcurrentHashMap<String, T> cache = new ConcurrentHashMap<>(); final ConcurrentHashMap<String, T> cache = new ConcurrentHashMap<>();
public ConditionalStrategySeletorUnit(List<T> strategys) { public ConditionalStrategySeletorUnit(List<T> strategys) {
this.strategys = strategys; this.strategys = strategys;

View File

@@ -8,9 +8,9 @@ package com.zyplayer.doc.wiki.batch.strategy.base;
* @since 20230713 * @since 20230713
*/ */
public interface IConditionalStrategy { public interface IConditionalStrategy {
public String getCondition(); String getCondition();
public default boolean matchCondition(String key){ default boolean matchCondition(String key){
return key.equals(getCondition()); return key.equals(getCondition());
} }
} }

View File

@@ -14,6 +14,6 @@ import java.util.ArrayList;
* @since 20230717 * @since 20230717
*/ */
public interface ICombDependencyStrategy extends IConditionalStrategy { public interface ICombDependencyStrategy extends IConditionalStrategy {
public void comb(ArrayList<DocEntry> docs, File file); void comb(ArrayList<DocEntry> docs, File file);
} }

View File

@@ -25,9 +25,9 @@ public class MDCombDependencyStrategy implements ICombDependencyStrategy {
docEntry.setName(FileUtil.getName(file)); docEntry.setName(FileUtil.getName(file));
String info = FileUtil.readUtf8String(file); String info = FileUtil.readUtf8String(file);
docEntry.setContext(info); docEntry.setContext(info);
while (info.indexOf(LEFT_TAG) >= 0 && info.indexOf(RIGHT_TAG) >= 0) { while (info.contains(LEFT_TAG) && info.contains(RIGHT_TAG)) {
String window = info; String window = info;
while(window.indexOf(LEFT_TAG)>=0){ while(window.contains(LEFT_TAG)){
int leftOffset = window.indexOf(LEFT_TAG)+2; int leftOffset = window.indexOf(LEFT_TAG)+2;
window= window.substring(leftOffset); window= window.substring(leftOffset);
int rightOffset = window.indexOf(")")+1; int rightOffset = window.indexOf(")")+1;

View File

@@ -4,7 +4,6 @@ import cn.hutool.core.io.IoUtil;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage; import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageFile; import com.zyplayer.doc.data.repository.manage.entity.WikiPageFile;
import com.zyplayer.doc.data.service.manage.WikiPageService; import com.zyplayer.doc.data.service.manage.WikiPageService;
import com.zyplayer.doc.wiki.service.WikiPageFileServiceEx;
import com.zyplayer.doc.wiki.service.WikiPageUploadService; import com.zyplayer.doc.wiki.service.WikiPageUploadService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.codec.Charsets; import org.apache.commons.codec.Charsets;

View File

@@ -33,6 +33,7 @@ import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.file.Files;
import java.util.Optional; import java.util.Optional;
/** /**
@@ -104,7 +105,7 @@ public class WikiCommonController {
response.setHeader("Content-disposition", "inline;filename=" + URLEncoder.encode(fileName, "UTF-8")); response.setHeader("Content-disposition", "inline;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// response.setHeader("Content-disposition", "inline;filename=" + fileName); // response.setHeader("Content-disposition", "inline;filename=" + fileName);
// response.setHeader("Content-Disposition", "inline; fileName=" + fileName + ";filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8")); // response.setHeader("Content-Disposition", "inline; fileName=" + fileName + ";filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8"));
InputStream inputStream = new FileInputStream(file); InputStream inputStream = Files.newInputStream(file.toPath());
OutputStream os = response.getOutputStream(); OutputStream os = response.getOutputStream();
byte[] b = new byte[2048]; byte[] b = new byte[2048];
int length; int length;

View File

@@ -141,7 +141,7 @@ public class WikiOpenApiController {
pageFile.setFileUrl("zyplayer-doc-wiki/common/file?uuid=" + pageFile.getUuid()); pageFile.setFileUrl("zyplayer-doc-wiki/common/file?uuid=" + pageFile.getUuid());
} }
// 高并发下会有覆盖问题,但不重要~ // 高并发下会有覆盖问题,但不重要~
Integer viewNum = Optional.ofNullable(wikiPageSel.getViewNum()).orElse(0); int viewNum = Optional.ofNullable(wikiPageSel.getViewNum()).orElse(0);
WikiPage wikiPageUp = new WikiPage(); WikiPage wikiPageUp = new WikiPage();
wikiPageUp.setId(wikiPageSel.getId()); wikiPageUp.setId(wikiPageSel.getId());
wikiPageUp.setViewNum(viewNum + 1); wikiPageUp.setViewNum(viewNum + 1);

View File

@@ -114,7 +114,7 @@ public class WikiPageAuthController {
UserAuth userAuth = this.createUserAuth(pageId, currentUser.getUserId(), authVo.getUserId(), authId); UserAuth userAuth = this.createUserAuth(pageId, currentUser.getUserId(), authVo.getUserId(), authId);
userAuthList.add(userAuth); userAuthList.add(userAuth);
} }
if (userAuthList.size() <= 0) { if (userAuthList.isEmpty()) {
continue; continue;
} }
// 保存权限,重新登录后可用,后期可以考虑在这里直接修改缓存里的用户权限 // 保存权限,重新登录后可用,后期可以考虑在这里直接修改缓存里的用户权限

View File

@@ -146,7 +146,7 @@ public class WikiPageController {
vo.setCanUploadFile((canUploadFile == null) ? 1 : 0); vo.setCanUploadFile((canUploadFile == null) ? 1 : 0);
vo.setCanConfigAuth((canConfigAuth == null) ? 1 : 0); vo.setCanConfigAuth((canConfigAuth == null) ? 1 : 0);
// 高并发下会有覆盖问题,但不重要~ // 高并发下会有覆盖问题,但不重要~
Integer viewNum = Optional.ofNullable(wikiPageSel.getViewNum()).orElse(0); int viewNum = Optional.ofNullable(wikiPageSel.getViewNum()).orElse(0);
WikiPage wikiPageUp = new WikiPage(); WikiPage wikiPageUp = new WikiPage();
wikiPageUp.setId(wikiPageSel.getId()); wikiPageUp.setId(wikiPageSel.getId());
wikiPageUp.setViewNum(viewNum + 1); wikiPageUp.setViewNum(viewNum + 1);
@@ -216,7 +216,7 @@ public class WikiPageController {
public boolean isLassoDoll(WikiPage wikiPage, Long moveToPageId) { public boolean isLassoDoll(WikiPage wikiPage, Long moveToPageId) {
if (0L != moveToPageId) { if (0L != moveToPageId) {
if (wikiPage.getId() == moveToPageId) { if (wikiPage.getId().equals(moveToPageId)) {
return true; return true;
} }
UpdateWrapper<WikiPage> wrapper = new UpdateWrapper<>(); UpdateWrapper<WikiPage> wrapper = new UpdateWrapper<>();

View File

@@ -2,7 +2,6 @@ package com.zyplayer.doc.wiki.controller;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zyplayer.doc.core.annotation.AuthMan; import com.zyplayer.doc.core.annotation.AuthMan;

View File

@@ -4,48 +4,23 @@ import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.core.annotation.AuthMan; import com.zyplayer.doc.core.annotation.AuthMan;
import com.zyplayer.doc.core.exception.ConfirmException;
import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil; import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.*; import com.zyplayer.doc.data.repository.manage.entity.*;
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageContentMapper;
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper;
import com.zyplayer.doc.data.repository.manage.param.SearchByEsParam;
import com.zyplayer.doc.data.repository.manage.vo.SpaceNewsVo;
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo; import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo; import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
import com.zyplayer.doc.data.repository.support.consts.DocSysType;
import com.zyplayer.doc.data.repository.support.consts.UserMsgType;
import com.zyplayer.doc.data.service.manage.*; import com.zyplayer.doc.data.service.manage.*;
import com.zyplayer.doc.data.utils.CachePrefix;
import com.zyplayer.doc.data.utils.CacheUtil;
import com.zyplayer.doc.wiki.controller.vo.WikiPageContentVo;
import com.zyplayer.doc.wiki.controller.vo.WikiPageVo;
import com.zyplayer.doc.wiki.framework.consts.SpaceType;
import com.zyplayer.doc.wiki.service.WikiPageUploadService; import com.zyplayer.doc.wiki.service.WikiPageUploadService;
import com.zyplayer.doc.wiki.service.common.WikiPageAuthService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.docx4j.XmlUtils;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.AltChunkType;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@@ -74,7 +49,7 @@ public class WikiPageTemplateController {
WikiPageTemplate exist = wikiPageTemplateService.getWikiPageTemplateBySpaceAndPage(wikiPageTemplate.getSpaceId(), wikiPageTemplate.getPageId()); WikiPageTemplate exist = wikiPageTemplateService.getWikiPageTemplateBySpaceAndPage(wikiPageTemplate.getSpaceId(), wikiPageTemplate.getPageId());
if (null == exist) { if (null == exist) {
DocUserDetails currentUser = DocUserUtil.getCurrentUser(); DocUserDetails currentUser = DocUserUtil.getCurrentUser();
if (wikiPageTemplate.getTagName().equals("")) { if (wikiPageTemplate.getTagName().isEmpty()) {
wikiPageTemplate.setTagName("无标签"); wikiPageTemplate.setTagName("无标签");
} }
wikiPageTemplate.setCreated(new Date()); wikiPageTemplate.setCreated(new Date());
@@ -107,7 +82,7 @@ public class WikiPageTemplateController {
tagList.add(param.getValue()[0]); tagList.add(param.getValue()[0]);
} }
}); });
if (tagList.size() < 1) { if (tagList.isEmpty()) {
tagList.add(""); tagList.add("");
} }
List<WikiPageTemplateInfoVo> wikiPageTemplateInfoVos = wikiPageTemplateService.filterAll(currentUser.getUserId(), name, open, tagList, pageNum); List<WikiPageTemplateInfoVo> wikiPageTemplateInfoVos = wikiPageTemplateService.filterAll(currentUser.getUserId(), name, open, tagList, pageNum);

View File

@@ -1,7 +1,6 @@
package com.zyplayer.doc.wiki.controller; package com.zyplayer.doc.wiki.controller;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -28,7 +27,6 @@ import com.zyplayer.doc.wiki.framework.consts.WikiAuthType;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@@ -192,7 +190,7 @@ public class WikiSpaceController {
this.createUserAuth(userAuthList, authVo.getPageFileUpload(), spaceId, WikiAuthType.PAGE_FILE_UPLOAD, authVo.getGroupId()); this.createUserAuth(userAuthList, authVo.getPageFileUpload(), spaceId, WikiAuthType.PAGE_FILE_UPLOAD, authVo.getGroupId());
this.createUserAuth(userAuthList, authVo.getPageFileDelete(), spaceId, WikiAuthType.PAGE_FILE_DELETE, authVo.getGroupId()); this.createUserAuth(userAuthList, authVo.getPageFileDelete(), spaceId, WikiAuthType.PAGE_FILE_DELETE, authVo.getGroupId());
this.createUserAuth(userAuthList, authVo.getPageAuthManage(), spaceId, WikiAuthType.PAGE_AUTH_MANAGE, authVo.getGroupId()); this.createUserAuth(userAuthList, authVo.getPageAuthManage(), spaceId, WikiAuthType.PAGE_AUTH_MANAGE, authVo.getGroupId());
if (userAuthList.size() > 0) { if (!userAuthList.isEmpty()) {
userGroupAuthService.saveBatch(userAuthList); userGroupAuthService.saveBatch(userAuthList);
} }
} }

View File

@@ -16,7 +16,7 @@ import javax.annotation.PostConstruct;
*/ */
@Component @Component
public class CheckWikiFileSavePath { public class CheckWikiFileSavePath {
private static Logger logger = LoggerFactory.getLogger(CheckWikiFileSavePath.class); private static final Logger logger = LoggerFactory.getLogger(CheckWikiFileSavePath.class);
@Value("${zyplayer.doc.wiki.upload-path:}") @Value("${zyplayer.doc.wiki.upload-path:}")
private String uploadPath; private String uploadPath;

View File

@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.core.json.DocResponseJson; import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil; import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.UserMessage; import com.zyplayer.doc.data.repository.manage.entity.UserMessage;

View File

@@ -2,14 +2,12 @@ package com.zyplayer.doc.wiki.service;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.core.exception.ConfirmException; import com.zyplayer.doc.core.exception.ConfirmException;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails; import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil; import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.UserMessage; import com.zyplayer.doc.data.repository.manage.entity.UserMessage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPage; import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageContent; import com.zyplayer.doc.data.repository.manage.entity.WikiPageContent;
import com.zyplayer.doc.data.repository.manage.entity.WikiSpace; import com.zyplayer.doc.data.repository.manage.entity.WikiSpace;
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageContentMapper;
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper; import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper;
import com.zyplayer.doc.data.repository.support.consts.DocSysType; import com.zyplayer.doc.data.repository.support.consts.DocSysType;
import com.zyplayer.doc.data.repository.support.consts.UserMsgType; import com.zyplayer.doc.data.repository.support.consts.UserMsgType;