当前位置: 首页 > news >正文

asp 网站 500北京移动端网站开发

asp 网站 500,北京移动端网站开发,前台网站建设,深圳市住房建设局网站文章目录 概要整体架构流程技术细节小结 概要 在电商、金融、物流等行业中,用户历史订单查询是一项常见的业务需求。这项功能允许用户查看他们过去的交易记录,包括但不限于购买的商品、服务详情、交易金额、支付状态、配送信息等。对于企业而言&#xf…

文章目录

    • 概要
    • 整体架构流程
    • 技术细节
    • 小结

概要

在电商、金融、物流等行业中,用户历史订单查询是一项常见的业务需求。这项功能允许用户查看他们过去的交易记录,包括但不限于购买的商品、服务详情、交易金额、支付状态、配送信息等。对于企业而言,这不仅提升了用户体验,还能够帮助分析用户行为,优化产品和服务,以及处理售后问题。

整体构流程

数据库设计:合理设计订单表结构,使用索引提高查询效率。
分页查询:通过分页技术减少单次查询的数据量,提升性能

技术细节

1.Controller层代码:

给前端返回PageResult和成功的信息,调用Service层业务代码

@GetMapping("/historyOrders")@ApiOperation("查询历史订单")public Result<PageResult> historyOrders(OrdersPageQueryDTO orderPaymentDTO){log.info("查询历史订单,参数:{}", orderPaymentDTO);PageResult pageResult = orderService.historyOrders(orderPaymentDTO);return Result.success(pageResult);}

2.Service层代码:

  1. 首先我们利用PageHelper设置分页数据
  2. 然后我们需要获取到该订单查询的用户是谁?即获取到用户id后填充到dto中
  3. 然后利用用户id或订单状态等查询订单数据
  4. 遍历该数据(该用户的全部订单)
  5. 分别利用订单id查询每个订单数据的明细,并返回明细集合(因为一个订单会有多个菜品)
  6. 将订单明细copy到要返回的VO对象中
  7. 然后将每一个VO对象都加入到全部订单的VO集合中
  8. 返回集合和页面总数
 public PageResult historyOrders(OrdersPageQueryDTO ordersPageQueryDTO) {//设置分页数据PageHelper.startPage(ordersPageQueryDTO.getPage(), ordersPageQueryDTO.getPageSize());//填充该历史订单查询的用户ordersPageQueryDTO.setUserId(BaseContext.getCurrentId());//查询该订单基本数据(订单id)Page<Orders> page = orderMapper.pageQuery(ordersPageQueryDTO);//如果查到数据,则利用订单id查该订单的明细数据ArrayList<OrderVO> orderVOs = new ArrayList<>();if(page != null && page.size() > 0){for (Orders orders : page) {//利用订单id查该订单的明细数据,因为一个订单可能会有多个菜品所以返回的是listList<OrderDetail> orderDetails = orderDetailMapper.selectByUserId(orders.getId());OrderVO ordersVO = new OrderVO();BeanUtils.copyProperties(orders,ordersVO);//将这个订单的菜品明细都填充到该菜品的VO中ordersVO.setOrderDetailList(orderDetails);//将该订单加入到分页VO中orderVOs.add(ordersVO);}}return new PageResult(page.getTotal(),orderVOs);}

 Mapper层:

<select id="pageQuery" resultType="com.sky.entity.Orders">select * from `sky-take-out`.orders<where><if test="number != null and number!=''">and number like concat('%',#{number},'%')</if><if test="phone != null and phone!=''">and phone like concat('%',#{phone},'%')</if><if test="userId != null">and user_id = #{userId}</if><if test="status != null">and status = #{status}</if><if test="beginTime != null">and order_time &gt;= #{beginTime}</if><if test="endTime != null">and order_time &lt;= #{endTime}</if></where>order by order_time desc</select>
@Select("select * from `sky-take-out`.order_detail where order_id = #{orderId}")List<OrderDetail> selectByOrderId(Long orderId);

效果演示:

http://www.yayakq.cn/news/206105/

相关文章:

  • 温州的网站建设公司网站开发指什么
  • 汕头快速建站模板哪些网站可以做视频搬运
  • 360建站工具渭南市建设工程有限责任公司
  • 机械行业网站建设制作开发方案开发app需要多少钱?
  • 免费做微信请帖的网站网页设计需要的技术
  • 建站优化全包济宁互联网推广公司
  • 伴奏网站防盗是怎么做的大兴专注高端网站建设
  • 帝国cms 网站地图广州澄网站建设公司
  • 网站建设的报价方案兰州做网站 东方商易
  • 17网站模板网站规划书 确定网站建设目的
  • phpcms网站seo怎么做搜索引擎营销的英文缩写是
  • 网站地图无法生成每天做特卖的网站是哪个
  • 西安网站建设怎样提升神马seo关键词自然排名
  • 做百度移动端网站排名软件h5页面制作软件thinkphp
  • 情头定制网站网站设计目标 优帮云
  • 做贷款的网站有哪些网站开发是不是前端
  • wap网站开发培训网站设计的工作要求
  • 免费网站后台模板wordpress 消耗 资源
  • 那个网站教人做冰点重庆网
  • 奥派电子商务网站建设论文公司注册免费吗
  • 如何开通自己的网站网络网站如何推广
  • 一元购网站建设免费注册tk域名
  • 赤峰做网站的公司只会html wordpress
  • wordpress图片延迟大连seo排名外包
  • php网站开发入门到精通教程商务局网站群建设方案
  • 学校网站建设团队国际实时新闻最新消息
  • h5网站作用直播型网站开发
  • 网站留言板带后台模板网站更新维护
  • 建立网站一般多少钱群晖 nas做网站 推荐
  • 凡客建站手机版下载网站文章怎么做标签