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; return this;
} }
public DataQuery<T> only() { public T getOne() {
wrapper.last(Const.LIMIT_1); wrapper.last(Const.LIMIT_1);
return this; return dao.selectOne(wrapper);
} }
public T get() { public T get() {

View File

@@ -38,7 +38,7 @@ public class TransmittableThreadLocalSecurityContextHolderStrategy implements Se
@Override @Override
public void setContext(SecurityContext context) { 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); CONTEXT_HOLDER.set(context);
} }

View File

@@ -38,13 +38,16 @@ public class CodeGenerator {
// 作者 // 作者
String author = Const.ORION_AUTHOR; String author = Const.ORION_AUTHOR;
// 模块 // 模块
String module = "infra"; String module = "asset";
// 生成的表 // 生成的表
GenTable[] tables = { GenTable[] tables = {
// new GenTable("system_user", "用户", "user") // new GenTable("system_user", "用户", "user")
// .vue("user", "user") // .vue("user", "user")
// .enums(UserStatusEnum.class), // .enums(UserStatusEnum.class),
new GenTable("tag_rel", "标签引用", "tag").ignoreTest(), new GenTable("host", "主机", "host")
.vue("asset", "host")
.ignoreTest(),
new GenTable("host_config", "主机配置", "host").ignoreTest(),
}; };
// jdbc 配置 - 使用配置文件 // jdbc 配置 - 使用配置文件
File yamlFile = new File("orion-ops-launch/src/main/resources/application-dev.yaml"); 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)); log.info("${type}Service-create${type} request: {}", JSON.toJSONString(request));
// 转换 // 转换
${type}DO record = ${type}Convert.MAPPER.to(request); ${type}DO record = ${type}Convert.MAPPER.to(request);
record.setId(null);
// 查询数据是否冲突 // 查询数据是否冲突
this.check${type}Present(record); this.check${type}Present(record);
// 插入 // 插入
@@ -108,9 +107,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件 // 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request); LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询 // 查询
return ${typeLower}DAO.of() return ${typeLower}DAO.of(wrapper).list(${type}Convert.MAPPER::to);
.wrapper(wrapper)
.list(${type}Convert.MAPPER::to);
} }
@Override @Override
@@ -126,8 +123,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件 // 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request); LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询 // 查询
return ${typeLower}DAO.of() return ${typeLower}DAO.of(wrapper)
.wrapper(wrapper)
.page(request) .page(request)
.dataGrid(${type}Convert.MAPPER::to); .dataGrid(${type}Convert.MAPPER::to);
} }
@@ -165,9 +161,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
// 条件 // 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request); LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询 // 查询
List<${type}Export> rows = ${typeLower}DAO.of() List<${type}Export> rows = ${typeLower}DAO.of(wrapper).list(${type}Convert.MAPPER::toExport);
.wrapper(wrapper)
.list(${type}Convert.MAPPER::toExport);
log.info("${type}Service.export${type} size: {}", rows.size()); log.info("${type}Service.export${type} size: {}", rows.size());
// 导出 // 导出
ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -196,7 +190,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
#end #end
#end #end
// 检查是否存在 // 检查是否存在
boolean present = ${typeLower}DAO.of().wrapper(wrapper).present(); boolean present = ${typeLower}DAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.DATA_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); LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(dto);
// 查询 // 查询
return ${typeLower}DAO.of() return ${typeLower}DAO.of(wrapper).list(${type}ProviderConvert.MAPPER::to);
.wrapper(wrapper)
.list(${type}ProviderConvert.MAPPER::to);
} }
@Override @Override

View File

