一、简介

本文给咱们引荐博主自己开源的电商项目newbee-mall-pro。在newbee-mall项目的基础上建立而来, 运用 mybatis-plus 作为 orm 层框架,并增加了一系列高档功用以及代码优化并且已经升级至 Spring Boot3.0,项目功用特性如下:

  1. 商城首页 【为你引荐】 栏目增加协同过滤算法。依照 UserCF 根据用户的协同过滤、ItemCF 根据物品的协同过滤,完成了两种不同的引荐逻辑。
  2. RedisSearch:支撑中文分词查找,支撑产品名称、简介、标签作为查找项,以及新品、价格排序。

RediSearch 是一个源码可用的 Redis 模块,能够对 Redis 进行查询、二级索引和全文查找。这些功用支撑在文本查询之上进行多字段查询、聚合、精确短语匹配、数字过滤、地舆过滤和矢量相似性语义查找。

  1. 秒杀专区:支撑功用完备,出产可用的高档秒杀功用。
  2. 优惠卷专区:支撑优惠卷后台配置、用户注册赠卷、下单页面优惠卷运用等功用。
  3. 商城首页支撑运用滑块验证码登录。
  4. 付出时集成了付出宝沙箱付出,能够在开发环境体验付出宝付出效果。
  5. 集成 Pace 页面,增加网页进度条,页面跳转美化。
  6. 增加 Spring 事情监听机制,异步解耦下单流程。
  7. 集成spring-session-redis,支撑分布式布置。
  8. 集成mybatis-xmlreload,支撑xml文件热加载。

newbee-mall-pro 项目地址:

  • 源码地址:github.com/wayn111/new…
  • 在线地址:http://121.4.124.33/newbeemall

二、特性简介

2.1 引荐算法

商城首页 【为你引荐】 栏目增加协同过滤算法。依照UserCF根据用户的协同过滤、ItemCF根据物品的协同过滤。完成了两种不同的引荐逻辑。

  • UserCF:根据用户的协同过滤。当一个用户A需要个性化引荐的时候,咱们能够先找到和他有相似爱好的其他用户,然后把那些用户喜爱的,而用户A没有听说过的物品引荐给A。

    推荐一款优秀电商开源项目
    假设用户 A 喜爱物品 A、物品 C,用户 B 喜爱物品 B,用户 C 喜爱物品 A、物品 C 和物品 D;从这些用户的前史喜好信息中,咱们能够发现用户 A 和用户 C 的口味和偏好是比较相似的,一起用户 C 还喜爱物品 D,那么咱们能够推断用户 A 或许也喜爱物品 D,因而能够将物品 D 引荐给用户 A。详细代码在ltd.newbee.mall.recommend.core.UserCF中。

  • itemCF:根据物品的协同过滤。预先根据所以用户的前史偏好数据核算物品之间的相似度,然后把与用户喜爱的物品相相似的物品引荐给用户。

    推荐一款优秀电商开源项目
    假如用户A喜爱物品A和物品C,用户B喜爱物品A、物品B和物品C,用户C喜爱物品A,从这些用户的前史喜好中能够以为物品A与物品C比较相似,喜爱物品A的都喜爱物品C,根据这个判别用户C或许也喜爱物品C,所以引荐系统将物品C引荐给用户C。详细代码在ltd.newbee.mall.recommend.core.ItemCF中。

2.2 中文分词

商城增加RedisSearch查找,支撑中文分词查找,引荐、新品、价格排序查找

  1. 增加RedisSearch测试用例
  2. 后台增加RedisSearch同步按钮
  3. 商城支撑RedisSearch中文分词查找

2.3 依靠集成、升级

  1. 集成tianai-captcha滑块验证码,支撑后端验证码校验
    推荐一款优秀电商开源项目
  2. 增加 Spring 事情监听机制,解耦下单流程,将下单流程拆解为订单校验、生成订单号、发送事情异步保存订单流程
  3. 集成spring-session-redis,支撑分布式布置

2.3 秒杀专区

秒杀功用如下:

  1. 秒杀页面静态化
  2. 增加了秒杀接口限流,根据springAOP完成
  3. 增加了秒杀接口避免重复提交,根据spring拦截器完成
  4. 运用令牌桶算法过滤用户恳求
  5. 运用redis-set数据结构判别用户是否买过秒杀产品
  6. 运用redis配合lua脚本进行原子自减,判别产品缓存库存是否大于0
  7. 获取产品缓存,判别秒杀产品是否再有效期内
  8. 履行存储过程(减库存 + 记录购买行为)
  9. 运用redis-set数据结构记录购买过的用户
  10. 回来用户秒杀成功VO
  11. 下单后启用秒杀订单5分钟未付出超期任务
  12. 订单5分钟内未付出则主动撤销订单并回退库存

推荐一款优秀电商开源项目
推荐一款优秀电商开源项目
推荐一款优秀电商开源项目
推荐一款优秀电商开源项目
秒杀专区为用户展示了后台设置的秒杀产品,在秒杀有效期内能够进行产品秒杀操作。


三、在线截图

商城首页
推荐一款优秀电商开源项目
产品查找
推荐一款优秀电商开源项目
购物车
推荐一款优秀电商开源项目
订单结算
推荐一款优秀电商开源项目
订单列表
推荐一款优秀电商开源项目
付出页面
推荐一款优秀电商开源项目
分类办理
推荐一款优秀电商开源项目
会员办理
推荐一款优秀电商开源项目
优惠劵办理
推荐一款优秀电商开源项目
产品办理
推荐一款优秀电商开源项目
秒杀办理
推荐一款优秀电商开源项目
订单办理
推荐一款优秀电商开源项目

总结

欢迎咱们参与运用newbee-mall-pro项目,运用中遇到问题欢迎咱们提出。我都会逐个检查并回复。再附newbee-mall-pro项目地址:

  • 源码地址:github.com/wayn111/new…
  • 在线地址:http://121.4.124.33/newbeemall

最后再说一句,感爱好的朋友能够点赞加关注,你的支撑将是我更新动力。

本文正在参加「金石方案」