feat: 增加开始时间结束时间查询条件

dev
huangfeng 4 months ago
parent ecd9cb6709
commit 8e5f225267

@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List; import java.util.List;
@RestController @RestController
@ -68,11 +69,13 @@ public class IedDlController extends BasicController {
@ApiOperation("查询下载记录列表") @ApiOperation("查询下载记录列表")
public Response<Page<IedDlRecord>> list(@ApiParam("配置Id") @RequestParam(value = "configId", required = false) Integer configId, public Response<Page<IedDlRecord>> list(@ApiParam("配置Id") @RequestParam(value = "configId", required = false) Integer configId,
@ApiParam("devId") @RequestParam(value = "devId", required = false) Integer devId, @ApiParam("devId") @RequestParam(value = "devId", required = false) Integer devId,
@ApiParam("开始时间") @RequestParam(value = "startTime", required = false) Date startTime,
@ApiParam("结束时间") @RequestParam(value = "endTime", required = false) Date endTime,
@ApiParam("页码") @RequestParam(value = "pageNum", required = false) Integer pageNum, @ApiParam("页码") @RequestParam(value = "pageNum", required = false) Integer pageNum,
@ApiParam("每页数量") @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception { @ApiParam("每页数量") @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
pageNum = this.initPageNum(pageNum); pageNum = this.initPageNum(pageNum);
pageSize = this.initPageSize(pageSize); pageSize = this.initPageSize(pageSize);
Page<IedDlRecord> result = recordService.list(configId, devId, pageNum, pageSize); Page<IedDlRecord> result = recordService.list(configId, devId, startTime, endTime, pageNum, pageSize);
return Response.success(result); return Response.success(result);
} }

@ -4,9 +4,11 @@ import com.xydl.cac.entity.IedDlRecord;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import java.util.Date;
public interface IedDlRecordService { public interface IedDlRecordService {
Page<IedDlRecord> list(Integer configId, Integer devId, int pageNum, int pageSize) throws Exception; Page<IedDlRecord> list(Integer configId, Integer devId, Date startTime, Date endTime, int pageNum, int pageSize) throws Exception;
void add(IedDlRecord item); void add(IedDlRecord item);

@ -12,17 +12,16 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@Service @Service
@Slf4j @Slf4j
@Transactional(rollbackFor = Exception.class)
public class IedDlRecordServiceImpl implements IedDlRecordService { public class IedDlRecordServiceImpl implements IedDlRecordService {
@Resource @Resource
@ -33,7 +32,7 @@ public class IedDlRecordServiceImpl implements IedDlRecordService {
SpectrogramHandler spectrogramHandler; SpectrogramHandler spectrogramHandler;
@Override @Override
public Page<IedDlRecord> list(Integer configId, Integer devId, int pageNum, int pageSize) throws Exception { public Page<IedDlRecord> list(Integer configId, Integer devId, Date startTime, Date endTime, int pageNum, int pageSize) throws Exception {
PageRequest request = PageRequest.of(pageNum - 1, pageSize); PageRequest request = PageRequest.of(pageNum - 1, pageSize);
Specification<IedDlRecord> specification = (root, query, builder) -> { Specification<IedDlRecord> specification = (root, query, builder) -> {
Predicate predicate = builder.conjunction(); Predicate predicate = builder.conjunction();
@ -46,6 +45,12 @@ public class IedDlRecordServiceImpl implements IedDlRecordService {
} else { } else {
query.orderBy(builder.desc(root.get("id"))); query.orderBy(builder.desc(root.get("id")));
} }
if (startTime != null) {
predicate.getExpressions().add(builder.greaterThan(root.get("createTime"), startTime));
}
if (endTime != null) {
predicate.getExpressions().add(builder.lessThanOrEqualTo(root.get("createTime"), endTime));
}
return predicate; return predicate;
}; };
Page<IedDlRecord> result = repository.findAll(specification, request); Page<IedDlRecord> result = repository.findAll(specification, request);

Loading…
Cancel
Save