@@ -37,27 +37,29 @@ public interface FavoriteApi {
* *
* @param userId userId * @param userId userId
*/ */
void deleteFavoriteByUserId(Long userId); void deleteByUserId(Long userId);
/** /**
* 通过 userId 删除收藏 * 通过 userId 删除收藏
* *
* @param userIdList userId * @param userIdList userId
*/ */
void deleteFavoriteByUserIdList(List<Long> userIdList); void deleteByUserIdList(List<Long> userIdList);
/** /**
* 通过 relId 删除收藏 * 通过 relId 删除收藏
* *
* @param type type
* @param relId relId * @param relId relId
*/ */
void deleteFavoriteByRelId(Long relId); void deleteByRelId(FavoriteTypeEnum type, Long relId);
/** /**
* 通过 relId 删除收藏 * 通过 relId 删除收藏
* *
* @param type type
* @param relIdList relIdList * @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; package com.orion.ops.module.infra.api;
import com.orion.ops.module.infra.entity.dto.tag.TagDTO; 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.List;
import java.util.concurrent.Future; import java.util.concurrent.Future;
@@ -15,13 +16,22 @@ import java.util.concurrent.Future;
public interface TagRelApi { public interface TagRelApi {
/** /**
* 创建标签引用 * 创建标签引用 只新增
* *
* @param type type * @param type type
* @param relId relId * @param relId relId
* @param tagIdList tagIdList * @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 * 获取引用 tag
@@ -30,7 +40,7 @@ public interface TagRelApi {
* @param relId relId * @param relId relId
* @return tag * @return tag
*/ */
Future<List<TagDTO>> getRelTags(String type, Long relId); Future<List<TagDTO>> getRelTags(TagTypeEnum type, Long relId);
/** /**
* 获取引用 tag * 获取引用 tag
@@ -39,24 +49,22 @@ public interface TagRelApi {
* @param relIdList relIdList * @param relIdList relIdList
* @return tag * @return tag
*/ */
Future<List<List<TagDTO>>> getRelTags(String type, List<Long> relIdList); Future<List<List<TagDTO>>> getRelTags(TagTypeEnum type, List<Long> relIdList);
/** /**
* 通过 relId 删除 * 通过 relId 删除
* *
* @param type type * @param type type
* @param relId relId * @param relId relId
* @return effect
*/ */
Integer deleteRelId(String type, Long relId); void deleteRelId(TagTypeEnum type, Long relId);
/** /**
* 通过 relIdList 删除 * 通过 relIdList 删除
* *
* @param type type * @param type type
* @param relIdList relIdList * @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 @Override
public void deleteFavoriteByUserId(Long userId) { @Async("asyncExecutor")
public void deleteByUserId(Long userId) {
favoriteService.deleteFavoriteByUserId(userId); favoriteService.deleteFavoriteByUserId(userId);
} }
@Override @Override
public void deleteFavoriteByUserIdList(List<Long> userIdList) { @Async("asyncExecutor")
public void deleteByUserIdList(List<Long> userIdList) {
favoriteService.deleteFavoriteByUserIdList(userIdList); favoriteService.deleteFavoriteByUserIdList(userIdList);
} }
@Override @Override
public void deleteFavoriteByRelId(Long relId) { @Async("asyncExecutor")
favoriteService.deleteFavoriteByRelId(relId); public void deleteByRelId(FavoriteTypeEnum type, Long relId) {
favoriteService.deleteFavoriteByRelId(type.name(), relId);
} }
@Override @Override
public void deleteFavoriteByRelIdList(List<Long> relIdList) { @Async("asyncExecutor")
favoriteService.deleteFavoriteByRelIdList(relIdList); 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.convert.TagProviderConvert;
import com.orion.ops.module.infra.entity.dto.TagCacheDTO; 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.entity.dto.tag.TagDTO;
import com.orion.ops.module.infra.enums.TagTypeEnum;
import com.orion.ops.module.infra.service.TagRelService; import com.orion.ops.module.infra.service.TagRelService;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -29,21 +30,27 @@ public class TagRelApiImpl implements TagRelApi {
@Override @Override
@Async("asyncExecutor") @Async("asyncExecutor")
public void addTagRel(String type, Long relId, List<Long> tagIdList) { public void addTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList) {
tagRelService.addTagRel(type, relId, tagIdList); tagRelService.addTagRel(type.name(), relId, tagIdList);
} }
@Override @Override
@Async("asyncExecutor") @Async("asyncExecutor")
public Future<List<TagDTO>> getRelTags(String type, Long relId) { public void setTagRel(TagTypeEnum type, Long relId, List<Long> tagIdList) {
List<TagCacheDTO> values = tagRelService.getRelTags(type, relId); 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)); return CompletableFuture.completedFuture(TagProviderConvert.MAPPER.toList(values));
} }
@Override @Override
@Async("asyncExecutor") @Async("asyncExecutor")
public Future<List<List<TagDTO>>> getRelTags(String type, List<Long> relIdList) { public Future<List<List<TagDTO>>> getRelTags(TagTypeEnum type, List<Long> relIdList) {
List<List<TagDTO>> values = tagRelService.getRelTags(type, relIdList) List<List<TagDTO>> values = tagRelService.getRelTags(type.name(), relIdList)
.stream() .stream()
.map(TagProviderConvert.MAPPER::toList) .map(TagProviderConvert.MAPPER::toList)
.collect(Collectors.toList()); .collect(Collectors.toList());
@@ -51,13 +58,15 @@ public class TagRelApiImpl implements TagRelApi {
} }
@Override @Override
public Integer deleteRelId(String type, Long relId) { @Async("asyncExecutor")
return tagRelService.deleteRelId(type, relId); public void deleteRelId(TagTypeEnum type, Long relId) {
tagRelService.deleteRelId(type.name(), relId);
} }
@Override @Override
public Integer deleteRelIdList(String type, List<Long> relIdList) { @Async("asyncExecutor")
return tagRelService.deleteRelIdList(type, relIdList); public void deleteRelIdList(TagTypeEnum type, List<Long> relIdList) {
tagRelService.deleteRelIdList(type.name(), relIdList);
} }
} }

View File

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

View File

@@ -22,6 +22,15 @@ public interface TagRelService {
*/ */
void addTagRel(String type, Long relId, List<Long> tagIdList); 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 * 获取引用 tag
* *

View File

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

View File

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

View File

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

View File

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

View File

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