Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
shusir
2026-03-27 18:08:58 +08:00
15 changed files with 379 additions and 280 deletions

View File

@@ -0,0 +1,18 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo;
import lombok.Data;
@Data
public class DeptUserUniteRespVo {
private Long targetId; // 目标Id
private String targetType; // 目标类型
private String targetName; // 目标名称
private boolean hasLeaf; // 是否叶子节点
// private List<Long> deptIds;
}

View File

@@ -28,7 +28,7 @@ public class RecordPermissionPageReqVO extends PageParam {
private String targetType;
@Schema(description = "授权对象", example = "9264")
private String targetId;
private Long targetId;
@Schema(description = "授权对象名称", example = "普通角色")
private String targetName;
@@ -68,4 +68,10 @@ public class RecordPermissionPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
// =============临时字段=================
private Long userId;
private List<Long> userDeptIds;
}

View File

@@ -129,8 +129,6 @@ public class RecordRecordController extends AbstractFileUploadController impleme
pageResult = recordRecordService.getEffectiveRecordPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RecordRecordRespVO.class));
}
// TODO
@GetMapping("/getMatchedPermissionList")
@Operation(summary = "获得记录权限列表")
//@PreAuthorize("@ss.hasPermission('qms:record-permission:query')")
@@ -155,6 +153,14 @@ public class RecordRecordController extends AbstractFileUploadController impleme
return success(BeanUtils.toBean(result, RecordRecordRespVO.class));
}
@GetMapping("/selectRecordRecordPage")
@Operation(summary = "获得文件、模板、记录分页")
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
public CommonResult<PageResult<RecordRecordRespVO>> selectRecordRecordPage(RecordRecordPageReqVO pageReqVO) {
PageResult<RecordRecordRespVO> result = recordRecordService.selectRecordRecordPage(pageReqVO);
return success(BeanUtils.toBean(result, RecordRecordRespVO.class));
}
// 已由 XXL-Job 定时任务updateRecordStatusJob驱动此接口保留用于手动触发/测试
/**

View File

@@ -0,0 +1,65 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 文件、模板、记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class RecordJoinPermissionRespVO extends RecordRecordRespVO{
@Schema(description = "权限ID")
@ExcelProperty("权限ID")
private Long permId;
@Schema(description = "记录类型", example = "1")
@ExcelProperty("记录类型")
private String sourceType;
@Schema(description = "记录id", example = "1104")
@ExcelProperty("记录id")
private Long sourceId;
@Schema(description = "授权类型", example = "1")
@ExcelProperty("授权类型")
private String targetType;
@Schema(description = "授权对象", example = "9264")
@ExcelProperty("授权对象")
private String targetId;
@Schema(description = "授权对象名称", example = "普通角色")
@ExcelProperty("授权对象名称")
private String targetName;
@Schema(description = "权限类型")
@ExcelProperty("权限类型")
@Dict(dicCode = "file_record_permission type")
private String permission;
@Schema(description = "过期日期")
@ExcelProperty("过期日期")
private LocalDateTime permExpirationDate;
@Schema(description = "过期标识,0-有效1-过期", example = "1")
@ExcelProperty("过期标识,0-有效1-过期")
@Dict(dicCode = "yes_or_no")
private Integer permExpirationStatus;
@Schema(description = "权限作废标志,0-有效1-作废")
@ExcelProperty("权限作废标志,0-有效1-作废")
@Dict(dicCode = "yes_or_no")
private Integer permCancelFlag;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime permCreateTime;
}

View File

@@ -1,16 +1,18 @@
package com.zt.plat.module.qms.resource.record.dal.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordJoinPermissionRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO;
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* 记录权限 Mapper
@@ -48,6 +50,7 @@ public interface RecordPermissionMapper extends BaseMapperX<RecordPermissionDO>
* 3. 或用户的角色有权限 (targetType='角色' AND targetId in userRoles)
*/
List<RecordPermissionDO> selectPermissionList(@Param("recordP") RecordPermissionDO recordP); // permission: 管理员/可编辑/可查看
/**
* 检查用户是否有记录的权限
* 查询条件permission='可查看' AND
@@ -56,4 +59,18 @@ public interface RecordPermissionMapper extends BaseMapperX<RecordPermissionDO>
*/
List<RecordPermissionDO> selectRecordPermissionList(@Param("recordP") RecordPermissionDO recordP); // permission: 管理员/可编辑/可查看
/**
* 通过权限查文件
*
* @param page
* @param recordP
* @return
*/
IPage<RecordJoinPermissionRespVO> selectRecordByPermission(Page<RecordPermissionPageReqVO> page, RecordPermissionPageReqVO recordP);
// 通过文件权限查询
IPage<RecordJoinPermissionRespVO> selectPermissionByRecord(Page<RecordPermissionPageReqVO> page, RecordRecordPageReqVO recordP);
// 权限回收情况查询 TODO
IPage<RecordJoinPermissionRespVO> getExpireAndCancelRecordPermissionList(Page<RecordPermissionPageReqVO> page, RecordRecordPageReqVO recordP);
}

