feat(grade): 实现年级管理的新增与删除功能

- 后端新增AddGradeReqVO和DeleteGradeReqVO请求对象
- GradeController添加新增和删除年级两个接口
- GradeService及其实现类实现新增和删除年级逻辑
- MyBatis映射新增插入和删除SQL语句
- 前端API新增addGrade和deleteGrade方法
- class.vue新增年级列表操作列及相关事件处理
- 新增AddGradeDialog组件用于输入新增年级名称
- 增加页面新增按钮及弹窗显示控制
- 实现删除年级的API调用与界面删除操作反馈
This commit is contained in:
lbw
2025-12-15 14:59:40 +08:00
parent e3b993dd27
commit 84239d0199
10 changed files with 168 additions and 2 deletions

View File

@@ -2,6 +2,8 @@ package com.yinlihupo.enlish.service.controller;
import com.yinlihupo.enlish.service.domain.dataobject.GradeDO;
import com.yinlihupo.enlish.service.model.vo.grade.AddGradeReqVO;
import com.yinlihupo.enlish.service.model.vo.grade.DeleteGradeReqVO;
import com.yinlihupo.enlish.service.model.vo.grade.FindGradeListReqVO;
import com.yinlihupo.enlish.service.model.vo.grade.FindGradeListRspVO;
import com.yinlihupo.enlish.service.service.GradeService;
@@ -38,4 +40,16 @@ public class GradeController {
return PageResponse.success(list, page, gradeCount, pageSize);
}
@PostMapping("/add")
@ApiOperationLog(description = "添加年级")
public void addGrade(@RequestBody AddGradeReqVO addGradeReqVO) {
gradeService.insert(addGradeReqVO.getTitle());
}
@PostMapping("/delete")
@ApiOperationLog(description = "删除年级")
public void deleteGrade(@RequestBody DeleteGradeReqVO deleteGradeReqVO) {
gradeService.delete(deleteGradeReqVO.getId());
}
}

View File

@@ -14,4 +14,8 @@ public interface GradeDOMapper {
List<GradeDO> selectList(@Param("startIndex") Integer startIndex, @Param("pageSize") Integer pageSize);
Integer selectCount();
int insert(String name);
void deleteById(Integer id);
}

View File

@@ -0,0 +1,15 @@
package com.yinlihupo.enlish.service.model.vo.grade;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class AddGradeReqVO {
private String title;
}

View File

@@ -0,0 +1,15 @@
package com.yinlihupo.enlish.service.model.vo.grade;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class DeleteGradeReqVO {
private Integer id;
}

View File

@@ -11,4 +11,8 @@ public interface GradeService {
List<GradeDO> findGradeList(Integer page, Integer PageSize);
Integer findGradeCount();
void insert(String name);
void delete(Integer id);
}

View File

@@ -28,4 +28,14 @@ public class GradeServiceImpl implements GradeService {
public Integer findGradeCount() {
return gradeDOMapper.selectCount();
}
@Override
public void insert(String name) {
gradeDOMapper.insert(name);
}
@Override
public void delete(Integer id) {
gradeDOMapper.deleteById(id);
}
}

View File

@@ -33,4 +33,16 @@
from grade
</select>
<insert id="insert">
insert into grade
(title, time)
values
(#{name}, now())
</insert>
<delete id="deleteById">
delete from grade
where id = #{id}
</delete>
</mapper>