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

【464】基于springboot layui二手书交易平台源码

 开发工具:idea 或eclipse
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等

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

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 2021-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("删除成功");
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿毕业分享网

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

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

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

打赏作者

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

抵扣说明:

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

余额充值