| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package space.anyi.controller.admin;
- import space.anyi.entity.*;
- import space.anyi.service.*;
- import space.anyi.util.Converter;
- import space.anyi.entity.vo.OrderVO;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.support.RedirectAttributes;
- import javax.servlet.http.HttpSession;
- import space.anyi.entity.dto.OrderSearchCriteria;
- import java.util.List;
- @Controller
- @RequestMapping("/admin")
- public class AdminOrderController {
- @Autowired private OrderService orderService;
- @Autowired private OrderItemService orderItemService;
- @Autowired private OrderTrackingService orderTrackingService;
- @Autowired private UserService userService;
- @GetMapping("/order")
- public ModelAndView list(@RequestParam(required = false) String status,
- @RequestParam(defaultValue = "1") Integer page) {
- ModelAndView mv = new ModelAndView("admin/order");
- OrderSearchCriteria criteria = new OrderSearchCriteria();
- criteria.setStatus(status);
- List<OrderVO> orderVOs = Converter.toOrderVOList(orderService.findAll(criteria, page, 10));
- for (OrderVO vo : orderVOs) {
- if (vo.getUserId() != null) {
- User user = userService.findById(vo.getUserId());
- if (user != null) {
- vo.setUsername(user.getUsername());
- }
- }
- List<OrderItem> items = orderItemService.findByOrderId(vo.getId());
- vo.setItemCount(items != null ? items.size() : 0);
- }
- mv.addObject("orders", orderVOs);
- mv.addObject("status", status);
- mv.addObject("page", page);
- return mv;
- }
- @GetMapping("/order/{id}")
- public ModelAndView detail(@PathVariable Integer id) {
- ModelAndView mv = new ModelAndView("admin/orderDetail");
- Orders order = orderService.findById(id);
- OrderVO orderVO = Converter.toOrderVO(order);
- if (order.getUserId() != null) {
- User user = userService.findById(order.getUserId());
- if (user != null) {
- orderVO.setUsername(user.getUsername());
- }
- }
- mv.addObject("order", orderVO);
- mv.addObject("items", Converter.toOrderItemVOList(orderItemService.findByOrderId(order.getId())));
- mv.addObject("tracking", Converter.toOrderTrackingVOList(orderTrackingService.findByOrderId(order.getId())));
- return mv;
- }
- @PostMapping("/order/updateStatus")
- public String updateStatus(@RequestParam Integer id, @RequestParam String status,
- @RequestParam(required = false) String remark,
- HttpSession session, RedirectAttributes attr) {
- Admin admin = (Admin) session.getAttribute("admin");
- String operator = admin != null ? admin.getUsername() : "系统";
- orderService.updateStatus(id, status, operator, remark);
- attr.addFlashAttribute("success", "状态已更新");
- return "redirect:/admin/order/" + id;
- }
- }
|