review code.

This commit is contained in:
lijiahang
2023-09-11 18:19:20 +08:00
parent 23d9063ea4
commit 3b74520c38
18 changed files with 120 additions and 87 deletions

View File

@@ -60,9 +60,9 @@ public class DataQuery<T> {
return this;
}
public DataQuery<T> only() {
public T getOne() {
wrapper.last(Const.LIMIT_1);
return this;
return dao.selectOne(wrapper);
}
public T get() {

View File

@@ -38,7 +38,7 @@ public class TransmittableThreadLocalSecurityContextHolderStrategy implements Se
@Override
public void setContext(SecurityContext context) {
Valid.notNull(context, "Only non-null SecurityContext instances are permitted");
Valid.notNull(context, "only non-null SecurityContext instances are permitted");
CONTEXT_HOLDER.set(context);
}

View File

@@ -38,13 +38,16 @@ public class CodeGenerator {
// 作者
String author = Const.ORION_AUTHOR;
// 模块
String module = "infra";
String module = "asset";
// 生成的表
GenTable[] tables = {
// new GenTable("system_user", "用户", "user")
// .vue("user", "user")
// .enums(UserStatusEnum.class),
new GenTable("tag_rel", "标签引用", "tag").ignoreTest(),
new GenTable("host", "主机", "host")
.vue("asset", "host")
.ignoreTest(),
new GenTable("host_config", "主机配置", "host").ignoreTest(),
};
// jdbc 配置 - 使用配置文件
File yamlFile = new File("orion-ops-launch/src/main/resources/application-dev.yaml");

View File

@@ -44,7 +44,6 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
log.info("${type}Service-create${type} request: {}", JSON.toJSONString(request));
// 转换
${type}DO record = ${type}Convert.MAPPER.to(request);
record.setId(null);
// 查询数据是否冲突
this.check${type}Present(record);
// 插入
@@ -108,9 +107,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询
return ${typeLower}DAO.of()
.wrapper(wrapper)
.list(${type}Convert.MAPPER::to);
return ${typeLower}DAO.of(wrapper).list(${type}Convert.MAPPER::to);
}
@Override
@@ -126,8 +123,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询
return ${typeLower}DAO.of()
.wrapper(wrapper)
return ${typeLower}DAO.of(wrapper)
.page(request)
.dataGrid(${type}Convert.MAPPER::to);
}
@@ -165,9 +161,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询
List<${type}Export> rows = ${typeLower}DAO.of()
.wrapper(wrapper)
.list(${type}Convert.MAPPER::toExport);
List<${type}Export> rows = ${typeLower}DAO.of(wrapper).list(${type}Convert.MAPPER::toExport);
log.info("${type}Service.export${type} size: {}", rows.size());
// 导出
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -196,7 +190,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
#end
#end
// 检查是否存在
boolean present = ${typeLower}DAO.of().wrapper(wrapper).present();
boolean present = ${typeLower}DAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.DATA_PRESENT);
}

View File

@@ -106,9 +106,7 @@ public class ${type}ApiImpl implements ${type}Api {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(dto);
// 查询
return ${typeLower}DAO.of()
.wrapper(wrapper)
.list(${type}ProviderConvert.MAPPER::to);
return ${typeLower}DAO.of(wrapper).list(${type}ProviderConvert.MAPPER::to);
}
@Override

View File

@@ -37,27 +37,29 @@ public interface FavoriteApi {
*
* @param userId userId
*/
void deleteFavoriteByUserId(Long userId);
void deleteByUserId(Long userId);
/**
* 通过 userId 删除收藏
*
* @param userIdList userId
*/
void deleteFavoriteByUserIdList(List<Long> userIdList);
void deleteByUserIdList(List<Long> userIdList);
/**
* 通过 relId 删除收藏
*
* @param type type
* @param relId relId
*/
void deleteFavoriteByRelId(Long relId);
void deleteByRelId(FavoriteTypeEnum type, Long relId);
/**
* 通过 relId 删除收藏
*
* @param type type
* @param relIdList relIdList
*/
void deleteFavoriteByRelIdList(List<Long> relIdList);
void deleteByRelIdList(FavoriteTypeEnum type, List<Long> relIdList);
}

View File

