This commit is contained in:
zt
2025-10-16 20:33:34 +08:00
parent 4042b4a441
commit b5d2b3df06
5 changed files with 36 additions and 5 deletions

View File

@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -41,6 +42,7 @@ public class QltFileFolderController extends BaseController {
/** /**
* 查询会议纪要列表 * 查询会议纪要列表
*/ */
@SaCheckPermission("quality:fileFolder:listAll")
@GetMapping("/list-all") @GetMapping("/list-all")
public R<List<QltFileFolderVo>> listAll(QltListQueryDto dto) { public R<List<QltFileFolderVo>> listAll(QltListQueryDto dto) {
return R.ok(qltFileFolderService.listAll(dto)); return R.ok(qltFileFolderService.listAll(dto));
@ -94,6 +96,7 @@ public class QltFileFolderController extends BaseController {
/** /**
* 创建文件或文件夹 * 创建文件或文件夹
*/ */
@SaCheckPermission("quality:fileFolder:create")
@PostMapping("/create") @PostMapping("/create")
public R<QltFileFolder> create(@RequestBody QltFileFolderCreateDTO dto) { public R<QltFileFolder> create(@RequestBody QltFileFolderCreateDTO dto) {
return R.ok(qltFileFolderService.createFileOrFolder(dto)); return R.ok(qltFileFolderService.createFileOrFolder(dto));
@ -102,6 +105,7 @@ public class QltFileFolderController extends BaseController {
/** /**
* 删除文件或文件夹(级联删除子项) * 删除文件或文件夹(级联删除子项)
*/ */
@SaCheckPermission("quality:fileFolder:delete")
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
@Transactional @Transactional
public R<Boolean> delete(@PathVariable List<Long> ids) { public R<Boolean> delete(@PathVariable List<Long> ids) {
@ -114,6 +118,7 @@ public class QltFileFolderController extends BaseController {
/** /**
* 移动文件或文件夹到指定目录 * 移动文件或文件夹到指定目录
*/ */
@SaCheckPermission("quality:fileFolder:move")
@PostMapping("/move") @PostMapping("/move")
@Transactional @Transactional
public R<Boolean> move(@RequestBody QltFileFolderMoveDTO dto) { public R<Boolean> move(@RequestBody QltFileFolderMoveDTO dto) {
@ -123,6 +128,7 @@ public class QltFileFolderController extends BaseController {
/** /**
* 上传ZIP文件并自动解压到指定目录支持多层级 * 上传ZIP文件并自动解压到指定目录支持多层级
*/ */
@SaCheckPermission("quality:fileFolder:create")
@PostMapping("/uploadAndUnzip") @PostMapping("/uploadAndUnzip")
public R<String> uploadAndUnzip( public R<String> uploadAndUnzip(
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@ -140,12 +146,15 @@ public class QltFileFolderController extends BaseController {
} }
} }
@PostMapping("/unzip") @PostMapping("/unzip")
public R<String> unzip(@RequestParam("id") Long id, public R<String> unzip(@RequestParam("id") Long id,
@RequestParam("parentId") Long parentId) { @RequestParam("parentId") Long parentId) {
return R.ok(qltFileFolderService.unzip(id, parentId)); return R.ok(qltFileFolderService.unzip(id, parentId));
} }
@SaCheckPermission("quality:fileFolder:reName")
@PutMapping("/reName") @PutMapping("/reName")
public R<Boolean> reName(@RequestParam("id") Long id, public R<Boolean> reName(@RequestParam("id") Long id,
@RequestParam("name") String name) { @RequestParam("name") String name) {
@ -153,6 +162,7 @@ public class QltFileFolderController extends BaseController {
} }
@SaCheckPermission("quality:fileFolder:download")
@GetMapping("/download/{id}") @GetMapping("/download/{id}")
public void download(@PathVariable Long id, HttpServletResponse response) throws IOException { public void download(@PathVariable Long id, HttpServletResponse response) throws IOException {
qltFileFolderService.download(id, response); qltFileFolderService.download(id, response);

View File

@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -38,6 +39,7 @@ public class HseFileFolderController extends BaseController {
/** /**
* 查询会议纪要列表 * 查询会议纪要列表
*/ */
@SaCheckPermission("safety:fileFolder:listAll")
@GetMapping("/list-all") @GetMapping("/list-all")
public R<List<HseFileFolderVo>> listAll(SafeListQueryDto dto) { public R<List<HseFileFolderVo>> listAll(SafeListQueryDto dto) {
return R.ok(hseFileFolderService.listAll(dto)); return R.ok(hseFileFolderService.listAll(dto));
@ -91,6 +93,7 @@ public class HseFileFolderController extends BaseController {
/** /**
* 创建文件或文件夹 * 创建文件或文件夹
*/ */
@SaCheckPermission("safety:fileFolder:create")
@PostMapping("/create") @PostMapping("/create")
public R<HseFileFolder> create(@RequestBody FileFolderCreateDTO dto) { public R<HseFileFolder> create(@RequestBody FileFolderCreateDTO dto) {
return R.ok(hseFileFolderService.createFileOrFolder(dto)); return R.ok(hseFileFolderService.createFileOrFolder(dto));
@ -99,6 +102,8 @@ public class HseFileFolderController extends BaseController {
/** /**
* 删除文件或文件夹(级联删除子项) * 删除文件或文件夹(级联删除子项)
*/ */
@SaCheckPermission("safety:fileFolder:delete")
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
@Transactional @Transactional
public R<Boolean> delete(@PathVariable List<Long> ids) { public R<Boolean> delete(@PathVariable List<Long> ids) {
@ -111,6 +116,7 @@ public class HseFileFolderController extends BaseController {
/** /**
* 移动文件或文件夹到指定目录 * 移动文件或文件夹到指定目录
*/ */
@SaCheckPermission("safety:fileFolder:move")
@PostMapping("/move") @PostMapping("/move")
@Transactional @Transactional
public R<Boolean> move(@RequestBody FileFolderMoveDTO dto) { public R<Boolean> move(@RequestBody FileFolderMoveDTO dto) {
@ -120,6 +126,7 @@ public class HseFileFolderController extends BaseController {
/** /**
* 上传ZIP文件并自动解压到指定目录支持多层级 * 上传ZIP文件并自动解压到指定目录支持多层级
*/ */
@SaCheckPermission("safety:fileFolder:create")
@PostMapping("/uploadAndUnzip") @PostMapping("/uploadAndUnzip")
public R<String> uploadAndUnzip( public R<String> uploadAndUnzip(
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@ -143,6 +150,7 @@ public class HseFileFolderController extends BaseController {
return R.ok(hseFileFolderService.unzip(id, parentId)); return R.ok(hseFileFolderService.unzip(id, parentId));
} }
@SaCheckPermission("safety:fileFolder:reName")
@PutMapping("/reName") @PutMapping("/reName")
public R<Boolean> reName(@RequestParam("id") Long id, public R<Boolean> reName(@RequestParam("id") Long id,
@RequestParam("name") String name) { @RequestParam("name") String name) {
@ -150,6 +158,7 @@ public class HseFileFolderController extends BaseController {
} }
@SaCheckPermission("safety:fileFolder:download")
@GetMapping("/download/{id}") @GetMapping("/download/{id}")
public void download(@PathVariable Long id, HttpServletResponse response) throws IOException { public void download(@PathVariable Long id, HttpServletResponse response) throws IOException {
hseFileFolderService.download(id, response); hseFileFolderService.download(id, response);

View File

@ -413,20 +413,26 @@ public class HseFileFolderServiceImpl extends ServiceImpl<HseFileFolderMapper, H
// 创建文件记录 // 创建文件记录
HseFileFolder fileRecord = new HseFileFolder(); HseFileFolder fileRecord = new HseFileFolder();
fileRecord.setProjectId(projectId); fileRecord.setProjectId(projectId);
fileRecord.setName(fileName);
fileRecord.setParentId(currentParentId); fileRecord.setParentId(currentParentId);
fileRecord.setType(2); // 文件类型 fileRecord.setType(2); // 文件类型
fileRecord.setLevel(parentLevel + pathParts.length); fileRecord.setLevel(parentLevel + pathParts.length);
// 文件路径格式为 ,parentId,fileId, // 文件路径格式为 ,parentId,fileId,
fileRecord.setPath(currentPath + fileRecord.getId() + ","); fileRecord.setPath(currentPath + fileRecord.getId() + ",");
// 设置文件扩展名 // 设置文件名(不包含扩展名)和文件扩展名
int dotIndex = fileName.lastIndexOf("."); int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0 && dotIndex < fileName.length() - 1) { if (dotIndex > 0) {
fileRecord.setFileSuffix(fileName.substring(dotIndex + 1)); // 设置文件名(不包含扩展名)
fileRecord.setName(fileName.substring(0, dotIndex));
// 设置文件扩展名
if (dotIndex < fileName.length() - 1) {
fileRecord.setFileSuffix(fileName.substring(dotIndex + 1));
}
} else {
// 没有扩展名的情况
fileRecord.setName(fileName);
} }
// 上传文件内容到OSS并设置文件路径 // 上传文件内容到OSS并设置文件路径
// 上传文件内容到OSS并设置文件路径
try { try {
// 从ZIP流中读取文件内容 // 从ZIP流中读取文件内容
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();

View File

@ -116,6 +116,9 @@ public class SysUserBo extends BaseEntity {
private Long contractorId; private Long contractorId;
private Long neUserId;
/** /**
* 排除不查询的用户(工作流用) * 排除不查询的用户(工作流用)
*/ */

View File

@ -58,6 +58,7 @@ public class ChatFriendshipServiceImpl extends ServiceImpl<ChatFriendshipMapper,
// if (one == null || one.isEmpty()){ // if (one == null || one.isEmpty()){
// return R.fail("该账号暂无项目组,请尽快联系管理员进行分配"); // return R.fail("该账号暂无项目组,请尽快联系管理员进行分配");
// } // }
user.setNeUserId(LoginHelper.getUserId());
Page<SysUserVo> page = sysUserMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user)); Page<SysUserVo> page = sysUserMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user));
List<SysUserVo> userVoList = page.getRecords(); List<SysUserVo> userVoList = page.getRecords();
List<SysUserVo> temps = new ArrayList<>(); List<SysUserVo> temps = new ArrayList<>();
@ -96,6 +97,7 @@ public class ChatFriendshipServiceImpl extends ServiceImpl<ChatFriendshipMapper,
QueryWrapper<SysUser> wrapper = Wrappers.query(); QueryWrapper<SysUser> wrapper = Wrappers.query();
wrapper.eq("u.del_flag", SystemConstants.NORMAL) wrapper.eq("u.del_flag", SystemConstants.NORMAL)
.eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId()) .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
.ne(ObjectUtil.isNotNull(user.getNeUserId()), "u.user_id", user.getNeUserId())
.like(StringUtils.isNotBlank(user.getNickName()), "u.nick_name", user.getNickName()) .like(StringUtils.isNotBlank(user.getNickName()), "u.nick_name", user.getNickName())
.like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
@ -107,6 +109,7 @@ public class ChatFriendshipServiceImpl extends ServiceImpl<ChatFriendshipMapper,
if (StringUtils.isNotBlank(user.getExcludeUserIds())) { if (StringUtils.isNotBlank(user.getExcludeUserIds())) {
wrapper.notIn("u.user_id", StringUtils.splitTo(user.getExcludeUserIds(), Convert::toLong)); wrapper.notIn("u.user_id", StringUtils.splitTo(user.getExcludeUserIds(), Convert::toLong));
} }
return wrapper; return wrapper;
} }