夥伴匹配系統踩坑日記2

vast_joy發表於2024-08-03

夥伴匹配系統踩坑日記2

Time:2024.8.2

後端構建

複製一份之前的使用者中心後端專案,改名,刪去原來的.idea和.mvn,重啟idea會提示 maven重構

image-20240731173428787

往後寫發現不需要用新的專案,直接在原來的使用者中心裡加功能就行

新建標籤表

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());

    }

相關文章