开发工具:IDEA
服务器:Tomcat9.0, jdk1.8
项目构建:maven
数据库:mysql5.7
系统分用户前台和管理员后台两部分
前端技术:layui等框架实现
服务端技术:springboot+mybatis
项目功能描述:
一、前台:登录、注册、商品搜索、商品详情、立即购买、购物车、我的订单、退出登录
二、后台:
1.登录
2.书籍管理:
(1)书籍列表:分页查询、修改、删除
(2)分类列表:添加、修改、删除、分页查询
3.订单管理:分页查询、查看详情、修改、删除
4.用户管理:分页查询、修改、删除
5.上架书籍
前台截图:
后台截图:
package edu.hut.bookshop.service.impl;
import edu.hut.bookshop.dao.ShoppingCartMapper;
import edu.hut.bookshop.exception.CustomizeException;
import edu.hut.bookshop.pojo.ShoppingCart;
import edu.hut.bookshop.service.ShoppingCartService;
import edu.hut.bookshop.util.ResultCode;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @Description: 购物车模块业务实现类
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ShoppingCartServiceImpl implements ShoppingCartService {
@Resource
private ShoppingCartMapper shoppingCartMapper;
/**
* 添加购物车
* @param cart
* @return
*/
@Override
public int addToShoppingCart(ShoppingCart cart) {
ShoppingCart record = shoppingCartMapper.selectByUserIdAndBookId(cart.getUserId(), cart.getBookId());
if (record != null) {
//如果购物车存在该商品的
throw new CustomizeException(ResultCode.FAILED, "您已经添加过该商品了,不能重复添加哦");
}
return shoppingCartMapper.insert(cart);
}
/**
* 批量删除购物车ID
* @param cartIds 购物车ID数组
* @return
*/
@Override
public int deleteShoppingCarts(int[] cartIds) {
int total=0;
for (Integer cartId:cartIds) {
total += deleteShoppingCartByCartId(cartId);
}
return total;
}
/**
* 根据ID删除购物车
* @param cartId
* @return
*/
@Override
public int deleteShoppingCartByCartId(Integer cartId) {
return shoppingCartMapper.deleteByCartId(cartId);
}
/**
* 更新购物车
* @param cart
* @return
*/
@Override
public int updateShoppingCart(ShoppingCart cart) {
return shoppingCartMapper.updateByByCartId(cart);
}
/**
* 根据用户ID获取购物车
* @param userId
* @return
*/
@Override
public List<ShoppingCart> getShoppingCartsByUserId(Integer userId) {
List<ShoppingCart> carts = shoppingCartMapper.selectByUserId(userId);
return carts;
}
}
package edu.hut.bookshop.service.impl;
import java.util.List;
import javax.annotation.Resource;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import edu.hut.bookshop.dao.OrderMapper;
import edu.hut.bookshop.pojo.Order;
import edu.hut.bookshop.service.OrderService;
@Service
public class OrderServiceImpl implements OrderService {
@Resource
private OrderMapper orderMapper;
@Override
public int deleteByOrderId(Integer orderId) {
// TODO Auto-generated method stub
int orders = orderMapper.deleteByOrderId(orderId);
return 0;
}
@Override
@Deprecated
public int insert(Order record) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Order selectByOrderId(Integer orderId) {
// TODO Auto-generated method stub
Order orders = orderMapper.selectByOrderId(orderId);
if(orders!=null)
return orders;
else
return null;
}
@Override
public int updateByOrderId(Order record) {
// TODO Auto-generated method stub
int orders = orderMapper.updateByOrderId(record);
return orders;
}
@Override
public List<Order> selectAll() {
// TODO Auto-generated method stub
List<Order> orders = orderMapper.selectAll();
return orders;
}
@Override
public List<Order> selectByUserId(Integer userId) {
// TODO Auto-generated method stub
List<Order> orders = orderMapper.selectByUserId(userId);
return orders;
}
/*@Override
public int orderIsExits(Integer orderId)
{
Order order = orderMapper.selectByOrderId(orderId);
if(order!=null)
return 1;
else
return 0;
}*/
/**
* 多条件搜索订单 ---by guozongchao
*
* @param order
* @param page
* @param limit
* @return
*/
@Override
public List<Order> searchOrders(Order order, Integer page, Integer limit) {
PageHelper.startPage(page, limit);
List<Order> orders = orderMapper.searchOrders(order);
return orders;
}
}