fix:优化时间查询参数

This commit is contained in:
2026-03-02 11:36:40 +08:00
parent 158d7f498a
commit 7fb11f9c43
5 changed files with 49 additions and 6 deletions

1
.gitignore vendored
View File

@@ -80,3 +80,4 @@
/outbridge/target/outbridge-0.0.1-SNAPSHOT.jar
/.cursor/rules/1.mdc
/.trae/rules/1.md
/outbridge/target/classes/common-dev-100.yml

View File

@@ -112,12 +112,23 @@ public Result<TaskVO> getTask(@PathVariable @Min(1) Long taskId) {
5.**controller层返回值指定具体类型禁止直接用JSONObject**
```angular2html
repomix --include "**/src/main/java/**/*.java,**/src/main/resources/**/*.yml,**/pom.xml" --style xml
sed -i 's/\r$//' /home/app/*/*.sh
```
# 五、Git分支规范
## 一、核心原因
1. **隔离风险**`main`分支保留稳定版本如190环境开发改动在独立分支进行避免影响线上/预发布环境;
2. **清晰可控**:不同类型分支对应不同开发场景,便于追溯、协作和问题回滚;
3. **高效协作**:多人开发时避免代码冲突,功能未完成前不污染集成分支。
## 二、分支命名规范
| 分支类型 | 命名格式 | 用途 |
|----------------|-------------------------|--------------------------|
| 稳定分支 | `main` | 生产/预发布环境稳定版本 |
| 开发集成分支 | `develop` | 日常开发功能集成 |
| 新功能分支 | `feature/功能名` | 开发新需求如feature/支付模块) |
| 开发bug修复 | `bugfix/问题描述` | 修复开发中bug如bugfix/登录失败) |
| 线上紧急修复 | `hotfix/问题描述` | 修复线上/预发布紧急问题如hotfix/190接口报错 |
### 总结
核心是用`main`保稳定、`develop`做集成短期分支feature/bugfix/hotfix做具体开发既保障环境稳定又让开发流程清晰可追溯。

View File

@@ -1,12 +1,15 @@
package com.sdm.data.model.req;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.sdm.common.entity.req.data.BaseReq;
import com.sdm.common.entity.req.system.DictTagReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.annotation.PostConstruct;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -80,6 +83,7 @@ public class FileSearchReq extends BaseReq {
private String fileSizeUnit;
@Schema(description = "文件创建搜索开始时间")
private LocalDateTime startTime;
@@ -126,5 +130,29 @@ public class FileSearchReq extends BaseReq {
@Schema(description = "上传人id")
private String uploadUserId;
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
private List<String> createTime;
// 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法
@JsonSetter("createTime")
public void setCreateTime(List<String> createTime) {
this.createTime = createTime;
parseCreateTimeToStartEndTime();
}
/**
* 解析 createTime 并赋值给 startTime 和 endTime
*/
private void parseCreateTimeToStartEndTime() {
if (createTime != null && createTime.size() == 2) {
try {
// 解析时间字符串为 LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
this.endTime = LocalDateTime.parse(createTime.get(1), formatter);
} catch (Exception e) {
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
}
}
}
}

View File

@@ -475,7 +475,9 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
if(ObjectUtils.isNotEmpty((queryBigFileReq.getDirId()))){
queryBigFileReq.getDirIds().add(queryBigFileReq.getDirId());
}
if (CollectionUtils.isNotEmpty(queryBigFileReq.getDirIds())) {
queryBigFileReq.setDirIdsCount(queryBigFileReq.getDirIds().size());
}
// 处理标签查询使用AOP自动填充的dictTagIdsCache
if (queryBigFileReq.getDictTags() != null && !queryBigFileReq.getDictTags().isEmpty()) {
List<Long> fileIds = extractFileIdsByTags(queryBigFileReq);

View File

@@ -2564,6 +2564,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
@Override
public SdmResponse getAllUserTaskCompleteStatistics(GetAllUserTaskCompleteStatisticsReq req) {
req.setTenantId(ThreadLocalContext.getTenantId());
Map<Long, String> userId2Nickname;
if (CollectionUtils.isEmpty(req.getUserIds())) {
UserListReq userListReq = new UserListReq();