Przeglądaj źródła

文件类型管理

haogh 11 miesięcy temu
rodzic
commit
9549efa15c
14 zmienionych plików z 479 dodań i 7 usunięć
  1. 11 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/entity/PaperLibraryOther.java
  2. 23 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/BasicFileTypeService.java
  3. 112 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/BasicFileTypeServiceImpl.java
  4. 15 2
      paper-library-business/src/main/resources/db/log/hgh_update_log.sql
  5. 42 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/bean/params/BasicFileTypeParams.java
  6. 59 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/entity/BasicFileType.java
  7. 32 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/enums/FileTypeEnum.java
  8. 33 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/enums/SystemFileTypeEnum.java
  9. 11 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/mapper/BasicFileTypeMapper.java
  10. 12 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/SystemFileTypeService.java
  11. 6 5
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/AuthInfoServiceImpl.java
  12. 45 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SystemFileTypeServiceImpl.java
  13. 15 0
      paper-library-common/src/main/resources/mapper/BasicFileTypeMapper.xml
  14. 63 0
      paper-library/src/main/java/com/qmth/paper/library/api/BasicFileTypeController.java

+ 11 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/entity/PaperLibraryOther.java

@@ -37,6 +37,9 @@ public class PaperLibraryOther extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "图片序号")
     private Integer sequence;
 
+    @ApiModelProperty(value = "文件类型ID")
+    private Long fileTypeId;
+
     public Long getPaperScanTaskId() {
         return paperScanTaskId;
     }
@@ -61,6 +64,14 @@ public class PaperLibraryOther extends BaseEntity implements Serializable {
         this.sequence = sequence;
     }
 
+    public Long getFileTypeId() {
+        return fileTypeId;
+    }
+
+    public void setFileTypeId(Long fileTypeId) {
+        this.fileTypeId = fileTypeId;
+    }
+
     @Override
     public String toString() {
         return "PaperLibraryOther{" +

+ 23 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/BasicFileTypeService.java

@@ -0,0 +1,23 @@
+package com.qmth.paper.library.business.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.paper.library.common.bean.params.BasicFileTypeParams;
+import com.qmth.paper.library.common.entity.BasicFileType;
+
+import java.util.List;
+
+/**
+ * @Description 其他文件类型 服务类
+ */
+public interface BasicFileTypeService extends IService<BasicFileType> {
+
+    IPage<BasicFileType> pageData(Integer pageNumber, Integer pageSize);
+
+    Long saveBasicFileType(BasicFileTypeParams params) throws IllegalAccessException;
+
+    boolean deleteBasicFileTypeById(Long id);
+
+    List<BasicFileType> listBasicFileType();
+
+}

+ 112 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/BasicFileTypeServiceImpl.java

@@ -0,0 +1,112 @@
+package com.qmth.paper.library.business.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.paper.library.business.entity.PaperLibraryOther;
+import com.qmth.paper.library.business.service.BasicFileTypeService;
+import com.qmth.paper.library.business.service.PaperLibraryOtherService;
+import com.qmth.paper.library.common.bean.params.BasicFileTypeParams;
+import com.qmth.paper.library.common.bean.result.DBVerifyResult;
+import com.qmth.paper.library.common.contant.SystemConstant;
+import com.qmth.paper.library.common.entity.BasicFileType;
+import com.qmth.paper.library.common.enums.ExceptionResultEnum;
+import com.qmth.paper.library.common.enums.FileTypeEnum;
+import com.qmth.paper.library.common.mapper.BasicFileTypeMapper;
+import com.qmth.paper.library.common.util.ServletUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+
+@Service
+public class BasicFileTypeServiceImpl extends ServiceImpl<BasicFileTypeMapper, BasicFileType> implements BasicFileTypeService {
+
+    @Resource
+    private PaperLibraryOtherService paperLibraryOtherService;
+
+    @Override
+    public IPage<BasicFileType> pageData(Integer pageNumber, Integer pageSize) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        LambdaQueryWrapper<BasicFileType> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(BasicFileType::getSchoolId, schoolId);
+        queryWrapper.orderByAsc(BasicFileType::getCreateTime);
+        return this.baseMapper.selectPage(new Page<>(pageNumber, pageSize), queryWrapper);
+    }
+
+    @Override
+    @Transactional
+    public Long saveBasicFileType(BasicFileTypeParams params) throws IllegalAccessException {
+        DBVerifyResult dbVerifyResult = SystemConstant.verifyDBFields(params, params.getClass());
+        if(!dbVerifyResult.getStatus()){
+            throw ExceptionResultEnum.ERROR.exception(dbVerifyResult.getMessage());
+        }
+
+        Long id = params.getId();
+        String name = params.getName();
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+
+        //校验名称是否重复
+        LambdaQueryWrapper<BasicFileType> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(BasicFileType::getName, name.trim());
+        queryWrapper.eq(BasicFileType::getSchoolId, schoolId);
+        BasicFileType basicFileType = this.getOne(queryWrapper);
+        if (Objects.nonNull(basicFileType)) {
+            throw ExceptionResultEnum.ERROR.exception("文件类型名称【" + name + "】重复");
+        }
+
+        //编辑
+        if (SystemConstant.longNotNull(id)) {
+            BasicFileType oldFileType = this.getById(id);
+            if (Objects.isNull(oldFileType)) {
+                throw ExceptionResultEnum.ERROR.exception("文件类型不存在");
+            }
+            LambdaUpdateWrapper<BasicFileType> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.set(BasicFileType::getName, name);
+            updateWrapper.eq(BasicFileType::getId, id);
+            this.update(updateWrapper);
+        } else { //新增
+            id = SystemConstant.getDbUuid();
+            BasicFileType fileType = new BasicFileType();
+            fileType.setId(id);
+            fileType.setName(name);
+            fileType.setSchoolId(schoolId);
+            fileType.setType(FileTypeEnum.CUSTOMER);
+            this.save(fileType);
+        }
+        return id;
+    }
+
+    @Override
+    public boolean deleteBasicFileTypeById(Long id) {
+        BasicFileType fileType = this.getById(id);
+        if (Objects.isNull(fileType)) {
+            throw ExceptionResultEnum.ERROR.exception("文件类型不存在");
+        }
+        if (fileType.getType().equals(FileTypeEnum.SYSTEM)) {
+            throw ExceptionResultEnum.ERROR.exception("只能删除自定义的文件类型");
+        }
+        //存在扫描文件,不能删除
+        LambdaQueryWrapper<PaperLibraryOther> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(PaperLibraryOther::getFileTypeId, id);
+        int count = paperLibraryOtherService.count(queryWrapper);
+        if (count > 0) {
+            throw ExceptionResultEnum.ERROR.exception("该文件类型已有扫描文件,不能删除");
+        }
+        return this.removeById(id);
+    }
+
+    @Override
+    public List<BasicFileType> listBasicFileType() {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        LambdaQueryWrapper<BasicFileType> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(BasicFileType::getSchoolId, schoolId);
+        queryWrapper.orderByAsc(BasicFileType::getCreateTime);
+        return this.list(queryWrapper);
+    }
+
+}

