提交 5542f5f9 作者: ZhangJingKun

人物服务2.0开发

上级 d881eb78
...@@ -53,19 +53,19 @@ public class CharacterTagController { ...@@ -53,19 +53,19 @@ public class CharacterTagController {
/** /**
* 根据标签分页查询人物 * 根据标签分页查询人物
* @param tagName * @param tagId
* @return * @return
*/ */
@GetMapping("/getCharacterListByTag") @GetMapping("/getCharacterListByTag")
public Result<?> getCharacterListByTag(@RequestParam(name="tagName",required=true) String tagName, public Result<?> getCharacterListByTag(@RequestParam(name="tagId",required=true) String tagId,
@RequestParam(name="pageNo",required=false) Integer pageNo, @RequestParam(name="pageNo",required=false) Integer pageNo,
@RequestParam(name="pageSize",required=false) Integer pageSize){ @RequestParam(name="pageSize",required=false) Integer pageSize){
log.info("根据标签分页查询人物:{}---{}---{}",tagName,pageNo,pageSize); log.info("根据标签分页查询人物:{}---{}---{}",tagId,pageNo,pageSize);
if(pageNo == null || pageNo < 1) if(pageNo == null || pageNo < 1)
pageNo = 1; pageNo = 1;
if(pageSize == null || pageSize < 0) if(pageSize == null || pageSize < 0)
pageSize = 10; pageSize = 10;
return characterTagService.getCharacterListByTag(tagName,pageNo,pageSize); return characterTagService.getCharacterListByTag(tagId,pageNo,pageSize);
} }
......
...@@ -96,5 +96,8 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> { ...@@ -96,5 +96,8 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
private Date updateTime; private Date updateTime;
//启停状态 1启 0停 //启停状态 1启 0停
private Long status; private Long status;
//有没有历任数据 1-有;0-没有
@TableField(exist = false)
private Integer hasChild;
} }
...@@ -16,6 +16,7 @@ import java.util.Date; ...@@ -16,6 +16,7 @@ import java.util.Date;
public class CharacterTagTop { public class CharacterTagTop {
private long id; private long id;
private String tagId;
private String name; private String name;
private long countNum; private long countNum;
//创建时间 //创建时间
......
...@@ -45,12 +45,15 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo> ...@@ -45,12 +45,15 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
Integer getListCount(BasicInfoListVo basicInfoListVo); Integer getListCount(BasicInfoListVo basicInfoListVo);
List<CharacterBasicInfo> getListHasChild(List<String> uidList);
List<CharacterVo> checkList(String articleId,String checkResult); List<CharacterVo> checkList(String articleId,String checkResult);
@Select("select * " + @Select("select * " +
"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);
......
package com.zzsn.leaderbase.mapper; package com.zzsn.leaderbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.leaderbase.entity.CharacterTagTop;
import com.zzsn.leaderbase.entity.LabelEntity; import com.zzsn.leaderbase.entity.LabelEntity;
import com.zzsn.leaderbase.entity.SysBaseLabelType; import com.zzsn.leaderbase.entity.SysBaseLabelType;
import com.zzsn.leaderbase.vo.CharacterVo; import com.zzsn.leaderbase.vo.CharacterVo;
...@@ -22,7 +23,7 @@ public interface CharacterTagMapper extends BaseMapper<LabelEntity> { ...@@ -22,7 +23,7 @@ public interface CharacterTagMapper extends BaseMapper<LabelEntity> {
List<CharacterVo> getCharacterListByTagList(String ids, Integer offset, Integer pageSize); List<CharacterVo> getCharacterListByTagList(String ids, Integer offset, Integer pageSize);
Integer getCharacterListByTagCount(String ids); Integer getCharacterListByTagCount(String ids);
List<String> getTopTag(); List<CharacterTagTop> getTopTag();
SysBaseLabelType getSysBaseLabelTypeById(String id); SysBaseLabelType getSysBaseLabelTypeById(String id);
......
...@@ -16,7 +16,7 @@ public interface CharacterTagTopMapper extends BaseMapper<CharacterTagTop> { ...@@ -16,7 +16,7 @@ public interface CharacterTagTopMapper extends BaseMapper<CharacterTagTop> {
@Select("select * from character_tag_top " + @Select("select * from character_tag_top " +
"where 1=1 " + "where 1=1 " +
"and name = #{tagName} " + "and tag_id = #{tagId} " +
"limit 1") "limit 1")
CharacterTagTop getByName(String tagName); CharacterTagTop getByTagId(String tagId);
} }
...@@ -18,7 +18,7 @@ public interface CharacterTagService extends IService<LabelEntity> { ...@@ -18,7 +18,7 @@ public interface CharacterTagService extends IService<LabelEntity> {
Result<?> getTagList(String id, String name); Result<?> getTagList(String id, String name);
Result<?> getCharacterListByTag(String tagName, Integer offset, Integer pageSize); Result<?> getCharacterListByTag(String tagId, Integer offset, Integer pageSize);
void addTagTop(CharacterTagTop characterTagTop); void addTagTop(CharacterTagTop characterTagTop);
...@@ -26,5 +26,5 @@ public interface CharacterTagService extends IService<LabelEntity> { ...@@ -26,5 +26,5 @@ public interface CharacterTagService extends IService<LabelEntity> {
SysBaseLabelTypeVo getTagTypeList(); SysBaseLabelTypeVo getTagTypeList();
void addTagTop(String tagName); void addTagTop(String tagId);
} }
package com.zzsn.leaderbase.service.impl; package com.zzsn.leaderbase.service.impl;
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.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.leaderbase.entity.CharacterBasicInfo; import com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.mapper.CharacterBasicInfoMapper; import com.zzsn.leaderbase.mapper.CharacterBasicInfoMapper;
import com.zzsn.leaderbase.service.CharacterBasicInfoService; import com.zzsn.leaderbase.service.CharacterBasicInfoService;
import com.zzsn.leaderbase.service.CharacterTagService;
import com.zzsn.leaderbase.service.IGeneratorIdService; import com.zzsn.leaderbase.service.IGeneratorIdService;
import com.zzsn.leaderbase.vo.BasicInfoListVo; import com.zzsn.leaderbase.vo.BasicInfoListVo;
import com.zzsn.leaderbase.vo.CharacterListVo; import com.zzsn.leaderbase.vo.CharacterListVo;
...@@ -16,9 +18,8 @@ import com.zzsn.leaderbase.vo.Result; ...@@ -16,9 +18,8 @@ import com.zzsn.leaderbase.vo.Result;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
/** /**
* @Version 1.0 * @Version 1.0
...@@ -33,6 +34,9 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -33,6 +34,9 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
@Autowired @Autowired
IGeneratorIdService generatorIdService; IGeneratorIdService generatorIdService;
@Autowired
CharacterTagService characterTagService;
@Override @Override
public CharacterVo getByUid(String uid) { public CharacterVo getByUid(String uid) {
return baseMapper.getByUid(uid); return baseMapper.getByUid(uid);
...@@ -49,6 +53,35 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -49,6 +53,35 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
List<CharacterBasicInfo> list = baseMapper.getList(basicInfoListVo); List<CharacterBasicInfo> list = baseMapper.getList(basicInfoListVo);
Integer total = baseMapper.getListCount(basicInfoListVo); Integer total = baseMapper.getListCount(basicInfoListVo);
//判断是否有关联数据
List<String> uidList = new ArrayList<>();
list.forEach(info -> { uidList.add(info.getUid()); });
QueryWrapper<CharacterBasicInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.in("uid", uidList)
.ne("main_entry",1).select("id","uid");
List<CharacterBasicInfo> hasChildList = this.list(queryWrapper);
if(hasChildList.size() > 0){
Map<String, List<CharacterBasicInfo>> groupList = hasChildList.stream().collect(Collectors.groupingBy(e -> e.getUid()));
list.forEach(info -> {
String uid = info.getUid();
List<CharacterBasicInfo> groupUid = groupList.get(uid);
if(groupUid != null && groupUid.size() != 0){
info.setHasChild(1);
}
});
}
//记录热门标签
//记录热门标签
String tagId = basicInfoListVo.getTagId();
if(tagId != null && tagId.length() >0){
String[] tagIdArr = tagId.split(",");
for (String s : tagIdArr) {
characterTagService.addTagTop(s);
}
}
IPage page = new Page(); IPage page = new Page();
page.setRecords(list); page.setRecords(list);
page.setTotal(total); page.setTotal(total);
......
...@@ -3,14 +3,17 @@ package com.zzsn.leaderbase.service.impl; ...@@ -3,14 +3,17 @@ package com.zzsn.leaderbase.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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 com.zzsn.leaderbase.entity.CharacterBasicInfo;
import com.zzsn.leaderbase.entity.CharacterTagTop; import com.zzsn.leaderbase.entity.CharacterTagTop;
import com.zzsn.leaderbase.entity.LabelEntity; import com.zzsn.leaderbase.entity.LabelEntity;
import com.zzsn.leaderbase.entity.SysBaseLabelType; import com.zzsn.leaderbase.entity.SysBaseLabelType;
import com.zzsn.leaderbase.mapper.CharacterTagMapper; import com.zzsn.leaderbase.mapper.CharacterTagMapper;
import com.zzsn.leaderbase.mapper.CharacterTagTopMapper; import com.zzsn.leaderbase.mapper.CharacterTagTopMapper;
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.*;
...@@ -38,6 +41,9 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -38,6 +41,9 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Autowired @Autowired
CharacterInfoService characterInfoService; CharacterInfoService characterInfoService;
@Autowired
CharacterBasicInfoService characterBasicInfoService;
@Value("${sys_base_label_type_id}") @Value("${sys_base_label_type_id}")
private String sys_base_label_type_id; private String sys_base_label_type_id;
...@@ -64,51 +70,16 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -64,51 +70,16 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Override @Override
public Result<?> getCharacterListByTag(String tagName, Integer pageNo, Integer pageSize) { public Result<?> getCharacterListByTag(String tagId, Integer pageNo, Integer pageSize) {
CharacterListVo characterListVo = new CharacterListVo(); BasicInfoListVo basicInfoListVo = new BasicInfoListVo();
characterListVo.setPageNo(pageNo); basicInfoListVo.setPageNo(pageNo);
characterListVo.setPageSize(pageSize); basicInfoListVo.setPageSize(pageSize);
Integer office = pageSize * (pageNo - 1); Integer office = pageSize * (pageNo - 1);
characterListVo.setOffset(office); basicInfoListVo.setOffset(office);
characterListVo.setTagName(tagName); basicInfoListVo.setTagId(tagId);
return characterInfoService.getList(characterListVo); IPage<CharacterBasicInfo> page = characterBasicInfoService.getList(basicInfoListVo);
return Result.OK(page);
// Integer offset = (pageNo -1) * pageSize;
//
// List<LabelEntity> tagList = null;
// //根据标签名称查询标签信息
// LambdaQueryWrapper<LabelEntity> lambdaQuery = Wrappers.lambdaQuery();
// lambdaQuery.eq(LabelEntity::getName, tagName);
// tagList = characterTagMapper.selectList(lambdaQuery);
// if(tagList.size() == 0){
// //根据名称如果没有匹配到标签信息,则使用模糊查找
// LambdaQueryWrapper<LabelEntity> lambdaQueryLike = Wrappers.lambdaQuery();
// lambdaQueryLike.like(LabelEntity::getName, tagName);
// tagList = characterTagMapper.selectList(lambdaQueryLike);
// if(tagList.size() == 0){
// //模糊查询也没有数据,直接返回
// return Result.OK("未查询到人物信息!",null);
// }
// }
// List<String> tagIds = new ArrayList<>();
// for (LabelEntity characterTag : tagList) {
// tagIds.add(characterTag.getId());
// }
// //根据标签列表查询人物信息
// String ids = Arrays.toString(tagIds.toArray(new String[0])).replace("[", "(").replace("]", ")");
// List<CharacterVo> list = characterTagMapper.getCharacterListByTagList(ids, offset, pageSize);
// Integer total = characterTagMapper.getCharacterListByTagCount(ids);
// Page page = new Page<>();
//
// page.setRecords(list);
// page.setTotal(total);
// page.setCurrent(pageNo);
// page.setSize(pageSize);
//
// //记录查询次数
// this.addTagTop(tagName);
//
// return Result.OK(page);
} }
...@@ -119,7 +90,7 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -119,7 +90,7 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Override @Override
public Result<?> getTopTag() { public Result<?> getTopTag() {
List<String> list = characterTagMapper.getTopTag(); List<CharacterTagTop> list = characterTagMapper.getTopTag();
return Result.OK(list); return Result.OK(list);
} }
...@@ -143,12 +114,14 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -143,12 +114,14 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
} }
@Override @Override
public void addTagTop(String tagName){ public void addTagTop(String tagId){
CharacterTagTop characterTagTop = characterTagTopMapper.getByName(tagName); CharacterTagTop characterTagTop = characterTagTopMapper.getByTagId(tagId);
if (characterTagTop == null){ if (characterTagTop == null){
LabelEntity labelEntity = this.getById(tagId);
CharacterTagTop newTagTop = new CharacterTagTop(); CharacterTagTop newTagTop = new CharacterTagTop();
newTagTop.setName(tagName); newTagTop.setTagId(tagId);
newTagTop.setName(labelEntity.getName());
newTagTop.setCountNum(1); newTagTop.setCountNum(1);
characterTagTopMapper.insert(newTagTop); characterTagTopMapper.insert(newTagTop);
} else { } else {
......
...@@ -43,12 +43,21 @@ ...@@ -43,12 +43,21 @@
AND type_id = #{typeId} AND type_id = #{typeId}
</if> </if>
<if test="tagId != null and tagId != ''"> <if test="tagId != null and tagId != ''">
<foreach item="item" index="index" collection="tagName.split(',')"> <foreach item="item" index="index" collection="tagId.split(',')">
AND tag_id like '%${item}%' AND tag_id like '%${item}%'
</foreach> </foreach>
</if> </if>
</sql> </sql>
<select id="getListHasChild" resultType="com.zzsn.leaderbase.entity.CharacterBasicInfo">
select
id,uid
from character_basic_info
where 1 = 1
</select>
<select id="checkList" resultType="com.zzsn.leaderbase.vo.CharacterVo"> <select id="checkList" resultType="com.zzsn.leaderbase.vo.CharacterVo">
......
...@@ -50,14 +50,11 @@ ...@@ -50,14 +50,11 @@
</select> </select>
<select id="getTopTag" resultType="String"> <select id="getTopTag" resultType="com.zzsn.leaderbase.entity.CharacterTagTop">
select name from( select *
select name,sum(count_num) as count
from character_tag_top from character_tag_top
group by name order by count_num desc
order by count desc
limit 10 limit 10
)t
</select> </select>
<select id="getSysBaseLabelTypeById" resultType="com.zzsn.leaderbase.entity.SysBaseLabelType"> <select id="getSysBaseLabelTypeById" resultType="com.zzsn.leaderbase.entity.SysBaseLabelType">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论