两张订单表:1. order :主要存储用户与订单之间的关系 ,2.order_item:存储订单与商品信息,
利用第一张表获取该用户所有订单列表,然后利用第二张表获取该订单所有商品信息。
Html+SpringBoot+Mysql 电商用户订单页展示 一、数据库表-
order表
-
order_item表
-
xml文件
-
order
-
orderItem
-
-
DAO接口
-
OrderDAO
-
package com.cy.stores.dao; import com.cy.stores.model.Order; import com.cy.stores.model.OrderExample; import java.util.List; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Repository public interface OrderDAO { List
selectByExample(OrderExample example); Order selectByPrimaryKey(Long oid); }
-
-
OrderItemDAO
-
package com.cy.stores.dao; import com.cy.stores.model.OrderItem; import com.cy.stores.model.OrderItemExample; import java.util.List; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Repository public interface OrderItemDAO { List
selectProductByOid(Long oid); }
-
-
-
IOrderService接口
package com.cy.stores.service; import com.cy.stores.model.Order; import com.cy.stores.vo.OrderItemVo; import com.cy.stores.vo.OrderVo; import java.util.List; public interface IOrderService { /** * 查询出当前订单的商品 * @param oid * @return */ List
selectProductByOid(Long oid); /** * 查询用户订单 */ List selectOrderByUid(Integer uid); } -
OrderServiceImpl类
package com.cy.stores.service.impl; import com.cy.stores.dao.OrderDAO; import com.cy.stores.dao.OrderItemDAO; import com.cy.stores.model.*; import com.cy.stores.service.IAddressService; import com.cy.stores.service.ICartService; import com.cy.stores.service.IOrderService; import com.cy.stores.service.IProductService; import com.cy.stores.service.ex.*; import com.cy.stores.util.IdWorker; import com.cy.stores.vo.CartProductVO; import com.cy.stores.vo.OrderItemVo; import com.cy.stores.vo.OrderVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 订单业务层实现类 * */ //将当前类的对象交给Spring处理 @Service public class OrderServiceImpl implements IOrderService { @Autowired private OrderDAO orderDAO; @Autowired private OrderItemDAO orderItemDAD; @Autowired @Override public List
selectProductByOid(Long oid) { //1.查询订单商品数据 List orderItems = orderItemDAD.selectProductByOid(oid); Order order = orderDAO.selectByPrimaryKey(oid); //2.封装成前端需要订单商品信息 List list=new ArrayList<>(); for (OrderItem e:orderItems) { OrderItemVo orderItemVo = new OrderItemVo(); orderItemVo.setPid(e.getPid()); orderItemVo.setTitle(e.getTitle()); orderItemVo.setPrice(e.getPrice()); orderItemVo.setStatus(e.getStatus()); orderItemVo.setItemTotalPrice(e.getPrice()*e.getNum()); orderItemVo.setNum(e.getNum()); orderItemVo.setImage(e.getImage()); list.add(orderItemVo); } //3.返回数据 return list; } @Override public List selectOrderByUid(Integer uid) { OrderExample orderExample=new OrderExample(); orderExample.createCriteria().andUidEqualTo(uid); List orders = orderDAO.selectByExample(orderExample); List orderVos=new ArrayList<>(); for (Order o:orders) { OrderVo orderVo = new OrderVo(); //订单ID、收货人、订单时间、总价 orderVo.setOid(o.getOid().toString()); orderVo.setTotalPrice(o.getTotalPrice()); orderVo.setRecvName(o.getRecvName()); orderVo.setOrderTime(o.getOrderTime()); orderVos.add(orderVo); } return orderVos; } } -
OrderCtroller类
package com.cy.stores.controller; import com.cy.stores.model.Order; import com.cy.stores.model.OrderItem; import com.cy.stores.service.ICartService; import com.cy.stores.service.IOrderService; import com.cy.stores.service.ex.CartException; import com.cy.stores.service.ex.InsertException; import com.cy.stores.util.JsonResult; import com.cy.stores.vo.OrderItemVo; import com.cy.stores.vo.OrderVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpSession; import javax.smartcardio.CardException; import java.net.HttpCookie; import java.util.List; //@CrossOrigin解决跨域问题 @CrossOrigin @RestController @RequestMapping("orders") public class OrderController extends BaseController{ @Autowired private IOrderService orderService; @RequestMapping("orderProductInfo") public JsonResult
- > findOrderItemInfo(@RequestParam("oid") String oid)
{
List
orderItemVos = orderService.selectProductByOid(new Long(oid)); return new JsonResult<>(OK,orderItemVos); } @RequestMapping("order") public JsonResult - >findOrder(HttpSession session)
{
Integer uid = getuidFromSession(session);
List
orderVos = orderService.selectOrderByUid(uid); return new JsonResult<>(OK,orderVos); } }
-
主要代码
-
全部代码
电脑商城 -
用户:用户
- 收藏
- |
- 订单
- |
- 购物车
- |
-
- 修改密码
- 个人资料
- 上传头像
- 收货管理
- |
- 登录
- 秒杀
- 优惠券
- 电脑VIP
- 外卖
- 超市
我的订单
全部订单 待付款 待收货 待评价 退货退款资料修改
修改密码 个人资料 上传头像 收货管理 订单号:1101000301,支付金额¥5298 ,TUST电脑商城商品 单价 数量 小计 售后 状态 *** 作 联想(Lenovo)小新Air13 Pro 13.3英寸14.8mm超轻薄笔记本电脑 ¥5298 1件 ¥5298 申请售后 已发货 订单详情 确认收货 戴尔(DELL)XPS13-9360-R1609 13.3 ¥4696 2件 ¥9392 申请售后 已发货 订单详情 确认收货 戴尔(DELL)魔方15MF Pro-R2505TSS灵越 ¥5999 1件 ¥5999 申请售后 已发货 订单详情 确认收货
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)