提交 f2ba2071 作者: ZhangJingKun

标签问题修改

上级 eb1cc1c7
......@@ -25,4 +25,6 @@ public interface CharacterTagService extends IService<LabelEntity> {
Result<?> getTopTag();
SysBaseLabelTypeVo getTagTypeList();
void addTagTop(String tagName);
}
......@@ -44,6 +44,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
//人物标签
@Autowired
CharacterTagMapService characterTagMapService;
@Autowired
CharacterTagService characterTagService;
@Override
......@@ -238,6 +240,15 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
page.setCurrent(pageNo);
page.setSize(pageSize);
//记录热门标签
String tagName = characterListVo.getTagName();
if(tagName != null && tagName.length() >0){
String[] tagNameArr = tagName.split(",");
for (String s : tagNameArr) {
characterTagService.addTagTop(s);
}
}
return Result.OK(page);
}
......@@ -610,20 +621,28 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
BeanUtils.copyProperties(characterVo, characterChangeInfo);
characterChangeInfoService.save(characterChangeInfo);
//保存标签信息
String tagId = characterVo.getTagId();
String[] tagIdArr = new String[0];
if(tagId != null && tagId.length() > 0){
tagIdArr = tagId.split(",");
}
List<CharacterTagMap> list = new ArrayList<>();
for (String s : tagIdArr) {
CharacterTagMap characterTagMap = new CharacterTagMap();
characterTagMap.setTagId(s);
characterTagMap.setCharacterUid(characterVo.getUid());
list.add(characterTagMap);
//标签修改
String uid = characterVo.getUid();
if(uid != null){
//删除原有的
characterTagMapService.delByUid(characterVo.getUid());
//增加新的
String tagId = characterVo.getTagId();
String[] tagIdArr = new String[0];
if(tagId != null && tagId.length() > 0){
tagIdArr = tagId.split(",");
}
List<CharacterTagMap> list = new ArrayList<>();
for (String s : tagIdArr) {
CharacterTagMap characterTagMap = new CharacterTagMap();
characterTagMap.setTagId(s);
characterTagMap.setCharacterUid(characterVo.getUid());
list.add(characterTagMap);
}
characterTagMapService.saveBatch(list);
}
characterTagMapService.saveBatch(list);
//记录任务基本信息修改记录
// CharacterBasicInfoHistory characterBasicInfoHistory = new CharacterBasicInfoHistory();
......
......@@ -11,11 +11,9 @@ import com.zzsn.leaderbase.entity.LabelEntity;
import com.zzsn.leaderbase.entity.SysBaseLabelType;
import com.zzsn.leaderbase.mapper.CharacterTagMapper;
import com.zzsn.leaderbase.mapper.CharacterTagTopMapper;
import com.zzsn.leaderbase.service.CharacterInfoService;
import com.zzsn.leaderbase.service.CharacterTagService;
import com.zzsn.leaderbase.vo.CharacterVo;
import com.zzsn.leaderbase.vo.Result;
import com.zzsn.leaderbase.vo.SysBaseLabelTypeVo;
import com.zzsn.leaderbase.vo.SysLabelVo;
import com.zzsn.leaderbase.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -37,6 +35,9 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Autowired
CharacterTagTopMapper characterTagTopMapper;
@Autowired
CharacterInfoService characterInfoService;
@Value("${sys_base_label_type_id}")
private String sys_base_label_type_id;
......@@ -64,42 +65,50 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Override
public Result<?> getCharacterListByTag(String tagName, Integer pageNo, Integer pageSize) {
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);
CharacterListVo characterListVo = new CharacterListVo();
characterListVo.setPageNo(pageNo);
characterListVo.setPageSize(pageSize);
Integer office = pageSize * (pageNo - 1);
characterListVo.setOffset(office);
characterListVo.setTagName(tagName);
return characterInfoService.getList(characterListVo);
// 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);
}
......@@ -133,7 +142,8 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
return null;
}
private void addTagTop(String tagName){
@Override
public void addTagTop(String tagName){
CharacterTagTop characterTagTop = characterTagTopMapper.getByName(tagName);
if (characterTagTop == null){
......
......@@ -28,7 +28,9 @@
AND a.name like '%${name}%'
</if>
<if test="company != null and company != ''">
AND b.company like '%${company}%'
<foreach item="item" index="index" collection="company" open="AND d.tag_name like '%" separator="," close="%' ">
${item}
</foreach>
</if>
<if test="duty != null and duty != ''">
AND b.duty like '%${duty}%'
......@@ -77,7 +79,9 @@
AND a.name like '%${name}%'
</if>
<if test="company != null and company != ''">
AND b.company like '%${company}%'
<foreach item="item" index="index" collection="company" open="AND d.tag_name like '%" separator="," close="%' ">
${item}
</foreach>
</if>
<if test="duty != null and duty != ''">
AND b.duty like '%${duty}%'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论