Source code and papers of electronic product sales system based on SpringBoot

【604】Source code and papers of electronic product sales system based on SpringBoot

 

package com.mall.controller;


import com.mall.entity.*;
import com.mall.service.*;
import com.mall.vo.DataVo;
import com.mall.vo.ItemVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author Gee
 * @since 2023-01-06
 */
@Api("订单控制类")
@Controller
public class IorderController {
    @Autowired
    private IorderService orderService;
    @Autowired
    private CartService cartService;
    @Autowired
    private OrderShippingService orderShippingService;
    @Autowired
    private OrderDetailService orderDetailService;
    @Autowired
    private ItemService itemService;
    @Autowired
    private UserService userService;
    @Autowired
    private OplogService oplogService;
    /**
     * 跳转
     */
    @RequestMapping("/toOrder")
    @ApiOperation("前往后台订单列表")
    public String toOrder() {
        return "back/order";
    }

    @RequestMapping("order")
    @ApiOperation("订单分页列表")
    @ResponseBody
    public DataVo<Iorder> selectList(Integer page, Integer limit) {
        DataVo<Iorder> dataVo = orderService.selectList(page, limit);
        return dataVo;
    }

    @RequestMapping("delOrder")
    @ApiOperation("删除订单")
    @ResponseBody
    public DataVo delOrder(String ids, HttpSession session, HttpServletRequest request) {
        final List<String> idList = Arrays.asList(ids.split(","));
        Oplog oplog = new Oplog();
        for (String id : idList) {
            orderService.delOrder(Long.parseLong(id));
            orderDetailService.delDetailByOrderId(Long.parseLong(id));//订单删除时,详情表中的数据随之删除
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("删除订单号为:" + id + "的所有数据(包括订单表和订单详情表)");
            oplog.setOpStatus(1);
            oplogService.add(oplog);
        }
        return DataVo.del();
    }

    @RequestMapping("delOrder1/{id}")
    @ApiOperation("删除订单1")
    public String delOrder1(@PathVariable("id") Long id,HttpSession session,HttpServletRequest request) {
        Oplog oplog = new Oplog();
        orderService.delOrder(id);
        orderDetailService.delDetailByOrderId(id);
        oplog.setIp(request.getRemoteAddr());
        oplog.setOpUser(((User) session.getAttribute("user")).getUname());
        oplog.setOpEvent("删除订单号为:" + id + "的所有数据(包括订单表和订单详情表)");
        oplog.setOpStatus(1);
        oplogService.add(oplog);
        return "redirect:/toMyOrder";
    }

    @RequestMapping("/updateOrder")
    @ApiOperation("更新订单")
    @ResponseBody
    public DataVo updateOrder(@RequestBody Iorder iorder,HttpSession session,HttpServletRequest request) {
        Oplog oplog = new Oplog();
        if (iorder != null) {
            orderService.updateOrder(iorder);
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("更新订单号为:"+iorder.getId()+"的数据");
            oplog.setOpStatus(1);
            oplogService.add(oplog);
            return DataVo.update();
        }
        return DataVo.empty();
    }

    @RequestMapping("/createOrder")
    @ApiOperation("前台下单")
    public String createOrder(HttpSession session,Model model, BigDecimal cost,HttpServletRequest request) {
        User user = (User) session.getAttribute("user");
        Oplog oplog = new Oplog();
        final OrderShipping shipping = orderShippingService.selectByUserId(user.getId());//查询出地址信息
        Iorder iorder = new Iorder();
        iorder.setUserId(user.getId());//为订单赋予用户ID
        iorder.setBuyerNick(user.getUserName());//为订单赋予用户昵称
        iorder.setAddress(shipping.getReceiverAddress());//为订单赋予地址
        iorder.setPayment(cost);//为订单赋予总金额
        iorder.setState(1);
        orderService.addOrder(iorder);//创建订单
        System.out.println("订单号为:"+iorder.getId());
        final List<Cart> cartList = cartService.selectListByUserId(user.getId());//查询出购物车列表
        OrderDetail orderDetail = new OrderDetail();
        for (Cart cart : cartList) {
            final ItemVo itemVo = itemService.selectById(cart.getItemId());
            orderDetail.setItemId(cart.getItemId());//为订单详情赋予商品ID
            orderDetail.setOrderId(iorder.getId());//为订单详情赋予订单ID
            orderDetail.setQuantity(cart.getNum());//为订单详情赋予商品数量
            orderDetail.setCost((itemVo.getPrice()).multiply(BigDecimal.valueOf(cart.getNum())));//为订单详情赋予金额信息
            orderDetailService.addOrderDetail(orderDetail);
            cartService.delCart(cart.getId());
            //日志
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("购买了"+itemVo.getTitle()+",数量为:"+cart.getNum());
            oplog.setOpStatus(1);
            oplogService.add(oplog);
        }
        model.addAttribute("orderId", iorder.getId());
        return "mall/order-success";
    }

