后端

新建 CourseVO.java:

/**
* CourseVO类是一个课程的值对象,用于存储课程的相关信息。
* 它包含了课程的名称、类型、适用对象、最低价格和最高价格等属性。
*/
public class CourseVO {
private String name; // 课程名称
private String type; // 课程类型
private String applyTo; // 适用对象
private Double minPrice; // 最低价格
private Double maxPrice; // 最高价格 public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
} public String getApplyTo() {
return applyTo;
} public void setApplyTo(String applyTo) {
this.applyTo = applyTo;
} public Double getMinPrice() {
return minPrice;
} public void setMinPrice(Double minPrice) {
this.minPrice = minPrice;
} public Double getMaxPrice() {
return maxPrice;
} public void setMaxPrice(Double maxPrice) {
this.maxPrice = maxPrice;
}
}

CourseController.java

更改列表查询方法:

@PreAuthorize("hasPermission('tienchin:course:list')")
@GetMapping("/list")
TableDataInfo list(CourseVO courseVO) {
startPage();
return getDataTable(iCourseService.selectCourseList(courseVO));
}

ICourseService.java

/**
* 查询课程列表
*
* @param courseVO 课程信息
* @return {@code List<Course>}
*/
List<Course> selectCourseList(CourseVO courseVO);

CourseServiceImpl.java

@Override
public List<Course> selectCourseList(CourseVO courseVO) {
return courseMapper.selectCourseList(courseVO);
}

CourseMapper.java

/**
* 查询课程列表
*
* @param courseVO 课程信息
* @return {@code List<Course>}
*/
List<Course> selectCourseList(CourseVO courseVO);

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="top.it6666.course.mapper.CourseMapper">
<select id="selectCourseList" resultType="top.it6666.course.domain.Course">
SELECT *
FROM tienchin_course
WHERE del_flag = 0
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="type != null and type != ''">
AND type = #{type}
</if>
<if test="applyTo != null and applyTo != ''">
AND apply_to = #{applyTo}
</if>
<if test="minPrice != null">
AND price &gt;= #{minPrice}
</if>
<if test="maxPrice != null">
AND price &lt;= #{maxPrice}
</if>
</select>
</mapper>

前端

index.vue:

<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="70px">
<el-form-item label="课程名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入课程名称"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="课程类型" prop="type">
<el-select
v-model="queryParams.type"
placeholder="请选择课程类型"
clearable
>
<el-option
v-for="ct in course_type"
:key="ct.value"
:label="ct.label"
:value="ct.value"
/>
</el-select>
</el-form-item>
<el-form-item label="适用人群" prop="applyTo">
<el-select
v-model="queryParams.applyTo"
placeholder="请选择适用人群"
clearable
>
<el-option
v-for="cat in course_apply_to"
:key="cat.value"
:label="cat.label"
:value="cat.value"
/>
</el-select>
</el-form-item>
<el-form-item label="最低价格" prop="minPrice">
<el-input-number
v-model="queryParams.minPrice"
placeholder="最低价格"
clearable
@keyup.enter="handleQuery"
:precision="2"
:step="100"
:min="0"
/>
</el-form-item>
<el-form-item label="最高价格" prop="maxPrice">
<el-input-number
v-model="queryParams.maxPrice"
placeholder="最高价格"
clearable
@keyup.enter="handleQuery"
:precision="2"
:step="100"
:min="0"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>

完善一下搜索条件对应的字段即可。

