febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/constant/ModuleCode.java
@@ -56,5 +56,9 @@ * 人力资源-培训开发 */ public final static int HR_TRAIN=17; /** * 人力资源-文件管理 */ public final static int HR_FIlE=18; } febs-server/febs-server-hr/pom.xml
@@ -58,6 +58,11 @@ <version>2.2-RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.8</version> </dependency> </dependencies> <build> febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java
New file @@ -0,0 +1,81 @@ package cc.mrbird.febs.server.hr.controller; import cc.mrbird.febs.server.hr.entity.FilesUpload; import cc.mrbird.febs.server.hr.service.IFilesUploadService; import cc.mrbird.febs.common.core.entity.FebsResponse; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.common.core.exception.FebsException; import cc.mrbird.febs.common.core.utils.FebsUtil; import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Map; /** * 文件上传 Controller * * @author yz * @date 2021-02-05 22:51:00 */ @Slf4j @Validated @RestController @RequestMapping("filesUpload") @RequiredArgsConstructor public class FilesUploadController { private final IFilesUploadService filesUploadService; @GetMapping @PreAuthorize("hasAuthority('filesUpload:list')") public FebsResponse getAllFilesUploads(FilesUpload filesUpload) { return new FebsResponse().data(filesUploadService.findFilesUploads(filesUpload)); } @GetMapping("list") @PreAuthorize("hasAuthority('filesUpload:list')") public FebsResponse filesUploadList(QueryRequest request, FilesUpload filesUpload) { Map<String, Object> dataTable = FebsUtil.getDataTable(this.filesUploadService.findFilesUploads(request, filesUpload)); return new FebsResponse().data(dataTable); } @PostMapping @PreAuthorize("hasAuthority('filesUpload:add')") public void addFilesUpload(@Valid FilesUpload filesUpload) throws FebsException { try { this.filesUploadService.createFilesUpload(filesUpload); } catch (Exception e) { String message = "新增FilesUpload失败"; log.error(message, e); throw new FebsException(message); } } @DeleteMapping @PreAuthorize("hasAuthority('filesUpload:delete')") public void deleteFilesUpload(FilesUpload filesUpload) throws FebsException { try { this.filesUploadService.deleteFilesUpload(filesUpload); } catch (Exception e) { String message = "删除FilesUpload失败"; log.error(message, e); throw new FebsException(message); } } @PutMapping @PreAuthorize("hasAuthority('filesUpload:update')") public void updateFilesUpload(FilesUpload filesUpload) throws FebsException { try { this.filesUploadService.updateFilesUpload(filesUpload); } catch (Exception e) { String message = "修改FilesUpload失败"; log.error(message, e); throw new FebsException(message); } } } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FolderController.java
New file @@ -0,0 +1,81 @@ package cc.mrbird.febs.server.hr.controller; import cc.mrbird.febs.server.hr.entity.Folder; import cc.mrbird.febs.server.hr.service.IFolderService; import cc.mrbird.febs.common.core.entity.FebsResponse; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.common.core.exception.FebsException; import cc.mrbird.febs.common.core.utils.FebsUtil; import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Map; /** * 文件夹 Controller * * @author yz * @date 2021-02-05 22:51:02 */ @Slf4j @Validated @RestController @RequestMapping("folder") @RequiredArgsConstructor public class FolderController { private final IFolderService folderService; @GetMapping @PreAuthorize("hasAuthority('folder:list')") public FebsResponse getAllFolders(Folder folder) { return new FebsResponse().data(folderService.findFolders(folder)); } @GetMapping("list") @PreAuthorize("hasAuthority('folder:list')") public FebsResponse folderList(QueryRequest request, Folder folder) { Map<String, Object> dataTable = FebsUtil.getDataTable(this.folderService.findFolders(request, folder)); return new FebsResponse().data(dataTable); } @PostMapping @PreAuthorize("hasAuthority('folder:add')") public void addFolder(@Valid Folder folder) throws FebsException { try { this.folderService.createFolder(folder); } catch (Exception e) { String message = "新增Folder失败"; log.error(message, e); throw new FebsException(message); } } @DeleteMapping @PreAuthorize("hasAuthority('folder:delete')") public void deleteFolder(Folder folder) throws FebsException { try { this.folderService.deleteFolder(folder); } catch (Exception e) { String message = "删除Folder失败"; log.error(message, e); throw new FebsException(message); } } @PutMapping @PreAuthorize("hasAuthority('folder:update')") public void updateFolder(Folder folder) throws FebsException { try { this.folderService.updateFolder(folder); } catch (Exception e) { String message = "修改Folder失败"; log.error(message, e); throw new FebsException(message); } } } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/FilesUpload.java
New file @@ -0,0 +1,83 @@ package cc.mrbird.febs.server.hr.entity; import java.util.Date; import lombok.Data; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; /** * 文件上传 Entity * * @author yz * @date 2021-02-05 22:51:00 */ @Data @TableName("t_files_upload") public class FilesUpload { /** * 记录创建时间 */ @TableField("createTime") private Date createtime; /** * 记录创建人 */ @TableField("creator") private String creator; /** * 记录状态 0-正常 1-删除 2-暂存 */ @TableField("delFlag") private Integer delFlag = 0; /** * 文件存储地址 */ @TableField("filesAddress") private String filesaddress; /** * 文件格式 */ @TableField("filesFormat") private String filesformat; /** * id */ @TableField("filesId") private Long filesid; /** * 文件名称 */ @TableField("filesName") private String filesname; /** * 文件夹ID */ @TableField("folderId") private Long folderid; /** * 记录最后更新人 */ @TableField("modifier") private String modifier; /** * 记录最后更新时间 */ @TableField("modifyTime") private Date modifytime; /** * 记录版本号,用来进行乐观锁控制 */ @TableField("version") private Integer version; } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/Folder.java
New file @@ -0,0 +1,76 @@ package cc.mrbird.febs.server.hr.entity; import java.util.Date; import lombok.Data; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * 文件夹 Entity * * @author yz * @date 2021-02-05 22:51:02 */ @Data @TableName("t_folder") public class Folder { /** * 记录创建时间 */ @TableField("createTime") private Date createtime; /** * 记录创建人 */ @TableField("creator") private String creator; /** * 记录状态 0-正常 1-删除 2-暂存 */ @TableField("delFlag") private Integer delFlag = 0; /** * id */ @TableField("folderId") private Long folderid; /** * 文件夹名称 */ @TableField("folderName") @NotBlank(message = "{required}") private String foldername; /** * 记录最后更新人 */ @TableField("modifier") private String modifier; /** * 记录最后更新时间 */ @TableField("modifyTime") private Date modifytime; /** * 记录版本号,用来进行乐观锁控制 */ @TableField("version") private Integer version=0; /** * 文件夹显示顺序 */ @TableField("sort") @NotNull(message = "{required}") @Range(message = "排序范围为 {min} 到 {max} 之间", min = 0, max = 100) private Integer sort=0; } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/FilesUploadMapper.java
New file @@ -0,0 +1,14 @@ package cc.mrbird.febs.server.hr.mapper; import cc.mrbird.febs.server.hr.entity.FilesUpload; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 文件上传 Mapper * * @author yz * @date 2021-02-05 22:51:00 */ public interface FilesUploadMapper extends BaseMapper<FilesUpload> { } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/FilesUploadMapper.xml
New file @@ -0,0 +1,5 @@ <?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="cc.mrbird.febs.server.hr.mapper.FilesUploadMapper"> </mapper> febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/FolderMapper.java
New file @@ -0,0 +1,14 @@ package cc.mrbird.febs.server.hr.mapper; import cc.mrbird.febs.server.hr.entity.Folder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 文件夹 Mapper * * @author yz * @date 2021-02-05 22:51:02 */ public interface FolderMapper extends BaseMapper<Folder> { } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/FolderMapper.xml
New file @@ -0,0 +1,5 @@ <?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="cc.mrbird.febs.server.hr.mapper.FolderMapper"> </mapper> febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java
New file @@ -0,0 +1,55 @@ package cc.mrbird.febs.server.hr.service; import cc.mrbird.febs.server.hr.entity.FilesUpload; import cc.mrbird.febs.common.core.entity.QueryRequest; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * 文件上传 Service接口 * * @author yz * @date 2021-02-05 22:51:00 */ public interface IFilesUploadService extends IService<FilesUpload> { /** * 查询(分页) * * @param request QueryRequest * @param filesUpload filesUpload * @return IPage<FilesUpload> */ IPage<FilesUpload> findFilesUploads(QueryRequest request, FilesUpload filesUpload); /** * 查询(所有) * * @param filesUpload filesUpload * @return List<FilesUpload> */ List<FilesUpload> findFilesUploads(FilesUpload filesUpload); /** * 新增 * * @param filesUpload filesUpload */ void createFilesUpload(FilesUpload filesUpload); /** * 修改 * * @param filesUpload filesUpload */ void updateFilesUpload(FilesUpload filesUpload); /** * 删除 * * @param filesUpload filesUpload */ void deleteFilesUpload(FilesUpload filesUpload); } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFolderService.java
New file @@ -0,0 +1,55 @@ package cc.mrbird.febs.server.hr.service; import cc.mrbird.febs.server.hr.entity.Folder; import cc.mrbird.febs.common.core.entity.QueryRequest; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * 文件夹 Service接口 * * @author yz * @date 2021-02-05 22:51:02 */ public interface IFolderService extends IService<Folder> { /** * 查询(分页) * * @param request QueryRequest * @param folder folder * @return IPage<Folder> */ IPage<Folder> findFolders(QueryRequest request, Folder folder); /** * 查询(所有) * * @param folder folder * @return List<Folder> */ List<Folder> findFolders(Folder folder); /** * 新增 * * @param folder folder */ void createFolder(Folder folder); /** * 修改 * * @param folder folder */ void updateFolder(Folder folder); /** * 删除 * * @param folder folder */ void deleteFolder(Folder folder); } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java
New file @@ -0,0 +1,71 @@ package cc.mrbird.febs.server.hr.service.impl; import cc.mrbird.febs.server.hr.entity.FilesUpload; import cc.mrbird.febs.server.hr.mapper.FilesUploadMapper; import cc.mrbird.febs.server.hr.service.IFilesUploadService; import cn.hutool.core.util.StrUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Propagation; import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cc.mrbird.febs.common.core.entity.QueryRequest; import java.util.List; /** * 文件上传 Service实现 * * @author yz * @date 2021-02-05 22:51:00 */ @Service @RequiredArgsConstructor @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public class FilesUploadServiceImpl extends ServiceImpl<FilesUploadMapper, FilesUpload> implements IFilesUploadService { private final FilesUploadMapper filesUploadMapper; @Override public IPage<FilesUpload> findFilesUploads(QueryRequest request, FilesUpload filesUpload) { LambdaQueryWrapper<FilesUpload> queryWrapper = new LambdaQueryWrapper<>(); Page<FilesUpload> page = new Page<>(request.getPageNum(), request.getPageSize()); return this.page(page, queryWrapper); } @Override public List<FilesUpload> findFilesUploads(FilesUpload filesUpload) { LambdaQueryWrapper<FilesUpload> queryWrapper = new LambdaQueryWrapper<>(); if (null != filesUpload.getFolderid()){ queryWrapper.eq(FilesUpload::getFolderid,filesUpload.getFolderid()); } if (StrUtil.isNotBlank(filesUpload.getFilesname())){ queryWrapper.like(FilesUpload::getFilesname,filesUpload.getFilesname()) ; } queryWrapper.orderByDesc(FilesUpload::getModifytime); return this.baseMapper.selectList(queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public void createFilesUpload(FilesUpload filesUpload) { this.save(filesUpload); } @Override @Transactional(rollbackFor = Exception.class) public void updateFilesUpload(FilesUpload filesUpload) { this.saveOrUpdate(filesUpload); } @Override @Transactional(rollbackFor = Exception.class) public void deleteFilesUpload(FilesUpload filesUpload) { LambdaQueryWrapper<FilesUpload> wapper = new LambdaQueryWrapper<>(); // TODO 设置删除条件 this.remove(wapper); } } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FolderServiceImpl.java
New file @@ -0,0 +1,79 @@ package cc.mrbird.febs.server.hr.service.impl; import cc.mrbird.febs.common.core.constant.ModuleCode; import cc.mrbird.febs.common.core.utils.FebsUtil; import cc.mrbird.febs.common.core.utils.SequenceUtil; import cc.mrbird.febs.server.hr.entity.FilesUpload; import cc.mrbird.febs.server.hr.entity.Folder; import cc.mrbird.febs.server.hr.mapper.FolderMapper; import cc.mrbird.febs.server.hr.service.IFolderService; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Propagation; import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cc.mrbird.febs.common.core.entity.QueryRequest; import java.util.Date; import java.util.List; import java.util.Optional; /** * 文件夹 Service实现 * * @author yz * @date 2021-02-05 22:51:02 */ @Service @RequiredArgsConstructor @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public class FolderServiceImpl extends ServiceImpl<FolderMapper, Folder> implements IFolderService { private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) .map(u -> u.getUserId().toString()) .orElse("1"); @Override public IPage<Folder> findFolders(QueryRequest request, Folder folder) { LambdaQueryWrapper<Folder> queryWrapper = new LambdaQueryWrapper<>(); // TODO 设置查询条件 Page<Folder> page = new Page<>(request.getPageNum(), request.getPageSize()); return this.page(page, queryWrapper); } @Override public List<Folder> findFolders(Folder folder) { LambdaQueryWrapper<Folder> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Folder::getDelFlag,0).orderByAsc(Folder::getSort); return this.baseMapper.selectList(queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public void createFolder(Folder folder) { folder.setFolderid(SequenceUtil.generateId(0L, ModuleCode.HR_FIlE)); folder.setCreator(operatorId); folder.setModifier(operatorId); folder.setCreatetime(new Date()); folder.setModifytime(new Date()); this.save(folder); } @Override @Transactional(rollbackFor = Exception.class) public void updateFolder(Folder folder) { this.saveOrUpdate(folder); } @Override @Transactional(rollbackFor = Exception.class) public void deleteFolder(Folder folder) { LambdaUpdateWrapper<Folder> wapper = new LambdaUpdateWrapper<>(); wapper.eq(Folder::getFolderid,folder.getFolderid()).setSql("delFlag = 1"); // TODO 设置删除条件 this.update(wapper); } } febs-server/febs-server-hr/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@ config: server-addr: ${nacos.url:120.24.23.155}:8848 group: DEFAULT_GROUP prefix: febs-server-Hr prefix: febs-server-hr file-extension: yaml discovery: server-addr: ${nacos.url:120.24.23.155}:8848