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