提交 f2ba2071 作者: ZhangJingKun

标签问题修改

上级 eb1cc1c7
...@@ -25,4 +25,6 @@ public interface CharacterTagService extends IService<LabelEntity> { ...@@ -25,4 +25,6 @@ public interface CharacterTagService extends IService<LabelEntity> {
Result<?> getTopTag(); Result<?> getTopTag();
SysBaseLabelTypeVo getTagTypeList(); SysBaseLabelTypeVo getTagTypeList();
void addTagTop(String tagName);
} }
...@@ -44,6 +44,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService { ...@@ -44,6 +44,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
//人物标签 //人物标签
@Autowired @Autowired
CharacterTagMapService characterTagMapService; CharacterTagMapService characterTagMapService;
@Autowired
CharacterTagService characterTagService;
@Override @Override
...@@ -238,6 +240,15 @@ public class CharacterInfoServiceImpl implements CharacterInfoService { ...@@ -238,6 +240,15 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
page.setCurrent(pageNo); page.setCurrent(pageNo);
page.setSize(pageSize); 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); return Result.OK(page);
} }
...@@ -610,7 +621,13 @@ public class CharacterInfoServiceImpl implements CharacterInfoService { ...@@ -610,7 +621,13 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
BeanUtils.copyProperties(characterVo, characterChangeInfo); BeanUtils.copyProperties(characterVo, characterChangeInfo);
characterChangeInfoService.save(characterChangeInfo); characterChangeInfoService.save(characterChangeInfo);
//保存标签信息
//标签修改
String uid = characterVo.getUid();
if(uid != null){
//删除原有的
characterTagMapService.delByUid(characterVo.getUid());
//增加新的
String tagId = characterVo.getTagId(); String tagId = characterVo.getTagId();
String[] tagIdArr = new String[0]; String[] tagIdArr = new String[0];
if(tagId != null && tagId.length() > 0){ if(tagId != null && tagId.length() > 0){
...@@ -624,6 +641,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService { ...@@ -624,6 +641,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
list.add(characterTagMap); list.add(characterTagMap);
} }
characterTagMapService.saveBatch(list); characterTagMapService.saveBatch(list);
}
//记录任务基本信息修改记录 //记录任务基本信息修改记录
// CharacterBasicInfoHistory characterBasicInfoHistory = new CharacterBasicInfoHistory(); // CharacterBasicInfoHistory characterBasicInfoHistory = new CharacterBasicInfoHistory();
......
...@@ -11,11 +11,9 @@ import com.zzsn.leaderbase.entity.LabelEntity; ...@@ -11,11 +11,9 @@ 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.CharacterInfoService;
import com.zzsn.leaderbase.service.CharacterTagService; import com.zzsn.leaderbase.service.CharacterTagService;
import com.zzsn.leaderbase.vo.CharacterVo; import com.zzsn.leaderbase.vo.*;
import com.zzsn.leaderbase.vo.Result;
import com.zzsn.leaderbase.vo.SysBaseLabelTypeVo;
import com.zzsn.leaderbase.vo.SysLabelVo;
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;
...@@ -37,6 +35,9 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -37,6 +35,9 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Autowired @Autowired
CharacterTagTopMapper characterTagTopMapper; CharacterTagTopMapper characterTagTopMapper;
@Autowired
CharacterInfoService characterInfoService;
@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,42 +65,50 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab ...@@ -64,42 +65,50 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
@Override @Override
public Result<?> getCharacterListByTag(String tagName, Integer pageNo, Integer pageSize) { public Result<?> getCharacterListByTag(String tagName, Integer pageNo, Integer pageSize) {
Integer offset = (pageNo -1) * pageSize; CharacterListVo characterListVo = new CharacterListVo();
characterListVo.setPageNo(pageNo);
List<LabelEntity> tagList = null; characterListVo.setPageSize(pageSize);
//根据标签名称查询标签信息 Integer office = pageSize * (pageNo - 1);
LambdaQueryWrapper<LabelEntity> lambdaQuery = Wrappers.lambdaQuery(); characterListVo.setOffset(office);
lambdaQuery.eq(LabelEntity::getName, tagName); characterListVo.setTagName(tagName);
tagList = characterTagMapper.selectList(lambdaQuery); return characterInfoService.getList(characterListVo);
if(tagList.size() == 0){
//根据名称如果没有匹配到标签信息,则使用模糊查找 // Integer offset = (pageNo -1) * pageSize;
LambdaQueryWrapper<LabelEntity> lambdaQueryLike = Wrappers.lambdaQuery(); //
lambdaQueryLike.like(LabelEntity::getName, tagName); // List<LabelEntity> tagList = null;
tagList = characterTagMapper.selectList(lambdaQueryLike); // //根据标签名称查询标签信息
if(tagList.size() == 0){ // LambdaQueryWrapper<LabelEntity> lambdaQuery = Wrappers.lambdaQuery();
//模糊查询也没有数据,直接返回 // lambdaQuery.eq(LabelEntity::getName, tagName);
return Result.OK("未查询到人物信息!",null); // tagList = characterTagMapper.selectList(lambdaQuery);
} // if(tagList.size() == 0){
} // //根据名称如果没有匹配到标签信息,则使用模糊查找
List<String> tagIds = new ArrayList<>(); // LambdaQueryWrapper<LabelEntity> lambdaQueryLike = Wrappers.lambdaQuery();
for (LabelEntity characterTag : tagList) { // lambdaQueryLike.like(LabelEntity::getName, tagName);
tagIds.add(characterTag.getId()); // tagList = characterTagMapper.selectList(lambdaQueryLike);
} // if(tagList.size() == 0){
//根据标签列表查询人物信息 // //模糊查询也没有数据,直接返回
String ids = Arrays.toString(tagIds.toArray(new String[0])).replace("[", "(").replace("]", ")"); // return Result.OK("未查询到人物信息!",null);
List<CharacterVo> list = characterTagMapper.getCharacterListByTagList(ids, offset, pageSize); // }
Integer total = characterTagMapper.getCharacterListByTagCount(ids); // }
Page page = new Page<>(); // List<String> tagIds = new ArrayList<>();
// for (LabelEntity characterTag : tagList) {
page.setRecords(list); // tagIds.add(characterTag.getId());
page.setTotal(total); // }
page.setCurrent(pageNo); // //根据标签列表查询人物信息
page.setSize(pageSize); // String ids = Arrays.toString(tagIds.toArray(new String[0])).replace("[", "(").replace("]", ")");
// List<CharacterVo> list = characterTagMapper.getCharacterListByTagList(ids, offset, pageSize);
//记录查询次数 // Integer total = characterTagMapper.getCharacterListByTagCount(ids);
this.addTagTop(tagName); // Page page = new Page<>();
//
return Result.OK(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 ...@@ -133,7 +142,8 @@ public class CharacterTagServiceImpl extends ServiceImpl<CharacterTagMapper, Lab
return null; return null;
} }
private void addTagTop(String tagName){ @Override
public void addTagTop(String tagName){
CharacterTagTop characterTagTop = characterTagTopMapper.getByName(tagName); CharacterTagTop characterTagTop = characterTagTopMapper.getByName(tagName);
if (characterTagTop == null){ if (characterTagTop == null){
......
...@@ -28,7 +28,9 @@ ...@@ -28,7 +28,9 @@
AND a.name like '%${name}%' AND a.name like '%${name}%'
</if> </if>
<if test="company != null and company != ''"> <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>
<if test="duty != null and duty != ''"> <if test="duty != null and duty != ''">
AND b.duty like '%${duty}%' AND b.duty like '%${duty}%'
...@@ -77,7 +79,9 @@ ...@@ -77,7 +79,9 @@
AND a.name like '%${name}%' AND a.name like '%${name}%'
</if> </if>
<if test="company != null and company != ''"> <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>
<if test="duty != null and duty != ''"> <if test="duty != null and duty != ''">
AND b.duty like '%${duty}%' AND b.duty like '%${duty}%'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论