@@ -1,6 +1,7 @@
package com.orion.ops.module.infra.api;
import com.orion.ops.module.infra.entity.dto.tag.TagDTO;
import com.orion.ops.module.infra.enums.TagTypeEnum;
import java.util.List;
import java.util.concurrent.Future;
@@ -15,13 +16,22 @@ import java.util.concurrent.Future;
public interface TagRelApi {
/**
* 创建标签引用
* 创建标签引用 只新增
*
* @param type type
* @param relId relId
* @param tagIdList tagIdList
*/
void addTagRel(String type, Long relId, List<Long> tagIdList);
void addTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList);
/**
* 设置标签引用 先删除后新增
*
* @param type type
* @param relId relId
* @param tagIdList tagIdList
*/
void setTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList);
/**
* 获取引用 tag
@@ -30,7 +40,7 @@ public interface TagRelApi {
* @param relId relId
* @return tag
*/
Future<List<TagDTO>> getRelTags(String type, Long relId);
Future<List<TagDTO>> getRelTags(TagTypeEnum type, Long relId);
/**
* 获取引用 tag
@@ -39,24 +49,22 @@ public interface TagRelApi {
* @param relIdList relIdList
* @return tag
*/
Future<List<List<TagDTO>>> getRelTags(String type, List<Long> relIdList);
Future<List<List<TagDTO>>> getRelTags(TagTypeEnum type, List<Long> relIdList);
/**
* 通过 relId 删除
*
* @param type type
* @param relId relId
* @return effect
*/
Integer deleteRelId(String type, Long relId);
void deleteRelId(TagTypeEnum type, Long relId);
/**
* 通过 relIdList 删除
*
* @param type type
* @param relIdList relIdList
* @return effect
*/
Integer deleteRelIdList(String type, List<Long> relIdList);
void deleteRelIdList(TagTypeEnum type, List<Long> relIdList);
}

View File

@@ -0,0 +1,19 @@
package com.orion.ops.module.infra.enums;
/**
* 收藏类型 枚举
*
* @author Jiahang Li
* @version 1.0.0
* @since 2023/8/25 10:53
*/
public enum TagTypeEnum {
/**
* 主机
*/
HOST,
;
}

View File

