首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TienChin-课程管理-课程更新接口

TienChin-课程管理-课程更新接口

作者头像
程序员NEO
发布2023-10-12 14:55:44
发布2023-10-12 14:55:44
27900
代码可运行
举报
运行总次数:0
代码可运行

更改包名

将之前的 entity 更改为 domain:

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

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

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 课程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

代码语言:javascript
代码运行次数:0
运行
复制
course.id.notnull=课程ID不能为空

CourseController.java

代码语言:javascript
代码运行次数:0
运行
复制
@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

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 更新课程
 *
 * @param course 课程
 * @return 影响行数
 */
int updateCourse(Course course);

CourseServiceImpl.java

代码语言:javascript
代码运行次数:0
运行
复制
@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;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更改包名
  • ValidationMessages.properties
  • CourseController.java
  • ICourseService.java
  • CourseServiceImpl.java
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档