第80讲订单管理功能实现

后端

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.java1234.mapper.OrderMapper"><resultMap id="orderResult" type="com.java1234.entity.Order"><association property="wxUserInfo" column="userId" select="com.java1234.mapper.WxUserInfoMapper.findByOpenId"></association></resultMap><select id="list" parameterType="Map" resultMap="orderResult">select * from t_order<where><if test="orderNo!=null and orderNo!='' ">and orderNo like concat('%',#{orderNo},'%')</if></where>order by createDate desc<if test="start!=null and pageSize!=null ">limit #{start},#{pageSize}</if></select><select id="getTotal" parameterType="Map" resultType="Long">select count(*) from t_order<where><if test="orderNo!=null and orderNo!='' ">and orderNo like concat('%',#{orderNo},'%')</if></where></select></mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.java1234.mapper.WxUserInfoMapper"><resultMap id="wxUserInfoResult" type="com.java1234.entity.WxUserInfo"></resultMap><select id="findByOpenId" parameterType="String" resultMap="wxUserInfoResult">select * from t_wxuserinfo where openid=#{openid}</select></mapper>
package com.java1234.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java1234.entity.Order;import java.util.List;
import java.util.Map;/*** 订单Mapper接口* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-02-23 22:00*/
public interface OrderMapper extends BaseMapper<Order> {List<Order> list(Map<String,Object> map);Long getTotal(Map<String,Object> map);
}
package com.java1234.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java1234.entity.BigType;
import com.java1234.entity.WxUserInfo;/*** 微信用户Mapper接口* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-02-23 22:00*/
public interface WxUserInfoMapper extends BaseMapper<WxUserInfo> {public WxUserInfo findByOpenId(String openId);
}
package com.java1234.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.java1234.entity.Order;import java.util.List;
import java.util.Map;/*** 订单Service接口* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-02-23 22:01*/
public interface IOrderService extends IService<Order> {/*** 根据条件分页查询订单数据* @param map* @return*/List<Order> list(Map<String,Object> map);/*** 根据条件查询订单总记录数* @param map* @return*/Long getTotal(Map<String,Object> map);
}
package com.java1234.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.java1234.entity.Order;
import com.java1234.mapper.OrderMapper;
import com.java1234.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
import java.util.Map;/*** 订单Service实现类* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-02-23 22:02*/
@Service("orderService")
public class IOrderServiceImpl extends ServiceImpl<OrderMapper,Order> implements IOrderService {@Autowiredprivate OrderMapper orderMapper;@Overridepublic List<Order> list(Map<String, Object> map) {return orderMapper.list(map);}@Overridepublic Long getTotal(Map<String, Object> map) {return orderMapper.getTotal(map);}
}
package com.java1234.controller.admin;import com.java1234.entity.Order;
import com.java1234.entity.PageBean;
import com.java1234.entity.R;
import com.java1234.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** 管理员-订单Controller控制器* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-05-21 21:07*/
@RestController
@RequestMapping("/admin/order")
public class AdminOrderController {@Autowiredprivate IOrderService orderService;/*** 根据条件分页查询* @param pageBean* @return*/@RequestMapping("/list")public R list(@RequestBody PageBean pageBean){System.out.println(pageBean);Map<String,Object> map=new HashMap<>();map.put("orderNo",pageBean.getQuery().trim());map.put("start",pageBean.getStart());map.put("pageSize",pageBean.getPageSize());List<Order> orderList=orderService.list(map);Long total=orderService.getTotal(map);Map<String,Object> resultMap=new HashMap<>();resultMap.put("orderList",orderList);resultMap.put("total",total);return R.ok(resultMap);}
}

前端

<template><el-card><el-row :gutter="20" class="header"><el-col :span="7"><el-input placeholder="请输入订单号..." v-model="queryForm.query" clearable></el-input></el-col><el-button type="primary" :icon="Search" @click="initOrderList">搜索</el-button></el-row><el-table :data="tableData" stripe style="width: 100%"><el-table-column prop="orderNo" label="订单号" width="250" fixed/><el-table-column prop="wxUserInfo" label="用户昵称" width="200" :formatter="wxUserInfoNickNameFormatter"/><el-table-column prop="totalPrice" label="订单总价" width="100" /><el-table-column prop="status" label="订单状态" width="100" :formatter="statusFormatter"/><el-table-column prop="createDate" label="订单创建日期" width="200" /><el-table-column prop="payDate" label="订单支付日期" width="200" /><el-table-column prop="consignee" label="收货人" width="80" /><el-table-column prop="telNumber" label="联系电话" width="150" /><el-table-column prop="address" label="收货地址" width="400" /><el-table-column prop="action" label="操作" width="300" fixed="right"><template v-slot="scope"><el-button type="success">详情</el-button><el-button type="primary">发货</el-button><el-button type="primary">退货</el-button><el-button type="danger" :icon="Delete"/></template></el-table-column></el-table><el-paginationv-model:currentPage="queryForm.pageNum"v-model:page-size="queryForm.pageSize":page-sizes="[10, 20, 30, 40,50]"layout="total, sizes, prev, pager, next, jumper":total="total"@size-change="handleSizeChange"@current-change="handleCurrentChange"/></el-card>
</template><script setup>
import { Search ,Delete } from '@element-plus/icons-vue'
import { ref } from 'vue'
import axios from "@/util/axios";const queryForm=ref({query:'',pageNum:1,pageSize:10
})const total=ref(0)const tableData = ref([])const initOrderList=async()=>{const res=await axios.post("admin/order/list",queryForm.value)tableData.value=res.data.orderList;total.value=res.data.total;
}initOrderList();const handleSizeChange=(pageSize)=>{queryForm.value.pageNum=1;queryForm.value.pageSize=pageSize;initOrderList();
}const handleCurrentChange=(pageNum)=>{queryForm.value.pageNum=pageNum;initOrderList();
}const wxUserInfoNickNameFormatter=(row)=>{return row.wxUserInfo.nickName;
}const statusFormatter=(row)=>{switch (row.status){case 1:return "待支付"case 2:return "待发货"case 3:return "退款/退货"}
}</script><style lang="scss" scoped>.header{padding-bottom: 16px;box-sizing: border-box;
}.el-pagination{padding-top: 15px;box-sizing: border-box;
}</style>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC模式和三层架构