    /**
     * 跳转
     */

    @RequestMapping("/toAddOrder")
    @ApiOperation("后台前往订单添加页面")
    public String toAddOrder() {
        return "back/order-add";
    }

    @RequestMapping("/toUpdateOrder")
    @ApiOperation("后台前往订单更新页面")
    public String toUpdateOrder(Long id, Model model) {
        System.out.println(id);
        final Iorder order = orderService.selectById(id);
        model.addAttribute("order", order);
        return "back/order-view";
    }

    @RequestMapping("/toCreateOrder")
    @ApiOperation("前台前往下单页面")
    public String toCreateOrder(HttpSession session, Model model) {
        User user = (User) session.getAttribute("user");
        final List<Cart> carts = cartService.selectListByUserId(user.getId());
        model.addAttribute("cartList", carts);
        return "mall/order";
    }

    @RequestMapping("toMyOrder")
    @ApiOperation("前台前往我的订单页面")
    public String toMyOrder(HttpSession session, Model model) {
        User user = (User) session.getAttribute("user");
        User user1 = userService.selectByUserId(user.getId());
        final List<Iorder> orderList = orderService.selectByUserId(user.getId());
        model.addAttribute("user", user1);
        model.addAttribute("orderList", orderList);
        return "mall/my-order";
    }

    @RequestMapping("updateState")
    public String updateState(Long id,Integer state){

        Iorder iorder = orderService.selectById(id);
        iorder.setState(state);
        orderService.updateOrder(iorder);
        return "redirect:/toMyOrder";
    }



    @RequestMapping("updateOrderState")
    @ResponseBody
    public DataVo updateOrderState(Long  id, HttpSession session, HttpServletRequest request) {

        Iorder iorder = orderService.selectById(id);
        iorder.setState(2);
        orderService.updateOrder(iorder);
        return DataVo.update();
    }


    @RequestMapping("updateOrderState1")
    @ResponseBody
    public DataVo updateOrderState1(Long  id, HttpSession session, HttpServletRequest request) {

        Iorder iorder = orderService.selectById(id);
        iorder.setState(3);
        orderService.updateOrder(iorder);
        return DataVo.update();
    }
}

package com.mall.controller;


import com.mall.entity.Item;
import com.mall.entity.ItemCat;
import com.mall.entity.Oplog;
import com.mall.entity.User;
import com.mall.service.ItemCatService;
import com.mall.service.ItemService;
import com.mall.service.OplogService;
import com.mall.vo.DataVo;
import com.mall.vo.ItemVo;
import io.swagger.annotations.Api;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Arrays;
import java.util.List;

/**
 * <p>
 * 商品表 前端控制器
 * </p>
 *
 * @author Gee
 * @since 2023-01-06
 */
@Api("商品控制类")
@Controller
public class ItemController {
    @Autowired
    private ItemService itemService;
    @Autowired
    private ItemCatService itemCatService;
    @Autowired
    private OplogService oplogService;
    /**
     * 前后端分离
     *
     * @return
     */
    @RequestMapping("/item")
    @ResponseBody
    public DataVo select(Integer page, Integer limit) {
        return itemCatService.selectList(page, limit);

    }


    @RequestMapping("/add")
    @ResponseBody
    public DataVo add(@RequestBody Item item, HttpServletRequest request, HttpSession session) {
        Oplog oplog = new Oplog();
        if (item != null) {
            itemService.insert(item);
            //日志
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("新增商品数据");
            oplog.setOpStatus(1);
            oplogService.add(oplog);
            return DataVo.add();
        }
        return DataVo.empty();
    }

