基于springboot layui二手书交易平台源码和论文

这是一个基于SpringBoot和LayUI的二手书交易平台的后端代码实现,包括了用户订单管理(发起的订单和收到的订单)和商品管理功能,支持分页查询和操作。用户可以进行下单、更新订单状态以及删除订单等操作。
摘要由CSDN通过智能技术生成

开发工具:idea (eclipse) 环境:jdk1.8 mysql5.7 数据库库连接工具 navcat

技术:
 后端:springboot mybatis springmvc
前端: layUI  html  jquery  ajax

管理员账号密码: admin  admin
用户密码:123456

演示视频:

【java毕业设计】基于springboot layui二手书交易平台源码和论文

 

 

package com.hn.secondhand.control.user;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.hn.secondhand.dto.OrderDTO;
import com.hn.secondhand.dto.OrderInfoDTO;
import com.hn.secondhand.po.Goods;
import com.hn.secondhand.po.Order;
import com.hn.secondhand.po.User;
import com.hn.secondhand.service.GoodsService;
import com.hn.secondhand.service.OrderService;
import com.hn.secondhand.tool.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Created by hn on 2023-4-11.
 */
@Controller("user/OrderController")
@RequestMapping("user")
public class OrderController {
    @Resource
    private HttpServletRequest request;

    @Resource
    private OrderService orderService;

    @Resource
    private GoodsService goodsService;

    @GetMapping("/order")
    public String goOrder() {
        return "/user/order";
    }

    // 异步获取我发起的订单分页数据
    @PostMapping("/order/buyer")
    @ResponseBody
    public Result buyOrder(Integer pageNum, Integer pageSize) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        // 设置分页规则
        PageHelper.startPage(pageNum, pageSize);
        Page<Order> orderList = orderService.pageByBuyerID(sessionUser.getId());
        // 封装订单数据
        Page<OrderInfoDTO> orderPage = new Page<>();
        for (int i = 0; i < orderList.size(); i++) {
            OrderInfoDTO orderInfoDTO= new OrderInfoDTO();
            Order order = orderList.get(i);
            Goods goods = goodsService.getGoodsById(order.getGoods_id());
            orderInfoDTO.setId(order.getId());
            orderInfoDTO.setBuyer_id(order.getBuyer_id());
            orderInfoDTO.setBuyer_name(order.getBuyer_name());
            orderInfoDTO.setBuyer_address(order.getBuyer_address());
            orderInfoDTO.setBuyer_phone(order.getBuyer_phone());
            orderInfoDTO.setSeller_id(order.getSeller_id());
            orderInfoDTO.setGoods_id(order.getGoods_id());
            orderInfoDTO.setGoods_title(goods.getTitle());
            orderInfoDTO.setGoods_price(goods.getPrice());
            orderInfoDTO.setGoods_phone(goods.getContact());
            orderInfoDTO.setGoods_image(goods.getImage());
            orderInfoDTO.setGmt_create(order.getGmt_create());
            orderInfoDTO.setGmt_modified(order.getGmt_modified());
            orderInfoDTO.setDisplay(order.getDisplay());
            orderPage.add(orderInfoDTO);
        }
        orderPage.setPageNum(orderList.getPageNum());
        orderPage.setPageSize(orderList.getPageSize());
        orderPage.setStartRow(orderList.getStartRow());
        orderPage.setEndRow(orderList.getEndRow());
        orderPage.setTotal(orderList.getTotal());
        orderPage.setPages(orderList.getPages());
        orderPage.setReasonable(orderList.getReasonable());
        return Result.success("我发起的订单", orderPage.toPageInfo());
    }

    // 异步获取我收到的订单分页数据
    @PostMapping("/order/seller")
    @ResponseBody
    public Result sellOrder(Integer pageNum, Integer pageSize) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        // 设置分页规则
        PageHelper.startPage(pageNum, pageSize);
        Page<Order> orderList = orderService.pageBySellerID(sessionUser.getId());
        // 封装订单数据
        Page<OrderInfoDTO> orderPage = new Page<>();
        for (int i = 0; i < orderList.size(); i++) {
            OrderInfoDTO orderInfoDTO= new OrderInfoDTO();
            Order order = orderList.get(i);
            Goods goods = goodsService.getGoodsById(order.getGoods_id());
            orderInfoDTO.setId(order.getId());
            orderInfoDTO.setBuyer_id(order.getBuyer_id());
            orderInfoDTO.setBuyer_name(order.getBuyer_name());
            orderInfoDTO.setBuyer_address(order.getBuyer_address());
            orderInfoDTO.setBuyer_phone(order.getBuyer_phone());
            orderInfoDTO.setSeller_id(order.getSeller_id());
            orderInfoDTO.setGoods_id(order.getGoods_id());
            orderInfoDTO.setGoods_title(goods.getTitle());
            orderInfoDTO.setGoods_price(goods.getPrice());
            orderInfoDTO.setGoods_phone(goods.getContact());
            orderInfoDTO.setGoods_image(goods.getImage());
            orderInfoDTO.setGmt_create(order.getGmt_create());
            orderInfoDTO.setGmt_modified(order.getGmt_modified());
            orderInfoDTO.setDisplay(order.getDisplay());
            orderPage.add(orderInfoDTO);
        }
        orderPage.setPageNum(orderList.getPageNum());
        orderPage.setPageSize(orderList.getPageSize());
        orderPage.setStartRow(orderList.getStartRow());
        orderPage.setEndRow(orderList.getEndRow());
        orderPage.setTotal(orderList.getTotal());
        orderPage.setPages(orderList.getPages());
        orderPage.setReasonable(orderList.getReasonable());
        return Result.success("我收到的订单", orderPage.toPageInfo());
    }

    // 用户下单
    @PostMapping("/order/insert")
    @ResponseBody
    public Result insert(@RequestBody OrderDTO orderDTO) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        if (sessionUser == null) {
            return Result.fail("请先登录");
        }
        List<Order> orderList = new ArrayList<>();
        for (int i = 0; i < orderDTO.getGoodsList().size(); i++) {
            Order order = new Order();
            order.setBuyer_id(sessionUser.getId());
            order.setBuyer_name(orderDTO.getBuyer_name());
            order.setBuyer_address(orderDTO.getBuyer_address());
            order.setBuyer_phone(orderDTO.getBuyer_phone());
            order.setSeller_id(orderDTO.getGoodsList().get(i).getUid());
            order.setGoods_id(orderDTO.getGoodsList().get(i).getId());
            Date date = new Date();
            order.setGmt_create(date);
            order.setGmt_modified(date);
            order.setDisplay(0);
            orderList.add(order);
        }
        int res = orderService.insertBatch(orderList);
        if (res < 1) {
            return Result.fail("系统异常");
        }
        return Result.success("下单成功");
    }

    // 更新订单状态
    @PostMapping("/order/update")
    @ResponseBody
    public Result update(Order order) {
        int res = orderService.updateDisplay(order);
        if (res != 1) {
            return Result.fail("系统异常");
        } else {
            if (order.getDisplay() == 1) {
                return Result.success("更新成功,请及时发货");
            } else {
                return Result.success("收货成功");
            }

        }
    }

    // 删除订单
    @PostMapping("/order/delete")
    @ResponseBody
    public Result delete(Integer id) {
        int res = orderService.delete(id);
        if (res != 1) {
            return Result.fail("系统异常");
        } else {
            return Result.success("删除成功");
        }
    }
}

 

package com.hn.secondhand.control.user;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.hn.secondhand.dto.GoodsDTO;
import com.hn.secondhand.po.Goods;
import com.hn.secondhand.po.Sort;
import com.hn.secondhand.po.User;
import com.hn.secondhand.service.GoodsService;
import com.hn.secondhand.service.SortService;
import com.hn.secondhand.tool.Result;
import com.hn.secondhand.tool.UploadUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.List;

/**
 * Created by hn on 2021-4-11.
 */
@Controller("user/GoodsController")
@RequestMapping("user")
public class GoodsController {

    @Resource
    private HttpServletRequest request;

    @Resource
    private SortService sortService;

    @Resource
    private GoodsService goodsService;

    // 进入发布闲置书籍页面
    @GetMapping("/goods/publish")
    public String goPublish(Model model) {
        List<Sort> sortList = sortService.list();
        model.addAttribute("sortList", sortList);
        return "/user/goods_publish";
    }

    // 发布闲置书籍
    @PostMapping("/goods/publish")
    @ResponseBody
    public Result publish(GoodsDTO goodsDTO) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        try {
            MultipartFile uploadFile = goodsDTO.getImage();
            // 对要上传的图片重命名
            String newFileName = UploadUtils.getNewFileName(uploadFile);
            // 获取存放上传图片的文件夹
            File fileDir = UploadUtils.getImgDirFile();
            // 构建真实的文件路径
            File newFile = new File(fileDir.getAbsolutePath() + File.separator + newFileName);
            // 上传文件
            uploadFile.transferTo(newFile);

            // 保存数据
            Goods goods = new Goods();
            goods.setSort(goodsDTO.getSort());
            goods.setTitle(goodsDTO.getTitle());
            goods.setPrice(goodsDTO.getPrice());
            goods.setContact(goodsDTO.getContact());
            goods.setInfo(goodsDTO.getInfo());
            goods.setImage(newFileName);
            goods.setUid(sessionUser.getId());
            Date date = new Date();
            goods.setGmt_create(date);
            goods.setGmt_modified(date);
            goods.setDisplay(0);
            int res = goodsService.insert(goods);
            if (res < 1) {
                return Result.fail("系统异常");
            }
        } catch (IOException e) {
            e.printStackTrace();
            return Result.fail("系统异常");
        }
        return Result.success("发布成功");
    }

    // 转到我的闲置页面
    @GetMapping("/goods")
    public String goUserGoods() {
        return "user/goods";
    }

    // 异步获取我的闲置分页数据
    @PostMapping("/goods")
    @ResponseBody
    public Result userGoods(Integer pageNum, Integer pageSize) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        // 设置分页规则
        PageHelper.startPage(pageNum, pageSize);
        Page<Goods> goodsList = goodsService.pageGoodsByUid(sessionUser.getId());
        return Result.success("我的闲置列表", goodsList.toPageInfo());
    }

    // 进入更新闲置书籍页面
    @GetMapping("/goods/update/{id}")
    public String goUpdate(@PathVariable Integer id, Model model) {
        Goods goods = goodsService.getGoodsById(id);
        model.addAttribute("goods", goods);
        List<Sort> sortList = sortService.list();
        model.addAttribute("sortList", sortList);
        return "/user/goods_update";
    }

    // 更新闲置书籍
    @PostMapping("/goods/update")
    @ResponseBody
    public Result update(GoodsDTO goodsDTO) {
        User sessionUser = (User) request.getSession().getAttribute("user");
        try {
            MultipartFile uploadFile = goodsDTO.getImage();
            // 对要上传的图片重命名
            String newFileName = UploadUtils.getNewFileName(uploadFile);
            // 获取存放上传图片的文件夹
            File fileDir = UploadUtils.getImgDirFile();
            // 构建真实的文件路径
            File newFile = new File(fileDir.getAbsolutePath() + File.separator + newFileName);
            System.out.println("newFile = " + newFile);
            // 上传文件
            uploadFile.transferTo(newFile);

            // 更新数据
            Goods goods = new Goods();
            goods.setId(goodsDTO.getId());
            goods.setSort(goodsDTO.getSort());
            goods.setTitle(goodsDTO.getTitle());
            goods.setPrice(goodsDTO.getPrice());
            goods.setContact(goodsDTO.getContact());
            goods.setInfo(goodsDTO.getInfo());
            goods.setImage(newFileName);
            goods.setDisplay(0);
            int res = goodsService.update(goods);
            if (res != 1) {
                return Result.fail("系统异常");
            }
        } catch (IOException e) {
            e.printStackTrace();
            return Result.fail("系统异常");
        }
        return Result.success("更新成功");
    }

    // 删除闲置书籍
    @PostMapping("/goods/delete")
    @ResponseBody
    public Result deleteGoods(Integer id) {
        int res = goodsService.delete(id);
        if (res != 1) {
            return Result.fail("系统异常");
        } else {
            return Result.success("删除成功");
        }
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
二手书交易平台是一个比较常见的电商平台,通过Vue和SpringBoot的组合可以快速搭建一个功能完善、界面友好的二手书交易平台。 前端部分: Vue是一款轻量级的JavaScript框架,它的核心是响应式数据绑定和组件化开发。在二手书交易平台中,可以借助Vue的优势实现以下功能: 1. 实现页面的模块化,将页面划分为多个组件,增加代码的可维护性。 2. 利用Vue的数据双向绑定,实现页面数据的动态更新,提高用户体验。 3. 利用Vue的路由功能,实现页面之间的无刷新跳转。 4. 使用Vue的组件化开发,实现页面的复用和扩展。 5. 利用Vue的动画效果,提高页面的美观度和用户体验。 后端部分: SpringBoot是一个快速开发框架,它的核心是约定优于配置和快速开发。在二手书交易平台中,可以借助SpringBoot的优势实现以下功能: 1. 利用SpringBoot的自动配置和约定优于配置的特点,快速搭建Web应用。 2. 利用SpringBoot的集成特性,快速搭建数据库、缓存等服务。 3. 使用SpringBoot的AOP功能,实现日志记录、权限控制等功能。 4. 使用SpringBoot的事务管理功能,确保数据的一致性。 5. 利用SpringBoot的测试框架,实现自动化测试。 总体来说,Vue和SpringBoot的组合可以快速开发一个功能完善、界面友好的二手书交易平台。同时,Vue和SpringBoot都具有良好的社区支持和完善的文档,可以帮助开发者快速解决问题和提高开发效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值