“我本想混毕业,结果SpringBoot二手商品网站把我逼成全栈”——大四学长的逆袭

💖💖作者:计算机毕业设计小途
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目

spring boot二手商品网站介绍

SpringBoot二手商品网站是一款基于B/S架构、面向高校毕业设计场景的完整交易管理系统,后端采用SpringBoot+MyBatis组合,提供RESTful接口,同时保留Django版本源码以满足不同语言偏好;前端以Vue为核心,结合ElementUI快速搭建响应式页面,数据库统一选用MySQL。系统涵盖游客与注册用户双视角:游客可在首页浏览轮播图推荐、最新公告及多级商品分类,通过搜索与筛选查看二手商品详情;注册用户登录后可进入个人中心维护资料,将心仪商品加入购物车并生成订单,订单模块细分已支付、已发货、已完成、已退款四种状态,支持实时跟踪与状态回滚。后台管理端以简洁路由实现商品信息上下架、库存与描述维护,轮播图与公告的动态发布,以及订单批量审核与统计,帮助管理员高效运营整个平台。整套代码遵循MVC分层思想,注释详尽,配置简化,既可直接运行于本地IDE,也可通过内置脚本一键打包部署到云服务器,充分满足计算机专业大四学生在短时间内完成选题、开发、调试与答辩演示的全流程需求。

spring boot二手商品网站演示视频

“我本想混毕业,结果SpringBoot二手商品网站把我逼成全栈”——大四学长的逆袭

spring boot二手商品网站演示图片

系统首页
登陆界面
商品分类
订单管理
卖家管理
个人中心

spring boot二手商品网站代码展示

// 1. 二手商品发布(核心函数:保存商品并生成快照)

@RequestMapping(value = "/item/add", method = RequestMethod.POST)

public ApiResp<String> addItem(@RequestBody ItemDTO dto, HttpSession session){

    Long sellerId = (Long) session.getAttribute("uid");

    dto.setSellerId(sellerId);

    dto.setStatus("ON_SALE");

    dto.setCreateTime(LocalDateTime.now());

    dto.setViewCount(0);

    BigDecimal price = dto.getPrice().setScale(2, RoundingMode.HALF_UP);

    dto.setPrice(price);

    String pics = String.join(",", dto.getPicList());

    dto.setPics(pics);

    itemMapper.insertSelective(dto);

    Long itemId = dto.getId();

    itemSnapshotMapper.insertSnapshot(itemId, dto.getTitle(), price, pics, LocalDateTime.now());

    return ApiResp.success("发布成功");

}

// 2. 加入购物车(核心函数:合并或新增)

@RequestMapping(value = "/cart/add", method = RequestMethod.POST)

public ApiResp<String> addCart(@RequestBody CartDTO dto, HttpSession session){

    Long userId = (Long) session.getAttribute("uid");

    Cart exist = cartMapper.selectByUserAndItem(userId, dto.getItemId());

    if(exist != null){

        int newNum = exist.getQuantity() + dto.getQuantity();

        cartMapper.updateQuantity(exist.getId(), newNum);

    }else{

        Cart c = new Cart();

        c.setUserId(userId);

        c.setItemId(dto.getItemId());

        c.setQuantity(dto.getQuantity());

        c.setCreateTime(LocalDateTime.now());

        cartMapper.insert(c);

    }

    return ApiResp.success("已加入购物车");

}

// 3. 创建订单(核心函数:库存校验、状态初始化、事务)

@Transactional

@RequestMapping(value = "/order/create", method = RequestMethod.POST)

public ApiResp<String> createOrder(@RequestBody List<Long> cartIds, HttpSession session){

    Long buyerId = (Long) session.getAttribute("uid");

    List<Cart> carts = cartMapper.selectByIds(cartIds);

    if(carts.isEmpty()) return ApiResp.error("购物车为空");

    BigDecimal total = BigDecimal.ZERO;

    for(Cart c : carts){

        Item item = itemMapper.selectByPrimaryKey(c.getItemId());

        if(item.getStock() < c.getQuantity())

            throw new BizException("库存不足");

        total = total.add(item.getPrice().multiply(BigDecimal.valueOf(c.getQuantity())));

    }

    Order order = new Order();

    order.setOrderNo(UUID.randomUUID().toString().replace("-",""));

    order.setBuyerId(buyerId);

    order.setStatus("UNPAID");

    order.setCreateTime(LocalDateTime.now());

    order.setTotalPrice(total);

    orderMapper.insert(order);

    for(Cart c : carts){

        Item item = itemMapper.selectByPrimaryKey(c.getItemId());

        itemMapper.updateStock(item.getId(), item.getStock() - c.getQuantity());

        OrderItem oi = new OrderItem();

        oi.setOrderId(order.getId());

        oi.setItemId(c.getItemId());

        oi.setQuantity(c.getQuantity());

        oi.setPrice(item.getPrice());

        orderItemMapper.insert(oi);

    }

    cartMapper.deleteBatch(cartIds);

    return ApiResp.success(order.getOrderNo());

spring boot二手商品网站文档展示

文档

💖💖作者:计算机毕业设计小途
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
网站实战项目
安卓/小程序实战项目
大数据实战项目
深度学习实战项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值