Code Monkey home page Code Monkey logo

newbee-mall-api's Introduction

Build Status Version 2.0.0 License

newbee-mall 项目是一套电商系统,基于 Spring Boot 和 Vue 以及相关技术栈开发。前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

当前分支的 Spring Boot 版本为 2.7.5,想要学习和使用其它版本可以直接点击下方的分支名称跳转至对应的仓库分支中。

分支名称 Spring Boot Version
spring-boot-2.3.7 2.3.7-RELEASE
spring-boot-2.6.x 2.6.3
main 2.7.5
spring-boot-3.x 3.1.0

坚持不易,如果觉得项目还不错的话可以给项目一个 Star 吧,也是对我一直更新代码的一种鼓励啦,谢谢各位的支持。

newbee-mall-info

newbee-mall (新蜂商城)系列项目概览

newbee-mall-course-2022

项目名称 仓库地址 备注
newbee-mall newbee-mall in GitHub
newbee-mall in Gitee
初始版本、Spring Boot、Thymeleaf、MyBatis、MySQL
newbee-mall-plus newbee-mall-plus in GitHub
newbee-mall-plus in Gitee
升级版本、优惠券、秒杀、支付、Spring Boot、Thymeleaf、MyBatis、MySQL、Redis
newbee-mall-cloud newbee-mall-cloud in GitHub
newbee-mall-cloud in Gitee
微服务版本、分布式事务、Spring Cloud Alibaba、Nacos、Sentinel、OpenFeign、Seata
newbee-mall-api newbee-mall-api in GitHub
newbee-mall-api in Gitee
前后端分离、Spring Boot、MyBatis、Swagger、MySQL
newbee-mall-api-go newbee-mall-api-go in GitHub
newbee-mall-api-go in Gitee
前后端分离、Go、Gin、MySQL
newbee-mall-vue-app newbee-mall-vue-app in GitHub
newbee-mall-vue-app in Gitee
前后端分离、Vue2、Vant
newbee-mall-vue3-app newbee-mall-vue3-app in GitHub
newbee-mall-vue3-app in Gitee
前后端分离、Vue3、Vue-Router4、Vuex4、Vant3
vue3-admin vue3-admin in GitHub
vue3-admin in Gitee
前后端分离、Vue3、Element-Plus、Vue-Router4、Vite

更多 Spring Boot 实战项目可以关注十三的另一个代码仓库 spring-boot-projects,该仓库中主要是 Spring Boot 的入门学习教程以及一些常用的 Spring Boot 实战项目教程,包括 Spring Boot 使用的各种示例代码,同时也包括一些实战项目的项目源码和效果展示,实战项目包括基本的 web 开发以及目前大家普遍使用的前后端分离实践项目等,后续会根据大家的反馈继续增加一些实战项目源码,摆脱各种 hello world 入门案例的束缚,真正的掌握 Spring Boot 开发。

关注公众号:程序员十三,回复"勾搭"进群交流。

wx-gzh

开发及部署文档

Vue3 + Spring Boot 版本

Vue3 + Spring Boot 商城升级版本

联系作者

大家有任何问题或者建议都可以在 issues 中反馈给我,我会慢慢完善这个项目。

软件著作权

本系统已申请软件著作权,受国家版权局知识产权以及国家计算机软件著作权保护!

接口文档

页面展示

以下为新蜂商城 Vue 版本的页面预览:

  • 登录页

  • 首页

  • 商品搜索

  • 商品详情页

  • 购物车

  • 生成订单

  • 地址管理

  • 订单列表

  • 订单详情

感谢

newbee-mall-api's People

Contributors

nanrailgun avatar newbee-mall avatar zhenfeng13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newbee-mall-api's Issues

更新库存返回结果与预期不一致

开源作者,您好。
当前项目中NewBeeMallGoodsMapper#updateStockNum方法在更新库存时,返回结果与预期不一致。
当更新多个商品库存时若其中一个商品库存少于购买数时,也会返回1 则无法根据返回值判断商品库存是否全部更新成功,可能会出现超卖问题。
测试代码已上传至我的fork仓库中


项目截图如下:
10005库存为0
更新库存
返回值依旧为1
并发可能存在超卖问题

pom.xml error

缺失验证依赖包的引入 , 导致编译不通过

<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>

vue页面cart.vue修正

很抱歉发在这里,因为你的vue那里不允许提交issues.

第114 这段修正:

async onChange(value, detail) {
if (this.list.filter(item => item.CartItemId == detail.name)[0].GoodsCount == value) return
Toast.loading({ message: '修改中...', forbidClick: true });
const params = {
cartItemId: detail.name,
goodsCount: value
}
try {
const { data } = await modifyCart(params)
this.list.forEach(item => {
if (item.CartItemId == detail.name) {
item.GoodsCount = value
}
})
} catch (e) {
console.log( e.message );
}
Toast.clear();
},

加了catch, 要不然浏览器中红叉叉难看

HashMap初始入参

ltd.newbee.mall.api.NewBeeMallGoodsAPI#search
--Map params = new HashMap(4);

最大params是6,初始化大小设置为8是不是好点?
设置为4,*0.75的话,设置到第四个就会开始走扩容了
设置为8,*0.75的话,设置到第六个也不会扩容

账号管理保存功能将用户密码修改为空字符串,导致用户无法登录

开源作者:

​ 您好,首先非常感谢您能将新蜂商城系统开源,该开源项目使我受益匪浅。

​ 之后,我在学习该项目的过程中发现了一个小bug,bug情况如下:

  1. 我在系统中注册了一个user账号,密码为123456

image-20200727171329175

2.当我使用账号管理修改相关信息时,因不想修改密码的缘故没有填写“修改密码”选项
image-20200727171447503
3.进行保存
image-20200727171458532
4.此时的后端调试结果如下,前端将空字符串传至/user/info接口,使得将空字符串(d41d8cd98f00b204e9800998ecf8427e)作为密码写入数据库,最终导致用户无法登录的情况
image-20200727171524993
image-20200727171724023
我按照我自己的想法对项目代码做了修改,即在NewBeeMallUserServiceImpl中的updateUserInfo方法中增加了如下代码:

    //若密码为空字符,则表明用户不打算修改密码,使用原密码保存
    if (!MD5Util.MD5Encode("", "UTF-8").equals(mallUser.getPasswordMd5())){
        user.setPasswordMd5(mallUser.getPasswordMd5());
    }

image-20200727172205558
最终效果如下:

使得用户若未填写“修改密码”选项时,利用原密码进行保存,不修改原密码。
image-20200727172448436
image-20200727172505589


以上就是关于这个小bug情况和解决这个小bug的过程,若对项目的理解不够透彻还请作者见谅。我已经开启了一个pull request。目前,我是一名大二学生,若您能接受此处pull request,那么它将可以出现在我未来春秋招的简历之中。我会非常感激您!

最后,再次感谢您能开源此项目。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.