TienChin-课程管理-课程搜索的更多相关文章

  1. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_05-课程修改实战分析

    3 课程信息修改 3.1 需求分析 课程添加成功进入课程管理页面,通过课程管理页面修改课程的基本信息.编辑课程图片.编辑课程营销信息等. 本小节实现修改课程. 3.2 课程管理页面说明 3.2.1 页 ...

  2. 哈佛商学院MBA管理课程

    课程示例:向上管理 课程 什么是向上管理? 了解自己和上司 建立合作关系 与上司进行有效沟通 管理糟糕的上司 向上管理课程内容: 全部课程目录 全部为离线文件(可有偿提供) 包括课程的全部内容,视频. ...

  3. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_01-我的课程-需求分析与PageHelper技术

    1 我的课程 1.1需求分析 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询. 注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示. 上边的查 ...

  4. Terraform插件Provider管理,搜索、定义、下载

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 简介 最近工作中用到了Terraform,权当学习记录一下,希望能帮助到其它人. Terraform系列文章如下: Ter ...

  5. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_04-新增课程-数据字典

    课程的等级是个单选按钮 2.3 数据字典 2.3.1介绍 在新增课程界面需要选择课程等级.课程状态等,这些信息统一采用数据字典管理的方式. 本项目对一些业务的分类配置信息,比如:课程等级.课程状态.用 ...

  6. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_06-课程营销实战分析

    课程营销信息包括课程价格.课程有效期等信息. 课程营销信息使用course_market表存储. 接口我们要提供两个. 接口1先查询课程营销的信息,在页面展示. 接口2:叫做更新,如果发现数据不存在就 ...

  7. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_03-新增课程-课程分类查询

    2 新增课程 2.1 需求分析 用户操作流程如下: 1.用户进入“我的课程”页面,点击“新增课程”,进入新增课程页面 2.填写课程信息,选择课程分类.课程等级.学习模式等. 3.信息填写完毕,点击“提 ...

  8. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_02-我的课程-前端页面与Api说明

    我的课程列表使用element 的card组件,如下: 前端页面代码 点击新增到了一个新增课程的页面 新增课程的界面 下面的card是循环遍历的代码 写死的card的静态数据 请求服务端的接口拿到数据 ...

  9. 阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_20-课程计划添加-前端页面调试

    调试课程计划的添加功能 课程添加的弹窗使用的是dialog组件 这个变量控制对话框是否显示 当点击按钮的时候就设置为true.那么弹窗就会显示出来了  测试 在测试的节点下面添加一个子节点 添加成功后 ...

  10. 《SAP微顾问和大数据 》公众号管理课程清单

    互联网商业模式创新 电子商务与传统企业转型 “一带一路”信息化:格局与对策 “一带一路”沿线国家主权信用及风险防范 大数据下的资源整合和知识共享 地产数字化改革的痛点与处方 携手共建“一带一路” 数字 ...

随机推荐

  1. Docker SpringBoot Skywalking 8.1 agent

    下载源码包:https://archive.apache.org/dist/skywalking/8.1.0/ -- 创建存放目录 mkdir -p /opt/skywalking -- 进入目录 c ...

  2. 发布会回放|Gradio 4.0 正式发布!

    Gradio 的目标是使机器学习模型的演示更容易定制和访问,以满足不同用户的需求.在 4.0 正式版的发布活动上,Hugging Face 的 Gradio 团队介绍了自己为了提高机器学习模型的可访问 ...

  3. AtCoder Beginner Contest 210 (A~E)

    比赛链接:Here A - Cabbages 略 B - Bouzu Mekuri 略 C - Colorful Candies 用map维护连续一段区间的不同元素即可. int main() { c ...

  4. LeetCode75 颜色分类 (三路快排C++实现与应用)

    三路快排是快速排序算法的升级版,用来处理有大量重复数据的数组. 主要思想是选取一个key,小于key的丢到左边,大于key的丢到右边,递归实现即可. 具体操作过程参考:https://blog.csd ...

  5. 【每日一题】2.合并回文子串 (字符串处理 + 区间DP)

    题目链接:Here 遇到这种数据范围较小的计数问题应该优先考虑dp,本题就是如此. 那么应该怎么样考虑转移呢? 首先最后C中的那个价值最大的子串一定是由字符串A的一个区间和字符串B的一个区间合并得到的 ...

  6. 三、redis集群搭建

    系列导航 一.redis单例安装(linux) 二.redis主从环境搭建 三.redis集群搭建 四.redis增加密码验证 五.java操作redis 环境:centos7需要的安装包: redi ...

  7. Java虚拟机——内存区域及内存溢出异常

    一.Java内存区域 1.概述 对于java程序员来说,在虚拟机的自动内存管理机制的帮助下,不需要为每一个new操作去写delete/free代码,而且不容易出现内存泄漏和内存溢出问题.但是把内存控制 ...

  8. CMake学习,我们怎么从零开始狂写大型项目

    CMake 说明 cmake的定义是什么 ?-----高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了-----C ...

  9. Spring boot 运行服务jar外配置配置文件方式总结

    本文为博主原创,转载请注明出处: 由于需要在本地编译打包,在服务器上验证某些功能,需要频繁修改配置,本地打包时,会将配置文件也打包的jar 包内部,这种方式下,若修改配置则需要本地修改重新上传服务器一 ...

  10. Java标签在循环中的使用

    定义 标签,类似--label1: 放在循环外部,用于内部多重循环语句的跳出 例子 public static void main(String[] args) { Scanner sc = new ...