    @RequestMapping("/deleteByIds")
    @ResponseBody
    public DataVo del(String ids, HttpServletRequest request, HttpSession session) {
        Oplog oplog = new Oplog();
        final List<String> idList = Arrays.asList(ids.split(","));
        for (String id : idList) {
            itemService.deleteByIds(Long.parseLong(id));
            //日志
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("删除ID为:"+id+"的商品数据");
            oplog.setOpStatus(1);
            oplogService.add(oplog);
        }

        return DataVo.del();
    }

    @RequestMapping("/update")
    @ResponseBody
    public DataVo update(@RequestBody Item item, HttpServletRequest request, HttpSession session) {
        Oplog oplog = new Oplog();
        if (item != null) {
            itemService.update(item);
            //日志
            oplog.setIp(request.getRemoteAddr());
            oplog.setOpUser(((User) session.getAttribute("user")).getUname());
            oplog.setOpEvent("修改商品数据");
            oplog.setOpStatus(1);
            oplogService.add(oplog);
            return DataVo.update();
        }
        return DataVo.empty();
    }

    /**
     * 跳转界面
     */
    @RequestMapping("/toItem")
    public String toItem() {
        return "back/item";
    }

    @RequestMapping("/toInsert")
    public String toInsert(Model model) {
        final List<ItemCat> select = itemCatService.select();
        model.addAttribute("select", select);
        return "back/item-add";
    }

    @GetMapping("/toUpdate")
    public String toUpdate(Long id, Model model) {
        System.out.println(id);
        final ItemVo itemVo = itemService.selectById(id);
        model.addAttribute("itemVo", itemVo);
        //为选择框传入默认分类id
        final String cname = itemVo.getName();
        final Long catId = itemCatService.selectIdByName(cname);
        model.addAttribute("catId", catId);
        //为选择框传入分类id和分类名
        final List<ItemCat> select = itemCatService.select();
        model.addAttribute("select", select);
        return "back/item-view";
    }
    
    @RequestMapping("/toMore/{id}")
    public String toMore(@PathVariable("id") Long id, Model model) {
        final ItemVo itemVo = itemService.selectById(id);
        model.addAttribute("product", itemVo);
        return "mall/single";
    }

    /**
     * 进入网站首页
     *
     * @param model
     * @return
     */
    @RequestMapping("/")
    public String select2(Model model) {
        final List<Item> items = itemService.select();
        model.addAttribute("list", items);
        final List<ItemCat> catList = itemCatService.select();
        model.addAttribute("catList", catList);
        return "mall/index";
    }

    /**
     * 所有商品
     */
    @RequestMapping("/toAllItem")
    public String toAllItem(Model model) {
        final List<ItemCat> catList = itemCatService.select();
        model.addAttribute("catList", catList);
        final List<Item> itemList = itemService.select();
        model.addAttribute("itemList", itemList);
        return "mall/commodity";
    }

    /**
     * 查询结果页
     */
    @RequestMapping("/toResult")
    public String toResult(String title, Model model, HttpServletRequest request, HttpSession session) {
        Oplog oplog = new Oplog();
        final List<Item> itemList = itemService.selectLikeName(title);
        model.addAttribute("itemList", itemList);
        final List<ItemCat> cats = itemCatService.select();
        model.addAttribute("cats", cats);
        //日志
        oplog.setIp(request.getRemoteAddr());
        oplog.setOpUser(((User) session.getAttribute("user")).getUname());
        oplog.setOpEvent("查询名为"+title+"的数据");
        oplog.setOpStatus(1);
        oplogService.add(oplog);

        return "mall/result";
    }
    /**
     * 根据分类查出商品
     */
    @RequestMapping("/toCatResult/{id}")
    public String toCatResult(@PathVariable("id") Long id, Model model) {
        final List<Item> itemList = itemService.selectListByCid(id);
        model.addAttribute("itemList", itemList);
        final List<ItemCat> cats = itemCatService.select();
        model.addAttribute("cats", cats);
        return "mall/cat-result";
    }
}

Guess you like

Origin blog.csdn.net/weixin_46437112/article/details/135403878