+ 15 - 2
paper-library-business/src/main/resources/db/log/hgh_update_log.sql

@@ -2,7 +2,7 @@
 CREATE TABLE `basic_file_type`  (
     `id` bigint(0) NOT NULL,
     `school_id` bigint(0) NOT NULL COMMENT '学校ID',
-    `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件类型名称',
+    `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件类型名称',
     `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类别:系统,自定义',
     `create_id` bigint(0) NULL DEFAULT NULL COMMENT '创建人',
     `create_time` bigint(0) NULL DEFAULT NULL COMMENT '创建时间',
@@ -13,4 +13,17 @@ CREATE TABLE `basic_file_type`  (
 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文件类型' ROW_FORMAT = Dynamic;
 
 ALTER TABLE `exam_student`
-    ADD COLUMN file_path varchar(255) NULL COMMENT '生成pdf的文件路径' AFTER `update_time`;
+    ADD COLUMN file_path varchar(255) NULL COMMENT '生成pdf的文件路径' AFTER `update_time`;
+
+
+-- 2024-07-29
+ALTER TABLE `paper_library_other`
+    ADD COLUMN `file_type_id` bigint NULL COMMENT '文件类型ID' AFTER `update_time`;
+
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (560, '文件类型管理', 'FileTypeManage', 'MENU', 8, 6, NULL, NULL, 1, 0, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (561, '新建', 'Add', 'BUTTON', 560, 1, 'AUTH', '565', 1, 0, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (562, '删除', 'Delete', 'LINK', 560, 1, 'AUTH', '566', 1, 0, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (563, '列表', 'List', 'LIST', 560, 1, 'AUTH', '564', 1, 0, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (564, '查询', '/api/admin/basic/filetype/page', 'URL', 560, 1, 'AUTH', NULL, 1, 1, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (565, '新增', '/api/admin/basic/filetype/save', 'URL', 560, 2, 'AUTH', NULL, 1, 1, 1);
+INSERT INTO `sys_privilege`(`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (566, '删除', '/api/admin/basic/filetype/delete', 'URL', 560, 3, 'AUTH', NULL, 1, 1, 1);

+ 42 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/bean/params/BasicFileTypeParams.java

@@ -0,0 +1,42 @@
+package com.qmth.paper.library.common.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.paper.library.common.annotation.DBVerify;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+public class BasicFileTypeParams implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "文件类型id(编辑时必填)")
+    @DBVerify(value = "文件类型id(编辑时必填)")
+    private Long id;
+
+    @ApiModelProperty(value = "文件类型名称")
+    @NotNull(message = "请输入文件类型名称")
+    @Length(min = 1, message = "请输入文件类型名称")
+    @DBVerify(value = "文件类型名称", required = true, min = 1, max = 50)
+    private String name;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 59 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/entity/BasicFileType.java

