夥伴匹配系統踩坑日記2
Time:2024.8.2
後端構建
複製一份之前的使用者中心後端專案,改名,刪去原來的.idea和.mvn,重啟idea會提示 maven重構
往後寫發現不需要用新的專案,直接在原來的使用者中心裡加功能就行
新建標籤表
create table tag
(
id bigint auto_increment comment 'id'
primary key,
tagName varchar(256) null comment '標籤',
userId bigint null comment '使用者 id',
parentId bigint null comment '父標籤id',
isParent tinyint null comment '0 -不是父標籤,1 -是父標籤',
createTime timestamp default CURRENT_TIMESTAMP null comment '建立時間',
updateTime timestamp default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新時間',
isDelete tinyint default 0 not null comment '是否刪除',
constraint uniIdx_tagName
unique (tagName)
)
comment '標籤';
create index idx_userId
on tag (userId);
編寫根據標籤查詢使用者函式
@Override
public List<User> searchUsersByTags(List<String> tagNameList){
if(CollectionUtils.isEmpty(tagNameList)){
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
QueryWrapper<User> queryWrapper =new QueryWrapper<>();
for(String tagName:tagNameList){
queryWrapper=queryWrapper.like("tags",tagName);
}
List<User> userList=userMapper.selectList(queryWrapper);
return userList.stream().map(this::getSafetyUser).collect(Collectors.toList());
}