【604】基于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";
}
}