目录 1.MVC模式概述 2.三层架构概述 3.MVC模式和三层架构的关系 1.MVC模式概述 MVC 是一种分层开发的模式&#xff0c;其中: M:Model,业务模型&#xff0c;处理业务 V:View,视图&#xff0c;页面展示 C:Controller,控制器&#xff0c;处理请求&#xff0c;调用模型和视图 2.…

python+flask+django农产品供销展销电子商务系统lkw43

供销社农产品展销系统的设计与实现&#xff0c;最主要的是满足使用者的使用需求&#xff0c;并且可以向使用者提供一些与系统配套的服务。本篇论文主要从实际出发&#xff0c;采用以对象为设计重点的设计方法&#xff0c;因此在进行系统总体的需求分时借助用例图可以更好的阐述…

点云标注工具

目录 3d手势识别 c 3d关键点&#xff0c;Bounding Box Labels Rectangle Labels KITTI 3D Ground Truth Annotator c标注工具 3d手势识别 GitHub - 99xtaewoo/Automated-Hand-3D-pose-annotation-Tool: Automated Hand 3D pose annotation Tool c 3d关键点&#xff0c;Bou…

fast.ai 机器学习笔记(一)

机器学习 1&#xff1a;第 1 课 原文&#xff1a;medium.com/hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这些笔记将继续更…

2.11 运算符

1、选择题 1.1、若有以下程序 main() { char a1,b2; printf("%c,",b); printf("%d\n",b-a); } 程序运行后的输出结果是 C A&#xff09;3,2 B&#xff09;50,2 C&#xff09;2,2 D&#xff09;2,50 解析&#xff1a;b是先赋值后自加&#…

中科大计网学习记录笔记(七):Web and HTTP

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

从零开始实现消息队列(二)

从零开始实现消息队列 .核心API交换机类型持久化网络通信Connection和Channel 消息应答模块划分 . 核心API 对于Broker来说,要实现以下核心API,通过这些API来实现消息队列的基本功能. 创建队列(queueDeclare)销毁队列(queueDelete)创建交换机(exchangeDeclare)销毁交换机(exc…

【Git】上传本地文件到Git(以Windows环境为例)

Git 的下载参考&#xff1a;Git 安装及配置 一、Git 上传的整体流程 1、工作区 > 本地仓库 将本地文件上传到Git&#xff0c;需要先上传到本地仓库&#xff0c;然后再上传到远程仓库。要上传文件到本地仓库&#xff0c;不是直接拷贝进去的&#xff0c;而是需要通过命令一步…

AI-数学-高中-25-三角函数一三角函数对称性

原作者视频&#xff1a;【三角函数】【考点精华】3三角函数对称性&#xff08;重要&#xff09;&#xff08;中档&#xff09;_哔哩哔哩_bilibili 1.一个对称点\直线思路&#xff1a; 2.关于两点或两直线对称&#xff1a; 3.两个对称&#xff1a;一个关于点对称、一个关于直线…

26.篮球练习

Description 小徐酷爱打篮球&#xff0c;在小学期的前两周半都在练习篮球。今天&#xff0c;小徐想要练习如何突破。 练习场地可由如下所示的网格图表示&#xff0c;图中的位置可用坐标表示。 其中A点(0,0)为小徐的起始位置&#xff0c;B点(n,m)为小徐想要到达的位置。 一起训…

快速搭建 nfs 环境, 解决 nfs 搭建时的疑难杂症

博客原文 nfs 环境搭建 简介: NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计算机之间共享资源。 在NFS的应用中&#xff0c;本地NFS的客户端应用可以透明地读写位于远端NFS服务器上…

22年中科院1区算法|白鲸优化器BWO原理及其利用与改进(Matlab/Python)

文章来源于我的个人公众号&#xff1a;KAU的云实验台&#xff0c;主要更新智能优化算法的原理、应用、改进 CEC2005中的测试 本文KAU将介绍一个2022年发表在中科院1区期刊KBS上的优化算法——白鲸优化算法(Beluga Whale Optimization&#xff0c;BWO)[1] 该算法由大连理工…