毕业设计-SpringBoot-基于推荐算法的商城管理系统

环境:开发工具:idea,数据库:MySQL5.7 jdk1.8
架构:SpringBoot,前端HTML
主要功能
前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。
后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

项目图片:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码:

public List<NewBeeMallIndexConfigGoodsVO> recommendGoods(String userId){
        List<NewBeeMallIndexConfigGoodsVO> recommendGoods = new ArrayList<>();
        //协同过滤算法
        CoreMath coreMath = new CoreMath();
        //获取商品数据
        List<RelateDTO> relateDTOList = getRelateData();
        //执行算法,返回推荐商品id
        List<Integer> recommendIdLists = coreMath.recommend(Integer.parseInt(userId), relateDTOList);
        if(null == recommendIdLists || recommendIdLists.isEmpty()){
            recommendGoods = null;
        }else {
            //获取商品DTO(这里的过滤是防止商品表该id商品已下架或删除)
            List<ProductDTO> productDTOList = getProductData().stream().filter(e -> recommendIdLists.contains(e.getProductId())).collect(Collectors.toList());
            //获取商品ids
            List<Integer> goodIds = productDTOList.stream().map(e -> e.getProductId()).collect(Collectors.toList());
            List<Long> goodIds2 = JSONArray.parseArray(goodIds.toString(), Long.class);
            //获取所有推荐商品
            List<NewBeeMallGoods> newBeeMallGoods = newBeeMallGoodsMapper.selectByGoodIds(goodIds2);
            //截取10个
            if (newBeeMallGoods.size() > 10) {
                newBeeMallGoods = newBeeMallGoods.stream().limit(10).collect(Collectors.toList());
            }
            //转成VOs
            recommendGoods = BeanUtil.copyList(newBeeMallGoods, NewBeeMallIndexConfigGoodsVO.class);
            //截取商品名字
            for (NewBeeMallIndexConfigGoodsVO newBeeMallIndexConfigGoodsVO : recommendGoods) {
                String goodsName = newBeeMallIndexConfigGoodsVO.getGoodsName();
                String goodsIntro = newBeeMallIndexConfigGoodsVO.getGoodsIntro();
                // 字符串过长导致文字超出的问题
                if (goodsName.length() > 30) {
                    goodsName = goodsName.substring(0, 15) + "...";
                    newBeeMallIndexConfigGoodsVO.setGoodsName(goodsName);
                }
                if (goodsIntro.length() > 22) {
                    goodsIntro = goodsIntro.substring(0, 22) + "...";
                    newBeeMallIndexConfigGoodsVO.setGoodsIntro(goodsIntro);
                }
            }
        }
        return recommendGoods;
    }

获取方式:联系下方名片获取

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机毕业设计,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值