View File

@@ -2,10 +2,12 @@ package com.zt.plat.module.qms.resource.record.service.recordpermission;
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.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionSaveReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordJoinPermissionRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO;
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO;
import jakarta.validation.Valid;
@@ -113,9 +115,13 @@ public interface RecordPermissionService {
boolean hasEditPermissionByUserId(Long categoryId);
boolean updateRecordPermissionBatch(List<RecordPermissionDO> recordPermissionDOList);
// boolean updateRecordPermissionBatch(List<RecordPermissionDO> recordPermissionDOList);
Integer updatePermission(LambdaUpdateWrapper<RecordPermissionDO> queryWrapper);
Integer withdrawPermissionJob();
IPage<RecordJoinPermissionRespVO> selectRecordByPermission(RecordPermissionPageReqVO pageReqVO);
IPage<RecordJoinPermissionRespVO> selectPermissionByRecord(RecordRecordPageReqVO pageReqVO);
}

View File

@@ -3,7 +3,9 @@ package com.zt.plat.module.qms.resource.record.service.recordpermission;
import cn.hutool.core.collection.CollUtil;
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.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxl.job.core.context.XxlJobHelper;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.common.pojo.CommonResult;
@@ -16,6 +18,8 @@ import com.zt.plat.module.qms.resource.record.constant.RecordConstants;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionSaveReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordJoinPermissionRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO;
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO;
import com.zt.plat.module.qms.resource.record.dal.mapper.RecordPermissionMapper;
import com.zt.plat.module.system.api.dept.DeptApi;
@@ -192,10 +196,6 @@ public class RecordPermissionServiceImpl implements RecordPermissionService {
return false;
}
@Override
public boolean updateRecordPermissionBatch(List<RecordPermissionDO> recordPermissionDOList) {
return recordPermissionMapper.updateBatch(recordPermissionDOList);
}
// 判断当前用户是不是最高管理员
// @QmsPermission(deptIdColumn="")
@@ -328,6 +328,27 @@ public class RecordPermissionServiceImpl implements RecordPermissionService {
return 0;
}
@Override
public IPage<RecordJoinPermissionRespVO> selectRecordByPermission(RecordPermissionPageReqVO pageReqVO) {
Page<RecordPermissionPageReqVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
String targetType = pageReqVO.getTargetType();
Long targetId = pageReqVO.getTargetId();
if (RecordConstants.TargetType.USER.equals(targetType)) pageReqVO.setUserId(targetId);
else if (RecordConstants.TargetType.DEPT.equals(targetType)) {
List<Long> deptId = new ArrayList<>();
deptId.add(targetId);
pageReqVO.setUserDeptIds(deptId);
}
pageReqVO.setSourceType(RecordConstants.PermissionSourceType.RECORD);
return recordPermissionMapper.selectRecordByPermission(page, pageReqVO);
}
@Override
public IPage<RecordJoinPermissionRespVO> selectPermissionByRecord(RecordRecordPageReqVO pageReqVO) {
Page<RecordPermissionPageReqVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
return recordPermissionMapper.selectPermissionByRecord(page, pageReqVO);
}
//权限到期,定时回收权限
public Integer expireDateExpireJob() {
LambdaUpdateWrapper<RecordPermissionDO> updateWrapper = Wrappers.lambdaUpdate();

Some files were not shown because too many files have changed in this diff Show More