添加新增,编辑搜索数据的接口

This commit is contained in:
dengchun
2025-04-27 10:29:59 +08:00
parent 87eeae4241
commit e73470bb53
4 changed files with 58 additions and 17 deletions

View File

@@ -0,0 +1,26 @@
package org.jeecg.common.constant.enums;
import lombok.Getter;
@Getter
public enum PhysicalErrCodeEnum {
SEARCH_DATA_ADD_DUPLICATE(10001, "数据已存在"),
SYSTEM_ERR(10000, "系统内部错误,请联系管理员!")
;
private final int code;
private final String message;
PhysicalErrCodeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -6,10 +6,10 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.api.vo.SearchRequest; import org.jeecg.common.api.vo.SearchRequest;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.modules.database.entity.SearchResult; import org.jeecg.modules.database.entity.SearchResult;
import org.jeecg.modules.database.service.IComponentSearchService; import org.jeecg.modules.database.service.IComponentSearchService;
@@ -88,7 +88,12 @@ public class ComponentSearchController {
result.setUpdateTime(currentDate); result.setUpdateTime(currentDate);
result.setCreateBy(userByName.getId()); result.setCreateBy(userByName.getId());
result.setUpdateBy(userByName.getId()); result.setUpdateBy(userByName.getId());
componentSearchService.save(result); try {
componentSearchService.saveComponentSearch(result);
}catch (JeecgBootException e) {
return Result.error(e.getMessage());
}
return Result.OK("保存成功!"); return Result.OK("保存成功!");
} }
@@ -107,7 +112,12 @@ public class ComponentSearchController {
SysUser userByName = userService.getUserByName(username); SysUser userByName = userService.getUserByName(username);
searchResult.setUpdateBy(userByName.getId()); searchResult.setUpdateBy(userByName.getId());
searchResult.setUpdateTime(new Date()); searchResult.setUpdateTime(new Date());
componentSearchService.updateById(searchResult); try {
componentSearchService.saveComponentSearch(searchResult);
}catch (JeecgBootException e) {
return Result.error(e.getMessage());
}
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }

View File

@@ -11,7 +11,7 @@ public interface IComponentSearchService extends IService<SearchResult> {
IPage<SearchResult> queryPageList(Integer type, String content, Integer pageNo, Integer pageSize); IPage<SearchResult> queryPageList(Integer type, String content, Integer pageNo, Integer pageSize);
List<SearchResult> search(Integer type, String content); List<SearchResult> search(Integer type, String content);
void saveDataAfterSaveExperiment(Experiment experiment); void saveDataAfterSaveExperiment(Experiment experiment);
boolean saveComponentSearch(SearchResult searchResult);
} }

View File

@@ -2,14 +2,13 @@ package org.jeecg.modules.database.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
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.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.constant.enums.PhysicalErrCodeEnum;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.database.constant.ComponentSearchType; import org.jeecg.modules.database.constant.ComponentSearchType;
import org.jeecg.modules.database.entity.DocumentFavorites;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.Experiment;
import org.jeecg.modules.database.entity.SearchResult; import org.jeecg.modules.database.entity.SearchResult;
import org.jeecg.modules.database.mapper.ComponentSearchMapper; import org.jeecg.modules.database.mapper.ComponentSearchMapper;
@@ -18,9 +17,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class ComponentSearchServiceImpl extends ServiceImpl<ComponentSearchMapper, SearchResult> implements IComponentSearchService { public class ComponentSearchServiceImpl extends ServiceImpl<ComponentSearchMapper, SearchResult> implements IComponentSearchService {
@@ -28,14 +25,11 @@ public class ComponentSearchServiceImpl extends ServiceImpl<ComponentSearchMappe
@Override @Override
public IPage<SearchResult> queryPageList(Integer type, String content, Integer pageNo, Integer pageSize) { public IPage<SearchResult> queryPageList(Integer type, String content, Integer pageNo, Integer pageSize) {
SearchResult searchResult = new SearchResult(); LambdaQueryWrapper<SearchResult> queryWrapper = new LambdaQueryWrapper<>();
Map requestMap = new HashMap(); queryWrapper.eq(SearchResult::getDataType, type);
requestMap.put("dataType", type); queryWrapper.likeRight(SearchResult::getContent, content);
requestMap.put("content", content);
QueryWrapper<SearchResult> queryWrapper = QueryGenerator.initQueryWrapper(searchResult,requestMap);
Page<SearchResult> page = new Page<>(pageNo, pageSize); Page<SearchResult> page = new Page<>(pageNo, pageSize);
IPage<SearchResult> pageList = this.page(page, queryWrapper); return this.page(page, queryWrapper);
return pageList;
} }
@Override @Override
@@ -105,4 +99,15 @@ public class ComponentSearchServiceImpl extends ServiceImpl<ComponentSearchMappe
}); });
} }
} }
@Override
public boolean saveComponentSearch(SearchResult searchResult) {
LambdaQueryWrapper<SearchResult> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SearchResult::getDataType, searchResult.getDataType());
queryWrapper.eq(SearchResult::getContent, searchResult.getContent());
if (this.count(queryWrapper) > 0)
throw new JeecgBootException("数据已存在!",PhysicalErrCodeEnum.SEARCH_DATA_ADD_DUPLICATE.getCode());
return this.saveOrUpdate(searchResult);
}
} }