fix:优化时间查询参数
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -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
|
||||
|
||||
21
README.md
21
README.md
@@ -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)做具体开发,既保障环境稳定,又让开发流程清晰可追溯。
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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' 格式");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user