基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)

项目简介

项目使用前后台分离的设计方式、RESTful的设计风格开发。

后台采用Layui框架搭建页面,Ajax 异步请求、Thymeleaf 模板引擎搭配使用。

前台为微信小程序

基于SpringBoot+微信小程序的前后台分离B2C在线商城源码下载链接

https://download.csdn.net/download/DeepLearning_/87352147

后台管理系统

1. 登录

2. 主页

3. 管理员账号

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第1张图片

4. 用户列表

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第2张图片

5. 用户注册

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第3张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第4张图片

6. 商品列表

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第5张图片

7. 商品分页和查询

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第6张图片

8. 添加商品

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第7张图片

9. 修改商品

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第8张图片

10. 分类列表

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第9张图片

11. 分类信息统计

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第10张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第11张图片

前台微信小程序

1. 登录

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第12张图片

2. 注册

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第13张图片

3. 首页

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第14张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第15张图片

4. 搜索中心

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第16张图片

5. 商品分类

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第17张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第18张图片

6. 我的账号

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第19张图片

7. 充值中心

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第20张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第21张图片

8. 商品详情

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第22张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第23张图片

9. 收获地址

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第24张图片

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第25张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第26张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第27张图片

10. 购物车

基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第28张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第29张图片
基于SpringBoot+微信小程序的前后台分离B2C在线商城系统(附源码)_第30张图片

	/**
	 * 	付款
	 * 
	 * 	为防止超买超卖并且涉及到金钱,
	 * 	数据库事物的隔离级别调到串行化,
	 * 	使用表级共享锁:sql语句执行一句就加一个锁,
	 * 	报错就回滚
	 */
	@Override
	@Transactional(
		isolation = Isolation.SERIALIZABLE, 
		rollbackFor = Exception.class
	)
	public Integer payment(Integer userId) {

		// 购物车
		List<Cart> cartList = cartMapper.all(userId);
	
		// 总金额,初始值为0
		BigDecimal totalPrice = new BigDecimal("0");
		
		// 遍历修改每个商品的数量
		for (Cart cart : cartList) {
			// 减少对应商品的库存	 
			goodsMapper.updateCount(cart.getGoods().getId(), cart.getCount());
			
			// 注意:BigDecimal不能用 "*"、"+"等运算,必须用方法
			// multiply:乘,
			// 需要用 new BigDecimal() 方法把数量从Integer转为BigDecimal
			BigDecimal newNum = cart.getGoods().getPrice().multiply(new BigDecimal(cart.getCount()));
			// add:加
			totalPrice = totalPrice.add(newNum);
		}
		
		// 修改用户余额
		Integer userMoney = userMapper.updateMoney(userId, totalPrice);
		
		// 清空购物车,
		// 修改状态 state = 1
		Integer emptyCart = cartMapper.updateState(userId);
		
		// 判断是否成功
		if (userMoney > 0 && emptyCart > 0) {
			return 1;
		} else {
			return 0;
		}
		
	}

你可能感兴趣的:(java,微信小程序,spring,boot,微信小程序,后端,java)