@@ -0,0 +1,59 @@
+package com.qmth.paper.library.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.paper.library.common.base.BaseEntity;
+import com.qmth.paper.library.common.enums.FileTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 其他文件类型表
+ */
+@TableName("basic_file_type")
+public class BasicFileType extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("school_id")
+    private Long schoolId;
+
+    @ApiModelProperty(value = "文件类型名称")
+    @NotBlank(message = "文件类型名称必填")
+    @TableField("name")
+    private String name;
+
+    @ApiModelProperty(value = "文件类型类别")
+    @TableField("type")
+    private FileTypeEnum type;
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public FileTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(FileTypeEnum type) {
+        this.type = type;
+    }
+}

+ 32 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/enums/FileTypeEnum.java

@@ -0,0 +1,32 @@
+package com.qmth.paper.library.common.enums;
+
+import java.util.Objects;
+
+/**
+ * @Description 文件类型
+ */
+public enum FileTypeEnum {
+    SYSTEM("系统文件类型"),
+
+    CUSTOMER("用户自定义文件类型");
+
+    private String title;
+
+    private FileTypeEnum(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public static String convertToName(String title) {
+        for (FileTypeEnum e : FileTypeEnum.values()) {
+            if (Objects.equals(title, e.getTitle())) {
+                return e.name();
+            }
+        }
+        return null;
+    }
+
+}

+ 33 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/enums/SystemFileTypeEnum.java

@@ -0,0 +1,33 @@
+package com.qmth.paper.library.common.enums;
+
+import java.util.Objects;
+
+/**
+ * @Description 系统文件类型定义
+ */
+public enum SystemFileTypeEnum {
+
+    SIGN_SHEET("签到表"),
+
+    SCORE_REPORT("成绩单");
+
+    private String title;
+
+    private SystemFileTypeEnum(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public static String convertToName(String title) {
+        for (SystemFileTypeEnum e : SystemFileTypeEnum.values()) {
+            if (Objects.equals(title, e.getTitle())) {
+                return e.name();
+            }
+        }
+        return null;
+    }
+
+}

+ 11 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/mapper/BasicFileTypeMapper.java

@@ -0,0 +1,11 @@
+package com.qmth.paper.library.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.paper.library.common.entity.BasicFileType;
+
+/**
+ * @Description  其他文件类型Mapper接口
+ */
+public interface BasicFileTypeMapper extends BaseMapper<BasicFileType> {
+
+}

+ 12 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/service/SystemFileTypeService.java

@@ -0,0 +1,12 @@
+package com.qmth.paper.library.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.paper.library.common.entity.BasicFileType;
+
+/**
+ * @Description 文件类型初始化
+ */
+public interface SystemFileTypeService extends IService<BasicFileType> {
+
+    void saveSystemFileType(Long schoolId);
+}

+ 6 - 5
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/AuthInfoServiceImpl.java

@@ -6,15 +6,11 @@ import com.qmth.boot.core.solar.model.AppInfo;
 import com.qmth.boot.core.solar.model.OrgInfo;
 import com.qmth.boot.core.solar.service.SolarService;
 import com.qmth.paper.library.common.bean.dto.AuthOrgInfoDto;
-import com.qmth.paper.library.common.config.DictionaryConfig;
 import com.qmth.paper.library.common.entity.BasicSchool;
 import com.qmth.paper.library.common.entity.SysOrg;
 import com.qmth.paper.library.common.entity.TSAuth;
 import com.qmth.paper.library.common.enums.AuthEnum;
 import com.qmth.paper.library.common.enums.ExceptionResultEnum;
-import com.qmth.paper.library.common.mapper.BasicSchoolMapper;
-import com.qmth.paper.library.common.mapper.SysOrgMapper;
-import com.qmth.paper.library.common.mapper.TSAuthMapper;
 import com.qmth.paper.library.common.service.*;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
@@ -23,7 +19,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.io.File;
 import java.util.*;
 
 /**
@@ -51,6 +46,8 @@ public class AuthInfoServiceImpl implements AuthInfoService {
     private SysOrgService sysOrgService;
     @Resource
     private LibraryCommonService libraryCommonService;
+    @Resource
+    private SystemFileTypeService systemFileTypeService;
 
     /**
      * 授权信息初始化
@@ -196,6 +193,10 @@ public class AuthInfoServiceImpl implements AuthInfoService {
 
             if (!CollectionUtils.isEmpty(basicSchoolSet)) {
                 basicSchoolService.saveBatch(basicSchoolSet);
+                //初始化学校的文件类型
+                for (BasicSchool basicSchool : basicSchoolSet) {
+                    systemFileTypeService.saveSystemFileType(basicSchool.getId());
+                }
             }
 
             if (!CollectionUtils.isEmpty(sysOrgSet)) {

+ 45 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SystemFileTypeServiceImpl.java

@@ -0,0 +1,45 @@
+package com.qmth.paper.library.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.paper.library.common.contant.SystemConstant;
+import com.qmth.paper.library.common.entity.BasicFileType;
+import com.qmth.paper.library.common.enums.FileTypeEnum;
+import com.qmth.paper.library.common.enums.SystemFileTypeEnum;
+import com.qmth.paper.library.common.mapper.BasicFileTypeMapper;
+import com.qmth.paper.library.common.service.SystemFileTypeService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SystemFileTypeServiceImpl extends ServiceImpl<BasicFileTypeMapper, BasicFileType> implements SystemFileTypeService {
+
+    private final Logger logger = LoggerFactory.getLogger(SystemFileTypeServiceImpl.class);
+
+    @Override
+    public void saveSystemFileType(Long schoolId) {
+        SystemFileTypeEnum[] systemFileTypes = SystemFileTypeEnum.values();
+        for (SystemFileTypeEnum systemFileType : systemFileTypes) {
+            String name = systemFileType.getTitle();
+            BasicFileType existFileType = getBasicFileType(schoolId, name);
+            if (existFileType != null) {
+                logger.warn(String.format("[初始化文件类型] 文件类型已经存在,school_id:%s,name:%s", schoolId, name));
+            } else {
+                BasicFileType fileType = new BasicFileType();
+                fileType.setId(SystemConstant.getDbUuid());
+                fileType.setName(name);
+                fileType.setSchoolId(schoolId);
+                fileType.setType(FileTypeEnum.SYSTEM);
+                this.save(fileType);
+            }
+        }
+    }
+
+    private BasicFileType getBasicFileType(Long schoolId, String name) {
+        LambdaQueryWrapper<BasicFileType> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(BasicFileType::getSchoolId, schoolId);
+        queryWrapper.eq(BasicFileType::getName, name);
+        return this.getOne(queryWrapper);
+    }
+}

+ 15 - 0
paper-library-common/src/main/resources/mapper/BasicFileTypeMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qmth.paper.library.common.mapper.BasicFileTypeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qmth.paper.library.common.entity.BasicFileType">
+        <result column="id" property="id"/>
+        <result column="school_id" property="schoolId"/>
+        <result column="name" property="name"/>
+        <result column="type" property="type"/>
+        <result column="create_id" property="createId"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+</mapper>

+ 63 - 0
paper-library/src/main/java/com/qmth/paper/library/api/BasicFileTypeController.java

@@ -0,0 +1,63 @@
+package com.qmth.paper.library.api;
+
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.paper.library.business.bean.result.EditResult;
+import com.qmth.paper.library.business.service.BasicFileTypeService;
+import com.qmth.paper.library.common.bean.params.BasicFileTypeParams;
+import com.qmth.paper.library.common.contant.ApiPrefixConstant;
+import com.qmth.paper.library.common.contant.SystemConstant;
+import com.qmth.paper.library.common.util.Result;
+import com.qmth.paper.library.common.util.ResultUtil;
+import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+
+/**
+ * @Description 扫描-其他文件类型-前端控制器
+ */
+@Api(tags = "其他文件类型Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + ApiPrefixConstant.PREFIX_BASIC + "/filetype")
+public class BasicFileTypeController {
+
+    @Resource
+    private BasicFileTypeService basicFileTypeService;
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/page")
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    public Result page(@ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(basicFileTypeService.pageData(pageNumber, pageSize));
+    }
+
+    @ApiOperation(value = "列表查询")
+    @PostMapping("/list")
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Result.class) })
+    public Result list() {
+        return ResultUtil.ok(basicFileTypeService.listBasicFileType());
+    }
+
+    @ApiOperation(value = "新增")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "保存成功", response = EditResult.class)})
+    public Result saveBasicFileType(@Valid @RequestBody BasicFileTypeParams params, BindingResult bindingResult) throws IllegalAccessException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(basicFileTypeService.saveBasicFileType(params));
+    }
+
+    @ApiOperation(value = "删除")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
+    public Result deleteBasicFileType(@ApiParam(value = "文件类型ID", required = true) @RequestParam String id) {
+        return ResultUtil.ok(basicFileTypeService.deleteBasicFileTypeById(SystemConstant.convertIdToLong(id)));
+    }
+
+}