提交 199b08af 作者: wangwenqi

人物审核、查询等相关逻辑调整

上级 03f520fd
...@@ -115,9 +115,10 @@ public class CharacterBasicInfoController { ...@@ -115,9 +115,10 @@ public class CharacterBasicInfoController {
* @return * @return
*/ */
@GetMapping("/getPreviousDuty") @GetMapping("/getPreviousDuty")
public Result<?> getPreviousDuty(@RequestParam(name = "uid", required = true) String uid) { public Result<?> getPreviousDuty(@RequestParam(name = "uid") String uid,
@RequestParam(name = "id") String id,@RequestParam(name = "category") String category) {
log.info("根据uid查询人物的历任职务:{}", uid); log.info("根据uid查询人物的历任职务:{}", uid);
List<CharacterBasicInfo> list = characterBasicInfoService.getPreviousDuty(uid); List<CharacterBasicInfo> list = characterBasicInfoService.getPreviousDuty(uid,id,category);
return Result.OK(list); return Result.OK(list);
} }
......
...@@ -181,9 +181,10 @@ public class CharacterInfoController { ...@@ -181,9 +181,10 @@ public class CharacterInfoController {
* @return * @return
*/ */
@GetMapping("/getPreviousDuty") @GetMapping("/getPreviousDuty")
public Result<?> getPreviousDuty(@RequestParam(name="uid",required=true) String uid){ public Result<?> getPreviousDuty(@RequestParam(name="uid") String uid,@RequestParam(name="id") String id
log.info("根据uid查询人物的历任职务:{}",uid); ,@RequestParam(name="category") String category){
return characterInfoService.getPreviousDuty(uid); log.info("根据uid查询人物的历任职务:{},{}",uid,id);
return characterInfoService.getPreviousDuty(uid,id,category);
} }
/** /**
......
...@@ -51,6 +51,17 @@ public class CharacterTagController { ...@@ -51,6 +51,17 @@ public class CharacterTagController {
return characterTagService.getTagList(id, name); return characterTagService.getTagList(id, name);
} }
/**
* @description:获取指定id标签树及树下数据
* @param: [tagRootId]
* @return: Result<?>
**/
@GetMapping("/getTagAndDataTree")
public Result<?> getTagAndDataTree(@RequestParam(name="tagRootId",required=false) String tagRootId){
return characterTagService.getTagAndDataTreeByRootId(tagRootId);
}
/** /**
* 根据标签分页查询人物 * 根据标签分页查询人物
* @param tagId * @param tagId
......
...@@ -54,7 +54,6 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo> ...@@ -54,7 +54,6 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
"from character_basic_info a " + "from character_basic_info a " +
"where 1=1 " + "where 1=1 " +
"and main_entry = 1 " + "and main_entry = 1 " +
"and category = '1' "+
"and a.name = #{name} ") "and a.name = #{name} ")
List<CharacterBasicInfo> getListByName(String name); List<CharacterBasicInfo> getListByName(String name);
...@@ -69,14 +68,8 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo> ...@@ -69,14 +68,8 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
) )
Integer deduplication(String duty, String company, String name); Integer deduplication(String duty, String company, String name);
@Select("select " +
"*" + List<CharacterBasicInfo> getPreviousDuty(String uid,String id,String category);
"from character_basic_info " +
"where 1=1 " +
"and uid = #{uid} " +
"and main_entry = 0 " +
"order by FIELD(take_office_status, '现任', '历任') ASC, create_time desc")
List<CharacterBasicInfo> getPreviousDuty(String uid);
@Select("select " + @Select("select " +
"id " + "id " +
......
...@@ -34,7 +34,7 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo> ...@@ -34,7 +34,7 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo>
List<CharacterBasicInfo> getData(String time); List<CharacterBasicInfo> getData(String time);
List<CharacterBasicInfo> getPreviousDuty(String uid); List<CharacterBasicInfo> getPreviousDuty(String uid,String id,String category);
List<String> getCorrelationByUid(String uid); List<String> getCorrelationByUid(String uid);
......
...@@ -50,7 +50,7 @@ public interface CharacterInfoService { ...@@ -50,7 +50,7 @@ public interface CharacterInfoService {
Result<?> mergeCancel(String id); Result<?> mergeCancel(String id);
Result<?> getPreviousDuty(String uid); Result<?> getPreviousDuty(String uid,String id,String category);
Result<?> correlation(CharacterVo characterVo); Result<?> correlation(CharacterVo characterVo);
......
...@@ -18,6 +18,8 @@ public interface CharacterTagService extends IService<LabelEntity> { ...@@ -18,6 +18,8 @@ public interface CharacterTagService extends IService<LabelEntity> {
Result<?> getTagList(String id, String name); Result<?> getTagList(String id, String name);
Result<?> getTagAndDataTreeByRootId(String rootId);
Result<?> getCharacterListByTag(String tagId, Integer offset, Integer pageSize); Result<?> getCharacterListByTag(String tagId, Integer offset, Integer pageSize);
void addTagTop(CharacterTagTop characterTagTop); void addTagTop(CharacterTagTop characterTagTop);
......
...@@ -2,6 +2,7 @@ package com.zzsn.leaderbase.service.impl; ...@@ -2,6 +2,7 @@ package com.zzsn.leaderbase.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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;
...@@ -19,9 +20,7 @@ import com.zzsn.leaderbase.service.CharacterBasicInfoService; ...@@ -19,9 +20,7 @@ import com.zzsn.leaderbase.service.CharacterBasicInfoService;
import com.zzsn.leaderbase.service.CharacterTagService; import com.zzsn.leaderbase.service.CharacterTagService;
import com.zzsn.leaderbase.service.IGeneratorIdService; import com.zzsn.leaderbase.service.IGeneratorIdService;
import com.zzsn.leaderbase.service.LeaderCategoryService; import com.zzsn.leaderbase.service.LeaderCategoryService;
import com.zzsn.leaderbase.util.AuthUtil;
import com.zzsn.leaderbase.util.ExcelUtil; import com.zzsn.leaderbase.util.ExcelUtil;
import com.zzsn.leaderbase.util.LoginUser;
import com.zzsn.leaderbase.vo.BasicInfoListVo; import com.zzsn.leaderbase.vo.BasicInfoListVo;
import com.zzsn.leaderbase.vo.CharacterVo; import com.zzsn.leaderbase.vo.CharacterVo;
import com.zzsn.leaderbase.vo.Result; import com.zzsn.leaderbase.vo.Result;
...@@ -98,26 +97,21 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -98,26 +97,21 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
} }
private List<CharacterBasicInfo> setListValues(List<CharacterBasicInfo> list, BasicInfoListVo basicInfoListVo) { private List<CharacterBasicInfo> setListValues(List<CharacterBasicInfo> list, BasicInfoListVo basicInfoListVo) {
//查询结果替换主数据 if(CollectionUtil.isNotEmpty(list)){
List<CharacterBasicInfo> listNew=new ArrayList<>(list.size()); List<String> ids=list.stream().map(CharacterBasicInfo::getId).collect(Collectors.toList());
for (CharacterBasicInfo characterBasicInfo : list) { Set<String> uIds = list.stream().map(CharacterBasicInfo::getUid).collect(Collectors.toSet());
Integer mainEntry = characterBasicInfo.getMainEntry(); LambdaQueryWrapper<CharacterBasicInfo> queryWrapper=new LambdaQueryWrapper<>();
if(mainEntry == 0){ queryWrapper.in(CharacterBasicInfo::getUid,uIds);
QueryWrapper<CharacterBasicInfo> queryWrapper = new QueryWrapper<>(); queryWrapper.notIn(CharacterBasicInfo::getId,ids);
queryWrapper.eq("uid", characterBasicInfo.getUid()) queryWrapper.select(CharacterBasicInfo::getUid);
.eq("main_entry",1); List<CharacterBasicInfo> subList = this.list(queryWrapper);
List<CharacterBasicInfo> mainList = this.list(queryWrapper); Set<String> containsUIds= subList.stream().map(CharacterBasicInfo::getUid).collect(Collectors.toSet());
if(mainList.size() > 0){ list.forEach(t->{
listNew.add(mainList.get(0)); if(containsUIds.contains(t.getUid())){
} else { t.setHasChild(1);
listNew.add(characterBasicInfo);
}
} else {
listNew.add(characterBasicInfo);
} }
});
} }
//判断是否有关联数据
hasChild(listNew);
//记录热门标签 //记录热门标签
String tagId = basicInfoListVo.getTagId(); String tagId = basicInfoListVo.getTagId();
if(tagId != null && tagId.length() >0){ if(tagId != null && tagId.length() >0){
...@@ -182,8 +176,8 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -182,8 +176,8 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
} }
@Override @Override
public List<CharacterBasicInfo> getPreviousDuty(String uid) { public List<CharacterBasicInfo> getPreviousDuty(String uid,String id,String category) {
return baseMapper.getPreviousDuty(uid); return baseMapper.getPreviousDuty(uid,id,category);
} }
@Override @Override
...@@ -201,7 +195,7 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -201,7 +195,7 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
String id = Long.toString(generatorIdService.getOrderId()); String id = Long.toString(generatorIdService.getOrderId());
characterBasicInfo.setId(id); characterBasicInfo.setId(id);
characterBasicInfo.setCreateTime(new Date()); characterBasicInfo.setCreateTime(new Date());
characterBasicInfo.setUpdateTime(new Date());
String uid = generatorIdService.getIdNo(); String uid = generatorIdService.getIdNo();
characterBasicInfo.setUid(uid); characterBasicInfo.setUid(uid);
characterBasicInfo.setMainEntry(1); characterBasicInfo.setMainEntry(1);
...@@ -231,10 +225,15 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -231,10 +225,15 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
String newId = Long.toString(generatorIdService.getOrderId()); String newId = Long.toString(generatorIdService.getOrderId());
characterBasicInfo.setId(newId); characterBasicInfo.setId(newId);
characterBasicInfo.setMainEntry(0); characterBasicInfo.setMainEntry(1);
characterBasicInfo.setCategory(newInfo.getCategory()); characterBasicInfo.setCategory(newInfo.getCategory());
characterBasicInfo.setCreateTime(new Date()); characterBasicInfo.setCreateTime(new Date());
characterBasicInfo.setUpdateTime(new Date());
Boolean res = this.save(characterBasicInfo); Boolean res = this.save(characterBasicInfo);
//主条目重新设置
newInfo.setMainEntry(0);
this.updateById(newInfo);
return Result.OK(res); return Result.OK(res);
} }
...@@ -349,7 +348,7 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -349,7 +348,7 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
String titleName = cell.getStringCellValue(); String titleName = cell.getStringCellValue();
if (importFieldMap.containsKey(titleName)) { if (importFieldMap.containsKey(titleName)) {
try { try {
String stringCellValue = sheetRow.getCell(cell.getColumnIndex()).getStringCellValue(); String stringCellValue =Objects.toString(sheetRow.getCell(cell.getColumnIndex()),"");
//如果是分类列,转换成id //如果是分类列,转换成id
if ("分类".equals(titleName) && "typeId".equals(importFieldMap.get(titleName))) { if ("分类".equals(titleName) && "typeId".equals(importFieldMap.get(titleName))) {
stringCellValue = typeNameKeyMap.get(stringCellValue); stringCellValue = typeNameKeyMap.get(stringCellValue);
......
...@@ -404,8 +404,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService { ...@@ -404,8 +404,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
} }
@Override @Override
public Result<?> getPreviousDuty(String uid) { public Result<?> getPreviousDuty(String uid,String id,String category) {
return Result.OK(characterBasicInfoService.getPreviousDuty(uid)); return Result.OK(characterBasicInfoService.getPreviousDuty(uid,id,category));
} }
@Override @Override
......
...@@ -17,11 +17,13 @@ import com.zzsn.leaderbase.service.CharacterBasicInfoService; ...@@ -17,11 +17,13 @@ import com.zzsn.leaderbase.service.CharacterBasicInfoService;
import com.zzsn.leaderbase.service.CharacterInfoService; import com.zzsn.leaderbase.service.CharacterInfoService;
import com.zzsn.leaderbase.service.CharacterTagService; import com.zzsn.leaderbase.service.CharacterTagService;
import com.zzsn.leaderbase.vo.*; import com.zzsn.leaderbase.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Version 1.0 * @Version 1.0
...@@ -104,7 +106,7 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -104,7 +106,7 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
// sysBaseLabelTypeVo.setHasChild("1"); // sysBaseLabelTypeVo.setHasChild("1");
List<SysBaseLabelTypeVo> list = characterTagMapper.getTagTypeListAll(); List<SysBaseLabelTypeVo> list = characterTagMapper.getTagTypeListAll();
//只获取人物服务相关的类别 //只获取人物服务相关的类别
List<SysBaseLabelTypeVo> treeList = getBaseLabelTreeList(list,sys_base_label_type_id); List<SysBaseLabelTypeVo> treeList = getBaseLabelTreeList(list,sys_base_label_type_id,null);
// sysBaseLabelTypeVo.setChildren(treeList); // sysBaseLabelTypeVo.setChildren(treeList);
// allList.add(sysBaseLabelTypeVo); // allList.add(sysBaseLabelTypeVo);
// return allList; // return allList;
...@@ -174,36 +176,84 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -174,36 +176,84 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
} }
//获取树状结构 //获取树状结构
private List<SysBaseLabelTypeVo> getBaseLabelTreeList(List<SysBaseLabelTypeVo> baseLabelTypeList, String id){ private List<SysBaseLabelTypeVo> getBaseLabelTreeList(List<SysBaseLabelTypeVo> baseLabelTypeList, String id,Map<String,List<SysLabelVo>> dataMap){
List<SysBaseLabelTypeVo> topList = new ArrayList<>(); List<SysBaseLabelTypeVo> topList = new ArrayList<>();
baseLabelTypeList.forEach(e->{ baseLabelTypeList.forEach(e->{
if (id.equals(e.getId())) { if (id.equals(e.getId())) {
if(dataMap!=null && dataMap.containsKey(e.getId())){
e.setDataList(dataMap.get(e.getId()));
}
topList.add(e); topList.add(e);
} }
}); });
for (SysBaseLabelTypeVo sysLabelVo : topList) { for (SysBaseLabelTypeVo sysLabelVo : topList) {
setBaseLabelChildren(sysLabelVo, baseLabelTypeList); setBaseLabelChildren(sysLabelVo, baseLabelTypeList,dataMap);
} }
return topList; return topList;
} }
//递归获取树形结构数据 //递归获取树形结构数据
private void setBaseLabelChildren(SysBaseLabelTypeVo parent, List<SysBaseLabelTypeVo> list) { private void setBaseLabelChildren(SysBaseLabelTypeVo parent, List<SysBaseLabelTypeVo> list,Map<String,List<SysLabelVo>> dataMap) {
Set<SysBaseLabelTypeVo> children = getBaseLabelChildren(list, parent.getId()); Set<SysBaseLabelTypeVo> children = getBaseLabelChildren(list, parent.getId(),dataMap);
parent.setChildren(new ArrayList<>(children)); parent.setChildren(new ArrayList<>(children));
for (SysBaseLabelTypeVo sysLabelVo : children) { for (SysBaseLabelTypeVo sysLabelVo : children) {
setBaseLabelChildren(sysLabelVo, list); setBaseLabelChildren(sysLabelVo, list,dataMap);
} }
} }
private Set<SysBaseLabelTypeVo> getBaseLabelChildren(List<SysBaseLabelTypeVo> list, String id) { private Set<SysBaseLabelTypeVo> getBaseLabelChildren(List<SysBaseLabelTypeVo> list, String id,Map<String,List<SysLabelVo>> dataMap) {
Set<SysBaseLabelTypeVo> children = new HashSet<>(); Set<SysBaseLabelTypeVo> children = new HashSet<>();
for (SysBaseLabelTypeVo sysLabelVo : list) { for (SysBaseLabelTypeVo sysLabelVo : list) {
if (sysLabelVo.getPid().equals(id)) { if (sysLabelVo.getPid().equals(id)) {
if(dataMap!=null&&dataMap.containsKey(sysLabelVo.getId())){
sysLabelVo.setDataList(dataMap.get(sysLabelVo.getId()));
}
children.add(sysLabelVo); children.add(sysLabelVo);
} }
} }
return children; return children;
} }
@Override
public Result<?> getTagAndDataTreeByRootId(String rootId){
if(StringUtils.isEmpty(rootId)){
rootId = sys_base_label_type_id;
}
List<SysBaseLabelTypeVo> list = characterTagMapper.getTagTypeListAll();
List<SysBaseLabelTypeVo> originList =new ArrayList<>(list);
List<String> typeIds=getAllIdsByRootId(list, rootId);
List<SysLabelVo> dataList = characterTagMapper.queryCustomLabel(typeIds,null);
Map<String,List<SysLabelVo>> dataMap=dataList.stream().collect(Collectors.groupingBy(SysLabelVo::getLabelTypeId));
List<SysBaseLabelTypeVo> changeList =originList.stream().filter(t -> !list.contains(t)).collect(Collectors.toList());
String finalRootId = rootId;
SysBaseLabelTypeVo rootType=list.stream().filter(t->t.getId().equals(finalRootId)).findFirst().get();
setBaseLabelChildren(rootType, changeList,dataMap);
return Result.OK(rootType);
}
//获取指定根节点下所有子节点id集合
public static List<String> getAllIdsByRootId(List<SysBaseLabelTypeVo> baseTypeList, String rootId) {
if(StringUtils.isEmpty(rootId)||CollectionUtil.isEmpty(baseTypeList)){
return Collections.emptyList();
}
List<String> idList = new ArrayList<>();
Queue<String> queue = new LinkedList<>();
queue.offer(rootId);
while (!queue.isEmpty()) {
String currentId = queue.poll();
idList.add(currentId);
Iterator<SysBaseLabelTypeVo> iterator = baseTypeList.iterator();
while (iterator.hasNext()) {
SysBaseLabelTypeVo node = iterator.next();
if (currentId.equals(node.getPid())) {
queue.offer(node.getId());
iterator.remove();
}
}
}
return idList;
}
} }
......
...@@ -4,6 +4,8 @@ import com.zzsn.leaderbase.entity.CharacterBasicInfo; ...@@ -4,6 +4,8 @@ import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.List;
/** /**
* 人物基本信息表 * 人物基本信息表
*/ */
...@@ -17,7 +19,10 @@ public class CheckVo { ...@@ -17,7 +19,10 @@ public class CheckVo {
//审核的抽取人物id //审核的抽取人物id
private String extractId; private String extractId;
//疑似人物id //疑似人物id(主)
private String suspectedId; private String suspectedId;
//疑似人物id集合(不包含主疑似人物ID)
private List<String> subSuspectedIds;
} }
...@@ -5,6 +5,8 @@ import lombok.Data; ...@@ -5,6 +5,8 @@ import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
@Data @Data
public class SysBaseLabelTypeVo { public class SysBaseLabelTypeVo {
/**主键*/ /**主键*/
...@@ -42,4 +44,6 @@ public class SysBaseLabelTypeVo { ...@@ -42,4 +44,6 @@ public class SysBaseLabelTypeVo {
private String labelType; private String labelType;
/**下级节点*/ /**下级节点*/
private java.util.List<SysBaseLabelTypeVo> children; private java.util.List<SysBaseLabelTypeVo> children;
/**当前节点关联的数据*/
private List<SysLabelVo> dataList;
} }
...@@ -5,14 +5,30 @@ ...@@ -5,14 +5,30 @@
<mapper namespace="com.zzsn.leaderbase.mapper.CharacterBasicInfoMapper"> <mapper namespace="com.zzsn.leaderbase.mapper.CharacterBasicInfoMapper">
<select id="getList" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo"> <select id="getList" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo">
select SELECT cbi.*
* FROM character_basic_info cbi
from character_basic_info JOIN (
SELECT uid,max(create_time) create_time
FROM character_basic_info
where 1 = 1 where 1 = 1
<include refid="getListWhere"/> <include refid="getListWhere"/>
group by uid group by uid
ORDER BY CONVERT (${column} USING gbk) ${order} ORDER BY ${column} ${order}
limit #{offset}, #{pageSize} limit #{offset}, #{pageSize}
) sub on cbi.uid = sub.uid and cbi.create_time = sub.create_time
</select>
<select id="getPreviousDuty" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo">
SELECT cbi.*
FROM character_basic_info cbi
JOIN (
SELECT id
FROM character_basic_info
where uid = #{uid} and id != #{id}
ORDER BY FIELD(category, #{category}, '1', '3', '2'),
FIELD(take_office_status, '在职', '历任') ,
update_time desc
) sub on cbi.id = sub.id
</select> </select>
<select id="getAllList" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo"> <select id="getAllList" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论