更改包名

将之前的 entity 更改为 domain:

将之前的 validator 包当中的校验分组接口移动到 common 模块当中,因为其它模块也需要使用就放到公共当中进行存储。

更改完毕之后在修改下 Course.java 的校验注解的作用范围:

/**
* 课程ID
*/
@TableId(value = "course_id", type = IdType.AUTO)
@NotNull(message = "{course.id.notnull}")
private Integer courseId; /**
* 课程类型 1.舞蹈类 2.游泳类 3.拳击类
*/
@NotNull(message = "{course.type.notnull}", groups = {EditGroup.class, CreateGroup.class})
private Integer type; /**
* 课程名称
*/
@NotBlank(message = "{course.name.notnull}", groups = {EditGroup.class, CreateGroup.class})
private String name; /**
* 课程价格
*/
@NotNull(message = "{course.price.notnull}", groups = {EditGroup.class, CreateGroup.class})
@Min(value = 0, message = "{course.price.invalid}", groups = {EditGroup.class, CreateGroup.class})
private Double price; /**
* 课程适用人群
*/
@NotNull(message = "{course.applyTo.notnull}", groups = {EditGroup.class, CreateGroup.class})
private Integer applyTo; /**
* 课程简介
*/
@NotBlank(message = "{course.info.notnull}", groups = {EditGroup.class, CreateGroup.class})
private String info;

ValidationMessages.properties

course.id.notnull=课程ID不能为空

CourseController.java

@PreAuthorize("hasPermission('tienchin:course:edit')")
@Log(title = "课程管理", businessType = BusinessType.UPDATE)
@PutMapping
AjaxResult edit(@Validated(EditGroup.class) @RequestBody Course course) {
return AjaxResult.success(iCourseService.updateCourse(course) > 0 ? "更新成功" : "更新失败");
} @PreAuthorize("hasPermission('tienchin:course:edit')")
@GetMapping("/{courseId}")
AjaxResult getInfo(@PathVariable Long courseId) {
return AjaxResult.success(iCourseService.getById(courseId));
}

ICourseService.java

/**
* 更新课程
*
* @param course 课程
* @return 影响行数
*/
int updateCourse(Course course);

CourseServiceImpl.java

@Override
public int updateCourse(Course course) {
// 设置不需要更新的字段
course.setCreateBy(null);
course.setCreateTime(null);
course.setDelFlag(null); // 设置需要更新的字段
course.setUpdateBy(SecurityUtils.getUsername());
course.setUpdateTime(LocalDateTime.now()); return updateById(course) ? 1 : 0;
}

TienChin-课程管理-课程更新接口的更多相关文章

  1. FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发

    接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密 ...

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

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

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

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

  4. FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言

    之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...

  5. FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言

    之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户 ...

  6. FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发

    之前我们分享了FastAPI(七十一)实战开发<在线课程学习系统>接口开发-- 查看留言,这次我们分享留言列表开发. 列表获取,也需要登录,根据登录用户来获取对应的留言.逻辑梳理如下. 1 ...

  7. FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言

    之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应 ...

  8. FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发

    在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...

  9. FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码

    之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一 ...

  10. FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发

    在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的 ...

随机推荐

  1. 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)

    使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...

  2. Python分析大数据,推荐四款加速器

    在数据科学计算.机器学习.以及深度学习领域,Python 是最受欢迎的语言.Python 在数据科学领域,有非常丰富的包可以选择,numpy.scipy.pandas.scikit-learn.mat ...

  3. Java基础知识整理,驼峰规则、流程控制、自增自减

    写在开头 本文接着上一篇文章续写哈.[Java基础知识整理,注释.关键字.运算符](https://blog.csdn.net/qq_43506040/article/details/13563332 ...

  4. AtCoder Beginner Contest 198 个人题解(AB水题,C思维,D思维+全排列,E题DFS搜索,F懵逼)

    补题链接:Here A - Div 题意:N 个不一样的糖,请问有多少种分法给 A,B两人 水题,写几组情况就能知道输出 \(N - 1\) 即可 B - Palindrome with leadin ...

  5. Kafka 原理以及分区分配策略剖析

    一.简介 Apache Kafka 是一个分布式的流处理平台(分布式的基于发布/订阅模式的消息队列[Message Queue]). 流处理平台有以下3个特性: 可以让你发布和订阅流式的记录.这一方面 ...

  6. 机器学习笔记(二)使用paddlepaddle,再探波士顿房价预测

    目标 用paddlepaddle来重写之前那个手写的梯度下降方案,简化内容 流程 实际上就做了几个事: 数据准备:将一个批次的数据先转换成nparray格式,再转换成Tensor格式 前向计算:将一个 ...

  7. Redis 中bitMap使用及实现访问量

    1. Bitmap 是什么 Bitmap(也称为位数组或者位向量等)是一种实现对位的操作的'数据结构',在数据结构加引号主要因为: Bitmap 本身不是一种数据结构,底层实际上是字符串,可以借助字符 ...

  8. .NET 5 开发WPF - 美食应用登录UI设计

    Demo演示: 你的时间宝贵,不想看啰嗦的文字,可直接拉到文末下载源码! 1. 新建项目 站长开发环境: VS 2019企业版 16.70 .NET 5 Preview 5 .NET 5 WPF 项目 ...

  9. C++ list容器

    一.前言 list容器,又称为双向链表容器,即该容器的底层是以双向链表的形式实现的,因此list容器中的元素可以分散存储在内存空间里,而不是必须存储在一整块连续的内存空间中. list容器中各个元素的 ...

  10. Listener refused the connection with the following error: ORA-12514

    1.问题 在使用Oracle SQL Developer时,遇到以下问题: 状态: 失败 -测试失败: Listener refused the connection with the followi ...