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