linlinjava / litemall

又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
MIT License
19.25k stars 7.21k forks source link

搜藏功能未完全实现 #455

Closed longmain closed 3 years ago

longmain commented 3 years ago

问题描述 收藏夹功能在设计的时候可以收藏商品也可以收藏专题。但实现上只完成了商品的收藏,并没有实现专题的收藏。

可选方案: 一、简化Collect表的结构,去掉专题的收藏。 不建议!

二、完善专题收藏

  1. 在CollectService中count方法增加收藏类别。由count(int uid, Integer gid)改为count(int uid, Byte type, Integer oid)
    public int count(int uid, Byte type, Integer gid) {
        CollectExample example = new CollectExample();
        example.or().andUserIdEqualTo(uid).andValueIdEqualTo(gid).andTypeEqualTo(type).andDeletedEqualTo(false);
        return (int) collectMapper.countByExample(example);
    }
  2. WxTopicController中仿照WxGoodsController中商品详情的逻辑增加用户是否收藏查询。

    
        // 用户收藏
        int userHasCollect = 0;
        if (userId != null) {
            byte type = 1;
            userHasCollect = collectService.count(userId, type, id);
        }
                ......
                entity.put("userHasCollect", userHasCollect);
  3. 前台小程序在专题详情中增加收藏标记,并配合做添加/删除动作;
  4. 用户中心收藏夹中改为tab也展示,分别展示商品和专题的收藏。
linlinjava commented 3 years ago

可以的,要是直接pr就更好了

longmain commented 3 years ago

可以的,要是直接pr就更好了