Commit 42156309 by 阳浪

门户搜素接口

parent a127e96c
package com.yizhi.system.application.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* com.yizhi.application.feign
*
* @author yanglang
* @create 2024-12-20 15:52:40
*/
@FeignClient(name = "system", contextId = "DictionaryFeignClients")
public interface DictionaryFeignClients {
@GetMapping(value = "/dictionary/insertBySearchName")
boolean insertBySearchName(@RequestParam("searchName") String searchName);
}
...@@ -78,6 +78,18 @@ public class DictionaryController { ...@@ -78,6 +78,18 @@ public class DictionaryController {
} }
/** /**
* 新增数据字典
*
* @param searchName
* @return
*/
@ApiOperation(value = "数据字典", notes = "新增一个字典数据", response = Response.class)
@GetMapping("/insertBySearchName")
public boolean insertBySearchName(@RequestParam("searchName") String searchName) {
return dictionaryService.insertBySearchName(searchName);
}
/**
* 删除单个数据字典 * 删除单个数据字典
* *
* @param id * @param id
......
...@@ -88,4 +88,5 @@ public interface DictionaryService extends IService<Dictionary> { ...@@ -88,4 +88,5 @@ public interface DictionaryService extends IService<Dictionary> {
*/ */
boolean checkCode(String code); boolean checkCode(String code);
boolean insertBySearchName(String searchName);
} }
package com.yizhi.system.application.service.impl; package com.yizhi.system.application.service.impl;
import java.util.ArrayList; import java.util.*;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import cn.hutool.core.bean.BeanUtil;
import com.google.common.collect.Lists;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.system.application.domain.Dictionary; import com.yizhi.system.application.domain.Dictionary;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -28,6 +30,7 @@ import com.yizhi.system.application.service.DictionaryService; ...@@ -28,6 +30,7 @@ import com.yizhi.system.application.service.DictionaryService;
*/ */
@Service @Service
@Transactional @Transactional
@Slf4j
public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Dictionary> implements DictionaryService { public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Dictionary> implements DictionaryService {
@Autowired @Autowired
...@@ -191,5 +194,82 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction ...@@ -191,5 +194,82 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction
return num > 0; return num > 0;
} }
@Override
public boolean insertBySearchName(String searchName) {
try {
if(ObjectUtils.isNotEmpty(searchName)) {
Dictionary Dictionary = findByCode("all_search_list");
if (Dictionary != null) {
List<Dictionary> DictionaryList = listChildren(Dictionary.getId(), false, 1);
Optional<Dictionary> optional =null;
if(DictionaryList==null){
DictionaryList = Lists.newArrayList();
}else {
optional = DictionaryList.stream().filter(d -> Objects.equals(d.getCnName(), searchName)).findFirst();
}
Date today = new Date();
Dictionary dictionary = new Dictionary();
dictionary.setUpdateById(ContextHolder.get().getAccountId());
dictionary.setUpdateByName(ContextHolder.get().getAccountName());
dictionary.setUpdateTime(today);
String key ="search_list"+"_"+searchName+"_"+ContextHolder.get().getAccountId();
if(optional!=null&&optional.isPresent()){
Dictionary dictionaryCount = findByCode("all_search_count");
int maxCount = 3;
if(dictionaryCount!=null){
maxCount = Integer.valueOf(dictionaryCount.getValue());
}
dictionary = optional.get();
if(Objects.equals(dictionary.getLayer(),Integer.valueOf(1))){
return true;
}
Dictionary dictionarySub = findByCode(key);
if(dictionarySub==null){
dictionarySub = new Dictionary();
BeanUtil.copyProperties(dictionary,dictionarySub);
dictionarySub.setParentId(dictionary.getId());
dictionarySub.setCnName(searchName+"_"+ContextHolder.get().getAccountId());
dictionarySub.setCode(key);
dictionarySub.setEnName(key);
insertDetail(dictionarySub);
}
int valueCount = listChildren(dictionary.getId(), false, 3).size();
if(valueCount>maxCount){
dictionary.setLayer(1);
}
dictionary.setValue(valueCount+"");
updateById(dictionary);
}else{
dictionary.setCnName(searchName);
dictionary.setCode("all_search_list_"+searchName);
dictionary.setEnName("all_search_list_"+searchName);
dictionary.setValue("1");
dictionary.setCreateById(ContextHolder.get().getAccountId());
dictionary.setCreateByName(ContextHolder.get().getAccountName());
dictionary.setCreateTime(today);
dictionary.setSystemFlag(1);
dictionary.setSort(DictionaryList.size());
dictionary.setParentId(Dictionary.getId());
insertDetail(dictionary);
Dictionary dictionarySub = new Dictionary();
BeanUtil.copyProperties(dictionary,dictionarySub);
dictionarySub.setParentId(dictionary.getId());
dictionarySub.setCode(key);
dictionarySub.setCnName(searchName+"_"+ContextHolder.get().getAccountId());
dictionarySub.setEnName(key);
insertDetail(dictionarySub);
}
}
}
}catch (Exception e){
log.error("大家都在搜索报错:", e);
}
return true;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment