开发工具: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("删除成功");
}
}
}