package com.tjl.jerry.controller.fore;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.tjl.jerry.controller.BaseController;
import com.tjl.jerry.entity.*;
import com.tjl.jerry.service.*;
import com.tjl.jerry.util.OrderUtil;
import com.tjl.jerry.util.PageUtil;
import com.tjl.jerry.entity.*;
import com.tjl.jerry.service.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 订单列表页
* @author 贤趣项目小组
*/
@Controller
public class ForeOrderController extends BaseController {
@Resource(name = "productService")
private ProductService productService;
@Resource(name = "userService")
private UserService userService;
@Resource(name = "productOrderItemService")
private ProductOrderItemService productOrderItemService;
@Resource(name = "addressService")
private AddressService addressService;
@Resource(name = "categoryService")
private CategoryService categoryService;
@Resource(name = "productImageService")
private ProductImageService productImageService;
@Resource(name = "productOrderService")
private ProductOrderService productOrderService;
@Resource(name = "reviewService")
private ReviewService reviewService;
@Resource(name = "lastIDService")
private LastIDService lastIDService;
//转到前台天猫-订单列表页
@RequestMapping(value = "order", method = RequestMethod.GET)
public String goToPageSimple() {
return "redirect:/order/0/10";
}
@RequestMapping(value = "order/{index}/{count}", method = RequestMethod.GET)
public String goToPage(HttpSession session, Map<String, Object> map,
@RequestParam(required = false) Byte status,
@PathVariable("index") Integer index/* 页数 */,
@PathVariable("count") Integer count/* 行数*/) {
logger.info("检查用户是否登录");
Object userId = checkUser(session);
User user;
if (userId != null) {
logger.info("获取用户信息");
user = userService.get(Integer.parseInt(userId.toString()));
map.put("user", user);
} else {
return "redirect:/login";
}
Byte[] status_array = null;
if (status != null) {
status_array = new Byte[]{status};
}
PageUtil pageUtil = new PageUtil(index, count);
logger.info("根据用户ID:{}获取订单列表", userId);
List<ProductOrder> productOrderList = productOrderService.getList(
new ProductOrder().setProductOrder_user(
new User().setUser_id(Integer.valueOf(userId.toString()))
), status_array, new OrderUtil("productOrder_id", true), pageUtil
);
//订单总数量
Integer orderCount = 0;
if (productOrderList.size() > 0) {
orderCount = productOrderService.getTotal(new ProductOrder().setProductOrder_user(new User().setUser_id(Integer.valueOf(userId.toString()))), status_array);
logger.info("获取订单项信息及对应的产品信息");
for (ProductOrder order : productOrderList) {
List<ProductOrderItem> productOrderItemList = productOrderItemService.getListByOrderId(
order.getProductOrder_id(), null
);
if (productOrderItemList != null) {
for (ProductOrderItem productOrderItem : productOrderItemList) {
Integer product_id = productOrderItem.getProductOrderItem_product().getProduct_id();
Product product = productService.get(product_id);
product.setSingleProductImageList(productImageService.getList(
product_id, (byte) 0, new PageUtil(0, 1)
));
productOrderItem.setProductOrderItem_product(product);
if (order.getProductOrder_status() == 3) {
productOrderItem.setIsReview(reviewService.getTotalByOrderItemId(
productOrderItem.getProductOrderItem_id()) > 0
);
}
}
}
order.setProductOrderItemList(productOrderItemList);
}
}
pageUtil.setTotal(orderCount);
logger.info("获取产品分类列表信息");
List<Category> categoryList = categoryService.getList(null, new PageUtil(0, 5));
map.put("pageUtil", pageUtil);
map.put("productOrderList", productOrderList);
map.put("categoryList", categoryList);
map.put("status", status);
logger.info("转到前台天猫-订单列表页");
return "fore/orderListPage";
}
//转到前台天猫-订单建立页
@RequestMapping(value = "order/create/{product_id}", method = RequestMethod.GET)
public String goToOrderConfirmPage(@PathVariable("product_id") Integer product_id,
@RequestParam(required = false, defaultValue = "1") Short product_number,
Map<String, Object> map,
HttpSession session,
HttpServletRequest request) throws UnsupportedEncodingException {
logger.info("检查用户是否登录");
Object userId = checkUser(session);
User user;
if (userId != null) {
logger.info("获取用户信息");
user = userService.get(Integer.parseInt(userId.toString()));
map.put("user", user);
} else {
return "redirect:/login";
}
logger.info("通过产品ID获取产品信息:{}", product_id);
Product product = productService.get(product_id);
if (product == null) {
return "redirect:/";
}
logger.info("获取产品的详细信息");
product.setProduct_category(categoryService.get(product.getProduct_category().getCategory_id()));
product.setSingleProductImageList(productImageService.getList(product_id, (byte) 0, new PageUtil(0, 1)));
logger.info("封装订单项对象");
ProductOrderItem productOrderItem = new ProductOrderItem();
productOrderItem.setProductOrderItem_product(product);
productOrderItem.setProductOrderItem_number(product_number);
productOrderItem.setProductOrderItem_price(product.getProduct_sale_price() * product_number);
productOrderItem.setProductOrderItem_user(new User().setUser_id(Integer.valueOf(userId.toString())));
//初始化订单地址信息
String addressId = "110000";
String cityAddressId = "110100";
String districtAddressId = "110101";
String detailsAddress = null;
String order_post = null;
String order_receiver = null;
String order_phone = null;
Cookie[] cookies = request.getCookies();
//如果读取到了浏览器Cookie
if (cookies != null) {
for (Cookie cookie : cookies) {
String cookieName = cookie.getName();
String cookieValue = cookie.getValue();
switch (cookieName) {
case "addressId":
addressId = cookieValue;
break;
case "cityAddressId":
cityAddressId = cookieValue;
br
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这个项目后端是采用spring boot开发,采用服务器渲染,jsp的方式开发,完美的模仿了淘宝天猫商城,可以实现商城的购物,加入购物车,分类,购买物品,搜索,查找订单状态,评论等基础商城功能。 除此之外商城还有后台管理,这个功能可以供用户上传商品,发货,查看店铺的销售数据。 本系统的功能总体上分为用户下单,上传商品,动态圈,私聊,商品管理,订单管理,购物车和收藏等,如果概括性讲就是商品管理,用户管理,动态圈,私聊,订单管理,购物车和收藏,后台管理七大模块,商品管理分为上传图书,商品的增删查改,当用户成功注册登录商城时会跳转至首页,在首页用户可以看到商品的推荐,用户进入商品售卖页面,书城为用户提供了搜索和分类查看等功能,在书城的售卖界面找不到商品时,用户可选择分类查找需要的商品,或者在搜索界面分类搜索商品,书城允许用户根据书名或者商品作者搜索商品,用户有不需要的商品可以上传商品,上传后可对已上传的商品进行增删查改。
资源推荐
资源详情
资源评论




























收起资源包目录





































































































共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论


Jerrytan24
- 粉丝: 16
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 搭建基于http协议git服务器的安装配置说明(1).docx
- 兴趣教学法在初中计算机教学中的有效运用(1).docx
- 人工智能赋能通信产业要随市场而动(1).docx
- qt5.12.0的debug版本
- 网站互换广告合同书(1).docx
- 阐述污水处理工程仪表及自动化控制系统的特点(1).doc
- 计算机网络课程设计(1).docx
- 浅论退役军人档案信息化建设(1).docx
- 对高职院校-计算机基础文化-课程教学的思考的论文-职业教育论文(1).docx
- 人工智能论文(1).docx
- 2023年自学考试计算机应用基础试题与答案及解析(1).doc
- 国家开放大学电大《计算机组网技术》机考2套网络课题库9(1).docx
- 研发项目管理制度(软件)(1).doc
- 基于单片机的直流电机调速系统毕业设计(1).doc
- 1--电子商务概述(1).ppt
- 电子商务中心项目立项建设可行性研究报告(1).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
