TienChin-课程管理-课程更新接口
更改包名
将之前的 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-课程管理-课程更新接口的更多相关文章
- FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发
接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密 ...
- 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_05-课程修改实战分析
3 课程信息修改 3.1 需求分析 课程添加成功进入课程管理页面,通过课程管理页面修改课程的基本信息.编辑课程图片.编辑课程营销信息等. 本小节实现修改课程. 3.2 课程管理页面说明 3.2.1 页 ...
- 哈佛商学院MBA管理课程
课程示例:向上管理 课程 什么是向上管理? 了解自己和上司 建立合作关系 与上司进行有效沟通 管理糟糕的上司 向上管理课程内容: 全部课程目录 全部为离线文件(可有偿提供) 包括课程的全部内容,视频. ...
- FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...
- FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户 ...
- FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发
之前我们分享了FastAPI(七十一)实战开发<在线课程学习系统>接口开发-- 查看留言,这次我们分享留言列表开发. 列表获取,也需要登录,根据登录用户来获取对应的留言.逻辑梳理如下. 1 ...
- FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言
之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应 ...
- FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...
- FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一 ...
- FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发
在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的 ...
随机推荐
- Nginx--安装&&配置文件
官网:http://nginx.org/en/download.html nginx版本:1.18 一 安装 1 下载预编译环境(预编译报错需要安装什么库 直接在库名后面接 -devel 使用yu ...
- MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
MPI Maelstrom POJ - 1502 实验室有很多台计算机,由于每个人计算机的性能不同,导致计算机之间发送信息的速度不同,所以花费时间不同. 消息从第一台电脑发送到第二台电脑后,这两台电脑 ...
- 体验有礼 | 1 分钟 Serverless 极速部署个人网盘,真网盘真好用!
你想自己搭一个无敌好用的网盘吗? 想 接着看,还有奖品呢! -- 当前,网盘几乎已成为现代人的标配,而市面上的网盘功能.费用各异,让用户们陷入了对比价格和功能的迷阵中.别对比了,动手吧!作为对存储.流 ...
- 元素scroll系列属性
scroll翻译过来,就是滚动的,我们使用scroll系列的相关属性可以动态的得到该元素的大小.滚动距离等. scroll系列属性 作用 element.scrollTop 返回被卷上去的上侧距离,返 ...
- Hystrix 源码解读
转载请注明出处: 1.引入依赖: <dependency> <groupId>org.springframework.cloud</groupId> <art ...
- @Async异步操作及异步线程池
本文为博主原创,转载请注明出处: @Async 用来实现异步请求操作,使用@Async 注解时,需要同时使用 @EnableAsync 注解,使用 @EnableAsync 注解用于开启异步请求. 如 ...
- AHB-SRAMC Design-02
AHB-SRAMC Design SRAMC(另外一种代码风格)解析 SRAM集成,顶层模块尽量不要写交互逻辑 module ahb_slave_if( input hclk, input hrest ...
- HanLP — 感知机(Perceptron)
感知机(Perceptron)是一个二类分类的线性分类模型,属于监督式学习算法.最终目的: 将不同的样本分本 感知机饮食了多个权重参数,输入的特征向量先是和对应的权重相乘,再加得到的积相加,然后将加权 ...
- 【C/C++】 变参函数
#include <stdio.h> #include <stdbool.h> #include <stdarg.h> #define MLA_ASSERT(exp ...
- Linux-搜索-文件-find-locate-内容过滤-grep