解决部分问题。

This commit is contained in:
chenxudong 2025-06-24 09:22:52 +08:00
parent 8f47d8b32a
commit e20e9ee575
11 changed files with 60 additions and 20 deletions

View File

@ -44,7 +44,7 @@ public class RepoPrjController {
@UserOperation(value = "查询所有层级", modelName = UserOperationModuleEnum.REPO_PRJ_SETTING)
@RequestMapping("queryAll")
public ElectromagneticResult<?> queryAll() {
return edPrjService.queryAllPrjInfo(PrjQuerySource.REPO_PRJ.value);
return edPrjService.queryAllPrjInfo(PrjQuerySource.REPO_PRJ.value, null);
}
@UserOperation(value = "添加子集", modelName = UserOperationModuleEnum.REPO_PRJ_SETTING)

View File

@ -49,7 +49,7 @@ public class SysProjectController {
@UserOperation(value = "查询所有层级", modelName = UserOperationModuleEnum.SYS_PRJ_SETTING)
@RequestMapping("queryAll")
public ElectromagneticResult<?> queryAll() {
return edPrjService.queryAllPrjInfo(PrjQuerySource.SYS_PRJ.value);
return edPrjService.queryAllPrjInfo(PrjQuerySource.SYS_PRJ.value, null);
}
@UserOperation(value = "添加子集", modelName = UserOperationModuleEnum.SYS_PRJ_SETTING)

View File

@ -43,8 +43,8 @@ public class UserPrjController {
@UserOperation(value = "查询所有层级", modelName = UserOperationModuleEnum.USER_PRJ)
@RequestMapping("queryAll")
public ElectromagneticResult<?> queryAll() {
return edPrjService.queryAllPrjInfo(PrjQuerySource.USER_PRJ.value);
public ElectromagneticResult<?> queryAll(@RequestParam(required = false) String prjName) {
return edPrjService.queryAllPrjInfo(PrjQuerySource.USER_PRJ.value, prjName);
}
@UserOperation(value = "添加子集", modelName = UserOperationModuleEnum.USER_PRJ)

View File

@ -2,6 +2,8 @@ package com.electromagnetic.industry.software.manage.pojo.req;
import lombok.Data;
import java.util.Date;
@Data
public class AccessLogQueryDTO {
@ -14,4 +16,10 @@ public class AccessLogQueryDTO {
private String keyWord;
private String operationModuleKey;
private boolean createdTimeAsc;
private Date startCreatedTime;
private Date endCreatedTime;
}

View File

@ -23,4 +23,6 @@ public class RolePageDTO {
* 页数据量
*/
private Integer pageSize;
private String keyword;
}

View File

@ -25,7 +25,7 @@ public class AccessLogQueryVO {
// 操作时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private Date createdTime;
// 请求远端地址
private String remoteAddr;

View File

@ -46,7 +46,7 @@ public interface EdPrjService {
*
* @return
*/
ElectromagneticResult<?> queryAllPrjInfo(int dataOwnCode);
ElectromagneticResult<?> queryAllPrjInfo(int dataOwnCode, String prjName);
/**
* 子集拖拽重排序

View File

@ -308,7 +308,7 @@ public class CommonService {
* @param returnType
* @return
*/
public Map<Integer, List<String>> querySysPrjTree(int querySource, List<String> accessibleIds, Object returnType) {
public Map<Integer, List<String>> querySysPrjTree(int querySource, List<String> accessibleIds, Object returnType, String prjName) {
Map<Integer, List<String>> map = new HashMap<>();
try {
// 首先查出所有的工程id
@ -318,6 +318,10 @@ public class CommonService {
.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code)
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID);
if (StrUtil.isNotEmpty(prjName)) {
queryWrapper.eq(EdFileInfo::getFileName, prjName);
}
if (querySource == PrjQuerySource.SYS_DB.value) {
queryWrapper.and(qr -> qr.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.WAIT_DELETED.code)
.or()
@ -364,7 +368,7 @@ public class CommonService {
return map;
}
public Map<Integer, List<String>> queryUserPrjTree(int querySource, Object returnType) {
public Map<Integer, List<String>> queryUserPrjTree(int querySource, Object returnType, String prjName) {
Map<Integer, List<String>> map = new HashMap<>();
try {
@ -375,6 +379,11 @@ public class CommonService {
.eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_PRJ.code)
.eq(EdFileInfo::getCreatedBy, UserThreadLocal.getUserId())
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID);
if (StrUtil.isNotEmpty(prjName)) {
queryWrapper.like(EdFileInfo::getFileName, prjName);
}
List<String> prjIds = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).toList();
for (String id : prjIds) {
@ -406,7 +415,7 @@ public class CommonService {
return map;
}
public Map<Integer, List<String>> queryRepoPrjTree(int querySource, List<String> accessibleIds, Object returnType) {
public Map<Integer, List<String>> queryRepoPrjTree(int querySource, List<String> accessibleIds, Object returnType, String prjName) {
Map<Integer, List<String>> map = new HashMap<>();
try {
@ -420,6 +429,10 @@ public class CommonService {
queryWrapper.in(EdFileInfo::getId, accessibleIds);
}
if (StrUtil.isNotEmpty(prjName)) {
queryWrapper.like(EdFileInfo::getFileName, prjName);
}
List<String> prjIds = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).toList();
for (String id : prjIds) {
@ -533,11 +546,11 @@ public class CommonService {
DataOwnEnum obj = DataOwnEnum.getEnumByCode(dataOwnCode);
switch (Objects.requireNonNull(obj)) {
case USER_FILE, USER_PRJ ->
prjInfo = queryUserPrjTree(PrjQuerySource.USER_DB.value, new FileProjectVO()).getOrDefault(PrjQuerySource.USER_DB.value, new ArrayList<>());
prjInfo = queryUserPrjTree(PrjQuerySource.USER_DB.value, new FileProjectVO(), null).getOrDefault(PrjQuerySource.USER_DB.value, new ArrayList<>());
case SYS_FILE, SYS_PRJ ->
prjInfo = querySysPrjTree(PrjQuerySource.SYS_DB.value, accessibleIds, new FileProjectVO()).getOrDefault(PrjQuerySource.SYS_DB.value, new ArrayList<>());
prjInfo = querySysPrjTree(PrjQuerySource.SYS_DB.value, accessibleIds, new FileProjectVO(), null).getOrDefault(PrjQuerySource.SYS_DB.value, new ArrayList<>());
case REPO_PRJ, REPO_FILE ->
prjInfo = queryRepoPrjTree(PrjQuerySource.REPO_DB.value, accessibleIds, new FileProjectVO()).getOrDefault(PrjQuerySource.REPO_DB.value, new ArrayList<>());
prjInfo = queryRepoPrjTree(PrjQuerySource.REPO_DB.value, accessibleIds, new FileProjectVO(), null).getOrDefault(PrjQuerySource.REPO_DB.value, new ArrayList<>());
default -> throw new BizException("参数错误");
}

View File

@ -240,11 +240,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
}
Map<Integer, List<String>> map;
if (querySource == PrjQuerySource.SYS_DB.value) {
map = commonService.querySysPrjTree(querySource, accessibleIds, new FileProjectVO());
map = commonService.querySysPrjTree(querySource, accessibleIds, new FileProjectVO(), null);
} else if (querySource == PrjQuerySource.USER_DB.value) {
map = commonService.queryUserPrjTree(querySource, new FileProjectVO());
map = commonService.queryUserPrjTree(querySource, new FileProjectVO(), null);
} else {
map = commonService.queryRepoPrjTree(querySource, accessibleIds, new FileProjectVO());
map = commonService.queryRepoPrjTree(querySource, accessibleIds, new FileProjectVO(), null);
}
List<String> strings = map.getOrDefault(querySource, new ArrayList<>());
List<FileProjectVO> res = new ArrayList<>();

View File

@ -236,18 +236,18 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
* @return
*/
@Override
public ElectromagneticResult<?> queryAllPrjInfo(int querySource) {
public ElectromagneticResult<?> queryAllPrjInfo(int querySource, String prjName) {
/**
* querySource=SYS_PRJ管理员从层级定义处查询 querySource=USER_PRJ用户从自定义层级结构处查询 querySource=REPO_PRJ
*/
Map<Integer, List<String>> map;
if (querySource == PrjQuerySource.SYS_PRJ.value) {
map = commonService.querySysPrjTree(PrjQuerySource.SYS_PRJ.value, null, new ProjectVO());
map = commonService.querySysPrjTree(PrjQuerySource.SYS_PRJ.value, null, new ProjectVO(), prjName);
} else if (querySource == PrjQuerySource.USER_PRJ.value) {
map = commonService.queryUserPrjTree(PrjQuerySource.USER_PRJ.value, new ProjectVO());
map = commonService.queryUserPrjTree(PrjQuerySource.USER_PRJ.value, new ProjectVO(), prjName);
} else {
map = commonService.queryRepoPrjTree(PrjQuerySource.REPO_PRJ.value, null, new ProjectVO());
map = commonService.queryRepoPrjTree(PrjQuerySource.REPO_PRJ.value, null, new ProjectVO(), prjName);
}
List<String> res = map.getOrDefault(querySource, new ArrayList<>());
List<ProjectVO> projectVOS = new ArrayList<>();

View File

@ -2,6 +2,8 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -24,6 +26,7 @@ import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -43,7 +46,14 @@ public class UserAccessLogServiceImpl extends ServiceImpl<UserAccessLogMapper, U
@Override
public ElectromagneticResult<?> info(AccessLogQueryDTO pars, boolean adminQuery) {
LambdaQueryWrapper<UserAccessLog> queryWrapper = Wrappers.lambdaQuery(UserAccessLog.class).orderByDesc(UserAccessLog::getCreatedTime);
LambdaQueryWrapper<UserAccessLog> queryWrapper = Wrappers.lambdaQuery(UserAccessLog.class);
if (pars.isCreatedTimeAsc()) {
queryWrapper.orderByAsc(UserAccessLog::getCreatedTime);
} else {
queryWrapper.orderByDesc(UserAccessLog::getCreatedTime);
}
if (!adminQuery) {
queryWrapper.eq(UserAccessLog::getDataId, pars.getDataId());
} else {
@ -54,6 +64,13 @@ public class UserAccessLogServiceImpl extends ServiceImpl<UserAccessLogMapper, U
queryWrapper.eq(UserAccessLog::getOperationModule, pars.getOperationModuleKey());
}
if (ObjUtil.isAllNotEmpty(pars.getStartCreatedTime(), pars.getEndCreatedTime())) {
queryWrapper.between(UserAccessLog::getCreatedTime, pars.getStartCreatedTime(), pars.getEndCreatedTime());
} else {
Date createdTime = DateUtil.lastMonth();
queryWrapper.gt(UserAccessLog::getCreatedTime, createdTime);
}
if (StrUtil.isNotEmpty(pars.getKeyWord())) {
queryWrapper.and(qr -> qr.like(UserAccessLog::getAction, pars.getKeyWord())
// .or()