From d34010bcdba98d6906c3ad0959db3c650ea90239 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 06 六月 2024 11:19:42 +0800
Subject: [PATCH] feat:科目查询、新增、状态、排序、删除、修改
---
src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java | 7 +++
src/main/java/com/ycl/jxkg/service/SubjectService.java | 18 ++++++++
src/main/resources/mapper/SubjectMapper.xml | 7 ++-
src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java | 37 ++++++++++--------
src/main/java/com/ycl/jxkg/domain/entity/Subject.java | 5 ++
pom.xml | 8 ---
src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java | 2
src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java | 27 ++++++++++---
8 files changed, 75 insertions(+), 36 deletions(-)
diff --git a/pom.xml b/pom.xml
index 1c672d7..fbd1c5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
<java.version>1.8</java.version>
<mysql.version>8.0.17</mysql.version>
<spring.boot.version>2.1.6.RELEASE</spring.boot.version>
- <mybatisplus.version>3.5.1</mybatisplus.version>
+ <mybatisplus.version>3.5.4</mybatisplus.version>
<lombok.version>1.18.24</lombok.version>
<knife.version>3.0.3</knife.version>
</properties>
@@ -92,12 +92,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<version>${spring.boot.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>2.1.0</version>
</dependency>
<dependency>
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java b/src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java
index 345f1fe..878c038 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java
@@ -1,15 +1,14 @@
package com.ycl.jxkg.controller.admin;
+import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.base.BaseApiController;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.entity.Subject;
-import com.ycl.jxkg.service.SubjectService;
-import com.ycl.jxkg.utils.PageInfoHelper;
import com.ycl.jxkg.domain.vo.admin.education.SubjectEditRequestVO;
import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO;
import com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO;
-import com.github.pagehelper.PageInfo;
+import com.ycl.jxkg.service.SubjectService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
@@ -32,25 +31,19 @@
@RequestMapping(value = "/page", method = RequestMethod.POST)
public Result<PageInfo<SubjectResponseVO>> pageList(@RequestBody SubjectPageRequestVO model) {
- PageInfo<Subject> pageInfo = subjectService.page(model);
- PageInfo<SubjectResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
- SubjectResponseVO vo = new SubjectResponseVO();
- BeanUtils.copyProperties(e, vo);
- return vo;
- });
- return Result.ok(page);
+ return Result.ok(subjectService.page(model));
}
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public Result edit(@RequestBody @Valid SubjectEditRequestVO model) {
+ public Result<String> edit(@RequestBody @Valid SubjectEditRequestVO model) {
Subject subject = new Subject();
BeanUtils.copyProperties(model, subject);
if (model.getId() == null) {
- subjectService.save(subject);
+ subjectService.save(subject.setCreateUser(getCurrentUser().getId()));
} else {
subjectService.updateById(subject);
}
- return Result.ok();
+ return Result.ok("鎿嶄綔鎴愬姛");
}
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
@@ -62,9 +55,19 @@
}
@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST)
- public Result delete(@PathVariable Integer id) {
- Subject subject = subjectService.getById(id);
- subjectService.updateById(subject);
- return Result.ok();
+ public Result<Boolean> delete(@PathVariable Integer id) {
+ return Result.ok(subjectService.removeById(id));
}
+
+ @GetMapping(value = "/getItemOrder")
+ public Result<Integer> getItemOrder() {
+ return Result.ok(subjectService.getItemOrder());
+ }
+
+ @PostMapping(value = "/status")
+ public Result<String> status(@RequestBody Subject subject) {
+ subjectService.updateStatus(subject);
+ return Result.ok("鎿嶄綔鎴愬姛");
+ }
+
}
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/Subject.java b/src/main/java/com/ycl/jxkg/domain/entity/Subject.java
index e305bcd..a8370e4 100644
--- a/src/main/java/com/ycl/jxkg/domain/entity/Subject.java
+++ b/src/main/java/com/ycl/jxkg/domain/entity/Subject.java
@@ -4,12 +4,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.jxkg.domain.base.AbsEntity;
+import com.ycl.jxkg.enums.general.StatusEnum;
import lombok.Data;
+import lombok.experimental.Accessors;
import java.util.Date;
@Data
@TableName("t_subject")
+@Accessors(chain = true)
public class Subject extends AbsEntity {
/**
@@ -31,6 +34,6 @@
private Date createTime;
@TableField(value = "status")
- private Integer status;
+ private StatusEnum status;
}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java
index cff8ffd..a31f7ad 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java
@@ -7,7 +7,7 @@
@Data
public class SubjectPageRequestVO extends BasePage {
- private Integer name;
+ private String name;
private Integer status;
diff --git a/src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java b/src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java
index 422d3e1..abc041f 100644
--- a/src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.jxkg.domain.entity.Subject;
import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO;
+import com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -14,5 +16,8 @@
List<Subject> allSubject();
- List<Subject> page(SubjectPageRequestVO requestVM);
+ List<SubjectResponseVO> page(SubjectPageRequestVO requestVM);
+
+ @Select("select ifnull(count(*) + 1, 1) from t_subject where deleted = 0")
+ Integer getItemOrder();
}
diff --git a/src/main/java/com/ycl/jxkg/service/SubjectService.java b/src/main/java/com/ycl/jxkg/service/SubjectService.java
index 1ed80c9..c5b3a6f 100644
--- a/src/main/java/com/ycl/jxkg/service/SubjectService.java
+++ b/src/main/java/com/ycl/jxkg/service/SubjectService.java
@@ -4,6 +4,7 @@
import com.ycl.jxkg.domain.entity.Subject;
import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO;
import com.github.pagehelper.PageInfo;
+import com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO;
import java.util.List;
@@ -13,5 +14,20 @@
List<Subject> allSubject();
- PageInfo<Subject> page(SubjectPageRequestVO requestVM);
+ PageInfo<SubjectResponseVO> page(SubjectPageRequestVO requestVM);
+
+ /**
+ * 鑾峰彇鏈�鏂伴『搴�
+ *
+ * @return 椤哄簭
+ */
+ Integer getItemOrder();
+
+ /**
+ * 鏇存柊鐘舵��
+ *
+ * @param subject 鍙傛暟
+ * @return 缁撴灉
+ */
+ Boolean updateStatus(Subject subject);
}
diff --git a/src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java
index 8ec423c..8c0911b 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java
@@ -1,12 +1,14 @@
package com.ycl.jxkg.service.impl;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.jxkg.domain.entity.Subject;
-import com.ycl.jxkg.mapper.SubjectMapper;
-import com.ycl.jxkg.service.SubjectService;
-import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import com.ycl.jxkg.domain.entity.Subject;
+import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO;
+import com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO;
+import com.ycl.jxkg.mapper.SubjectMapper;
+import com.ycl.jxkg.service.SubjectService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -14,7 +16,7 @@
@Service
@RequiredArgsConstructor
-public class SubjectServiceImpl extends ServiceImpl<SubjectMapper,Subject> implements SubjectService {
+public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> implements SubjectService {
private final SubjectMapper subjectMapper;
@@ -29,10 +31,23 @@
}
@Override
- public PageInfo<Subject> page(SubjectPageRequestVO requestVM) {
+ public PageInfo<SubjectResponseVO> page(SubjectPageRequestVO requestVM) {
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "item_order").doSelectPageInfo(() ->
subjectMapper.page(requestVM)
);
}
+ @Override
+ public Integer getItemOrder() {
+ return subjectMapper.getItemOrder();
+ }
+
+ @Override
+ public Boolean updateStatus(Subject subject) {
+ return new LambdaUpdateChainWrapper<>(subjectMapper)
+ .set(Subject::getStatus, subject.getStatus())
+ .eq(Subject::getId, subject.getId())
+ .update();
+ }
+
}
diff --git a/src/main/resources/mapper/SubjectMapper.xml b/src/main/resources/mapper/SubjectMapper.xml
index 3b31e9b..b253f94 100644
--- a/src/main/resources/mapper/SubjectMapper.xml
+++ b/src/main/resources/mapper/SubjectMapper.xml
@@ -18,7 +18,8 @@
<select id="getSubjectByLevel" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
- from t_subject where level= #{level}
+ from t_subject
+ where deleted = 0 and status = 1
order by item_order
</select>
@@ -27,9 +28,11 @@
select
<include refid="Base_Column_List"/>
from t_subject
+ where deleted = 0 and status = 1
+ order by item_order
</select>
- <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO">
+ <select id="page" resultType="com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO" parameterType="com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO">
SELECT
<include refid="Base_Column_List"/>
FROM t_subject
--
Gitblit v1.8.0