@@ -51,23 +51,27 @@ public class FavoriteApiImpl implements FavoriteApi {
}
@Override
public void deleteFavoriteByUserId(Long userId) {
@Async("asyncExecutor")
public void deleteByUserId(Long userId) {
favoriteService.deleteFavoriteByUserId(userId);
}
@Override
public void deleteFavoriteByUserIdList(List<Long> userIdList) {
@Async("asyncExecutor")
public void deleteByUserIdList(List<Long> userIdList) {
favoriteService.deleteFavoriteByUserIdList(userIdList);
}
@Override
public void deleteFavoriteByRelId(Long relId) {
favoriteService.deleteFavoriteByRelId(relId);
@Async("asyncExecutor")
public void deleteByRelId(FavoriteTypeEnum type, Long relId) {
favoriteService.deleteFavoriteByRelId(type.name(), relId);
}
@Override
public void deleteFavoriteByRelIdList(List<Long> relIdList) {
favoriteService.deleteFavoriteByRelIdList(relIdList);
@Async("asyncExecutor")
public void deleteByRelIdList(FavoriteTypeEnum type, List<Long> relIdList) {
favoriteService.deleteFavoriteByRelIdList(type.name(), relIdList);
}
}

View File

@@ -4,6 +4,7 @@ import com.orion.ops.module.infra.api.TagRelApi;
import com.orion.ops.module.infra.convert.TagProviderConvert;
import com.orion.ops.module.infra.entity.dto.TagCacheDTO;
import com.orion.ops.module.infra.entity.dto.tag.TagDTO;
import com.orion.ops.module.infra.enums.TagTypeEnum;
import com.orion.ops.module.infra.service.TagRelService;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -29,21 +30,27 @@ public class TagRelApiImpl implements TagRelApi {
@Override
@Async("asyncExecutor")
public void addTagRel(String type, Long relId, List<Long> tagIdList) {
tagRelService.addTagRel(type, relId, tagIdList);
public void addTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList) {
tagRelService.addTagRel(type.name(), relId, tagIdList);
}
@Override
@Async("asyncExecutor")
public Future<List<TagDTO>> getRelTags(String type, Long relId) {
List<TagCacheDTO> values = tagRelService.getRelTags(type, relId);
public void setTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList) {
tagRelService.setTagRel(type.name(), relId, tagIdList);
}
@Override
@Async("asyncExecutor")
public Future<List<TagDTO>> getRelTags(TagTypeEnum type, Long relId) {
List<TagCacheDTO> values = tagRelService.getRelTags(type.name(), relId);
return CompletableFuture.completedFuture(TagProviderConvert.MAPPER.toList(values));
}
@Override
@Async("asyncExecutor")
public Future<List<List<TagDTO>>> getRelTags(String type, List<Long> relIdList) {
List<List<TagDTO>> values = tagRelService.getRelTags(type, relIdList)
public Future<List<List<TagDTO>>> getRelTags(TagTypeEnum type, List<Long> relIdList) {
List<List<TagDTO>> values = tagRelService.getRelTags(type.name(), relIdList)
.stream()
.map(TagProviderConvert.MAPPER::toList)
.collect(Collectors.toList());
@@ -51,13 +58,15 @@ public class TagRelApiImpl implements TagRelApi {
}
@Override
public Integer deleteRelId(String type, Long relId) {
return tagRelService.deleteRelId(type, relId);
@Async("asyncExecutor")
public void deleteRelId(TagTypeEnum type, Long relId) {
tagRelService.deleteRelId(type.name(), relId);
}
@Override
public Integer deleteRelIdList(String type, List<Long> relIdList) {
return tagRelService.deleteRelIdList(type, relIdList);
@Async("asyncExecutor")
public void deleteRelIdList(TagTypeEnum type, List<Long> relIdList) {
tagRelService.deleteRelIdList(type.name(), relIdList);
}
}

View File

@@ -56,23 +56,17 @@ public interface FavoriteService {
/**
* 通过 relId 删除收藏
*
* @param type type
* @param relId relId
*/
void deleteFavoriteByRelId(Long relId);
void deleteFavoriteByRelId(String type, Long relId);
/**
* 通过 relId 删除收藏
*
* @param type type
* @param relIdList relIdList
*/
void deleteFavoriteByRelIdList(List<Long> relIdList);
/**
* 删除收藏
*
* @param request request
* @return effect
*/
Integer deleteFavorite(FavoriteQueryRequest request);
void deleteFavoriteByRelIdList(String type, List<Long> relIdList);
}

View File

@@ -22,6 +22,15 @@ public interface TagRelService {
*/
void addTagRel(String type, Long relId, List<Long> tagIdList);
/**
* 设置标签引用
*
* @param type type
* @param relId relId
* @param tagIdList tagIdList
*/
void setTagRel(String type, Long relId, List<Long> tagIdList);
/**
* 获取引用 tag
*

View File

@@ -69,7 +69,7 @@ public class AuthenticationServiceImpl implements AuthenticationService {
// 获取登陆用户
LambdaQueryWrapper<SystemUserDO> wrapper = systemUserDAO.wrapper()
.eq(SystemUserDO::getUsername, request.getUsername());
SystemUserDO user = systemUserDAO.of(wrapper).only().get();
SystemUserDO user = systemUserDAO.of(wrapper).getOne();
// 检查密码
boolean passwordCorrect = this.checkPassword(request, user);
Valid.isTrue(passwordCorrect, ErrorMessage.USERNAME_PASSWORD_ERROR);

View File

@@ -45,7 +45,6 @@ public class FavoriteServiceImpl implements FavoriteService {
public Long addFavorite(FavoriteCreateRequest request) {
// 转换
FavoriteDO record = FavoriteConvert.MAPPER.to(request);
record.setId(null);
// 插入
int effect = favoriteDAO.insert(record);
log.info("FavoriteService-addFavorite effect: {}, record: {}", effect, JSON.toJSONString(record));
@@ -62,9 +61,7 @@ public class FavoriteServiceImpl implements FavoriteService {
// 条件
LambdaQueryWrapper<FavoriteDO> wrapper = this.buildQueryWrapper(request);
// 查询
return favoriteDAO.of()
.wrapper(wrapper)
.list(FavoriteConvert.MAPPER::to);
return favoriteDAO.of(wrapper).list(FavoriteConvert.MAPPER::to);
}
@Override
@@ -78,8 +75,7 @@ public class FavoriteServiceImpl implements FavoriteService {
// 条件
LambdaQueryWrapper<FavoriteDO> wrapper = this.buildQueryWrapper(request);
// 查询数据库
cacheRelIdList = favoriteDAO.of()
.wrapper(wrapper)
cacheRelIdList = favoriteDAO.of(wrapper)
.stream()
.map(FavoriteDO::getRelId)
.distinct()
@@ -134,35 +130,29 @@ public class FavoriteServiceImpl implements FavoriteService {
}
@Override
public void deleteFavoriteByRelId(Long relId) {
public void deleteFavoriteByRelId(String type, Long relId) {
if (relId == null) {
return;
}
FavoriteQueryRequest request = new FavoriteQueryRequest();
request.setType(type);
request.setRelId(relId);
// 只删除数据库 redis 等自动失效
favoriteDAO.delete(this.buildQueryWrapper(request));
}
@Override
public void deleteFavoriteByRelIdList(List<Long> relIdList) {
public void deleteFavoriteByRelIdList(String type, List<Long> relIdList) {
if (Lists.isEmpty(relIdList)) {
return;
}
FavoriteQueryRequest request = new FavoriteQueryRequest();
request.setType(type);
request.setRelIdList(relIdList);
// 只删除数据库 redis 等自动失效
favoriteDAO.delete(this.buildQueryWrapper(request));
}
@Override
public Integer deleteFavorite(FavoriteQueryRequest request) {
// 条件
LambdaQueryWrapper<FavoriteDO> wrapper = this.buildQueryWrapper(request);
// 删除
return favoriteDAO.delete(wrapper);
}
/**
* 构建查询 wrapper
*

View File

@@ -58,7 +58,6 @@ public class SystemRoleServiceImpl implements SystemRoleService {
public Long createSystemRole(SystemRoleCreateRequest request) {
// 转换
SystemRoleDO record = SystemRoleConvert.MAPPER.to(request);
record.setId(null);
// 查询名称是否存在
this.checkNamePresent(record);
// 查询编码是否存在
@@ -140,8 +139,7 @@ public class SystemRoleServiceImpl implements SystemRoleService {
.eq(SystemRoleDO::getCode, request.getCode())
.eq(SystemRoleDO::getStatus, request.getStatus());
// 查询
return systemRoleDAO.of()
.wrapper(wrapper)
return systemRoleDAO.of(wrapper)
.page(request)
.dataGrid(SystemRoleConvert.MAPPER::to);
}
@@ -185,7 +183,7 @@ public class SystemRoleServiceImpl implements SystemRoleService {
.ne(SystemRoleDO::getId, domain.getId())
.eq(SystemRoleDO::getName, domain.getName());
// 检查是否存在
boolean present = systemRoleDAO.of().wrapper(wrapper).present();
boolean present = systemRoleDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.NAME_PRESENT);
}
@@ -201,7 +199,7 @@ public class SystemRoleServiceImpl implements SystemRoleService {
.ne(SystemRoleDO::getId, domain.getId())
.eq(SystemRoleDO::getCode, domain.getCode());
// 检查是否存在
boolean present = systemRoleDAO.of().wrapper(wrapper).present();
boolean present = systemRoleDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.CODE_PRESENT);
}

View File

@@ -54,7 +54,6 @@ public class SystemUserServiceImpl implements SystemUserService {
public Long createSystemUser(SystemUserCreateRequest request) {
// 转换
SystemUserDO record = SystemUserConvert.MAPPER.to(request);
record.setId(null);
// 查询用户名称是否存在
this.checkUsernamePresent(record);
// 查询花名是否存在
@@ -146,8 +145,7 @@ public class SystemUserServiceImpl implements SystemUserService {
.like(SystemUserDO::getEmail, request.getEmail())
.eq(SystemUserDO::getStatus, request.getStatus());
// 查询
return systemUserDAO.of()
.wrapper(wrapper)
return systemUserDAO.of(wrapper)
.page(request)
.dataGrid(SystemUserConvert.MAPPER::to);
}
@@ -208,7 +206,7 @@ public class SystemUserServiceImpl implements SystemUserService {
// 用其他字段做重复校验
.eq(SystemUserDO::getUsername, domain.getUsername());
// 检查是否存在
boolean present = systemUserDAO.of().wrapper(wrapper).present();
boolean present = systemUserDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.USERNAME_PRESENT);
}
@@ -225,7 +223,7 @@ public class SystemUserServiceImpl implements SystemUserService {
// 用其他字段做重复校验
.eq(SystemUserDO::getNickname, domain.getNickname());
// 检查是否存在
boolean present = systemUserDAO.of().wrapper(wrapper).present();
boolean present = systemUserDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.NICKNAME_PRESENT);
}

View File

@@ -66,6 +66,16 @@ public class TagRelServiceImpl implements TagRelService {
RedisUtils.setJson(cacheKey, TagCacheKeyDefine.TAG_REL, TagRelConvert.MAPPER.toCacheList(tagRelList));
}
@Override
public void setTagRel(String type, Long relId, List<Long> tagIdList) {
// 删除
this.deleteRelId(type, relId);
// 添加
if (!Lists.isEmpty(tagIdList)) {
this.addTagRel(type, relId, tagIdList);
}
}
@Override
public List<TagCacheDTO> getRelTags(String type, Long relId) {
// 查询缓存

View File

@@ -37,15 +37,12 @@ public class TagServiceImpl implements TagService {
public Long createTag(TagCreateRequest request) {
// 转换
TagDO record = TagConvert.MAPPER.to(request);
record.setId(null);
// 查询 tag 是否存在
String type = record.getType();
LambdaQueryWrapper<TagDO> wrapper = tagDAO.wrapper()
.eq(TagDO::getName, record.getName())
.eq(TagDO::getType, type);
TagDO checkTag = tagDAO.of(wrapper)
.only()
.get();
TagDO checkTag = tagDAO.of(wrapper).getOne();
if (checkTag != null) {
return checkTag.getId();
}