龚焕茏
2024-06-06 d34010bcdba98d6906c3ad0959db3c650ea90239
feat:科目查询、新增、状态、排序、删除、修改
8个文件已修改
111 ■■■■■ 已修改文件
pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/controller/admin/SubjectController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/entity/Subject.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/vo/admin/education/SubjectPageRequestVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/mapper/SubjectMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/SubjectService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/SubjectServiceImpl.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/SubjectMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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("操作成功");
    }
}
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;
}
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;
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();
}
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);
}
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();
    }
}
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