提交 dbf4647d 作者: Administrator

fix : 修复播报设备排序, 导出坐标点 视频导出坐标点

上级 5a532586
......@@ -7,7 +7,6 @@ import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
import org.locationtech.jts.geom.Point;
/**
* @author tzl
......@@ -32,10 +31,13 @@ public class BroadcastExportExcel implements Serializable {
@ExcelColumn(title = "设备名称", width = 10)
String broadcastName;
@ExcelColumn(title = "坐标点信息(经度,纬度)", width = 10)
Point point;
@ExcelColumn(title = "经度")
double lon;
@ExcelColumn(title = "音柱地址", width = 10)
@ExcelColumn(title = "纬度")
double lat;
@ExcelColumn(title = "设备地址", width = 10)
String broadcastAdd;
@ExcelColumn(title = "备注", width = 15)
......
......@@ -35,7 +35,7 @@ public class BroadcastImportExcel implements Serializable {
@ExcelColumn(title = "纬度")
double lat;
@ExcelColumn(title = "音柱地址")
@ExcelColumn(title = "设备地址")
String broadcastAdd;
@ExcelColumn(title = "备注")
......
......@@ -7,7 +7,6 @@ import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
import org.locationtech.jts.geom.Point;
/**
* @author tzl
......@@ -30,8 +29,11 @@ public class VideoExportExcel implements Serializable {
@ExcelColumn(title = "摄像头名称", width = 10)
String videoName;
@ExcelColumn(title = "坐标点信息(经度,纬度)", width = 10)
Point point;
@ExcelColumn(title = "经度")
double lon;
@ExcelColumn(title = "纬度")
double lat;
@ExcelColumn(title = "m3u8 地址", width = 10)
String m3u8;
......
......@@ -45,8 +45,8 @@ public class BroadcastParam implements Serializable {
@Size(max = 100, message = "备注不能超过100字")
String remark;
@ApiModelProperty(value = "音柱地址", example = "音柱地址", required = true)
@NotEmpty(message = "音柱地址不能为空")
@ApiModelProperty(value = "播报设备地址", example = "音柱地址", required = true)
@NotEmpty(message = "播报设备地址不能为空")
String broadcastAdd;
@ApiModelProperty(value = "播报设备地址名称", example = "喇叭1", required = true)
......
......@@ -4,6 +4,7 @@ package com.yiring.app.service.broadcast;
import com.yiring.app.param.broadcast.BroadcastParam;
import com.yiring.app.param.broadcast.BroadcastQueryParam;
import com.yiring.app.vo.broadcast.BroadcastVo;
import com.yiring.app.vo.broadcast.BroadcastjcVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
......@@ -83,5 +84,5 @@ public interface BroadcastService {
* @param indexParam 入参
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<com.yiring.app.vo.broadcast.BroadcastVo>>
*/
Result<PageVo<BroadcastVo>> selectBroadcastName(IndexParam indexParam);
Result<PageVo<BroadcastjcVo>> selectBroadcastName(IndexParam indexParam);
}
......@@ -13,6 +13,7 @@ import com.yiring.app.param.broadcast.BroadcastQueryParam;
import com.yiring.app.service.broadcast.BroadcastService;
import com.yiring.app.util.GeoUtils;
import com.yiring.app.vo.broadcast.BroadcastVo;
import com.yiring.app.vo.broadcast.BroadcastjcVo;
import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
import com.yiring.common.param.IdParam;
......@@ -28,6 +29,7 @@ import java.util.*;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
......@@ -205,21 +207,21 @@ public class BroadcastServiceImpl implements BroadcastService {
}
@Override
public Result<PageVo<BroadcastVo>> selectBroadcastName(IndexParam indexParam) {
public Result<PageVo<BroadcastjcVo>> selectBroadcastName(IndexParam indexParam) {
Sort sort = Sort.by(Sort.Order.desc(Broadcast.Fields.updateTime));
List<Broadcast> all = broadcastRepository.findAll(
condition(BroadcastQueryParam.builder().broadcastName(indexParam.getStr()).build()),
sort
);
List<BroadcastVo> data = all
List<BroadcastjcVo> data = all
.stream()
.map(invitation -> {
BroadcastVo vo = new BroadcastVo();
BeanUtils.copyProperties(invitation, vo);
.map(broadcast -> {
BroadcastjcVo vo = new BroadcastjcVo();
BeanUtils.copyProperties(broadcast, vo);
return vo;
})
.collect(Collectors.toList());
PageVo<BroadcastVo> resultVo = PageVo.build(data, data.size());
PageVo<BroadcastjcVo> resultVo = PageVo.build(data, data.size());
return Result.ok(resultVo);
}
......@@ -232,6 +234,8 @@ public class BroadcastServiceImpl implements BroadcastService {
.map(broadcast -> {
BroadcastExportExcel broadcastExportExcel = new BroadcastExportExcel();
BeanUtils.copyProperties(broadcast, broadcastExportExcel);
broadcastExportExcel.setLon(broadcast.getPoint().getX());
broadcastExportExcel.setLat(broadcast.getPoint().getY());
return broadcastExportExcel;
})
.toList();
......@@ -295,9 +299,10 @@ public class BroadcastServiceImpl implements BroadcastService {
)
);
}
Order order = criteriaBuilder.desc(root.get(Broadcast.Fields.updateTime));
Predicate[] predicates = new Predicate[list.size()];
query.where(list.toArray(predicates));
query.orderBy(order);
return criteriaBuilder.and(list.toArray(predicates));
};
}
......
......@@ -258,6 +258,8 @@ public class VideoServiceImpl implements VideoService {
.map(video -> {
VideoExportExcel videoExportExcel = new VideoExportExcel();
BeanUtils.copyProperties(video, videoExportExcel);
videoExportExcel.setLon(video.getPoint().getX());
videoExportExcel.setLat(video.getPoint().getY());
return videoExportExcel;
})
.collect(Collectors.toList());
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.broadcast;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
......@@ -26,6 +28,10 @@ public class BroadcastVo implements Serializable {
@Serial
private static final long serialVersionUID = 2927556677143859520L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1")
Long id;
@ApiModelProperty(value = "编号", example = "1")
String broadcastNum;
......@@ -38,6 +44,6 @@ public class BroadcastVo implements Serializable {
@ApiModelProperty(value = "音柱地址", example = "音柱地址")
String broadcastAdd;
@ApiModelProperty(value = "播报设备地址名称", example = "喇叭1")
@ApiModelProperty(value = "播报设备名称", example = "喇叭1")
String broadcastName;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.broadcast;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/6 11:33
*/
@ApiModel("BroadcastjcVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class BroadcastjcVo implements Serializable {
@Serial
private static final long serialVersionUID = 5301756979737544186L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1")
Long id;
@ApiModelProperty(value = "播报设备名称", example = "喇叭1")
String broadcastName;
}
......@@ -5,6 +5,7 @@ import com.yiring.app.param.broadcast.BroadcastParam;
import com.yiring.app.param.broadcast.BroadcastQueryParam;
import com.yiring.app.service.broadcast.BroadcastService;
import com.yiring.app.vo.broadcast.BroadcastVo;
import com.yiring.app.vo.broadcast.BroadcastjcVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
......@@ -87,7 +88,7 @@ public class BroadcastController {
@ApiOperation(value = "根据名字检索")
@GetMapping("selectBroadcastName")
public Result<PageVo<BroadcastVo>> selectBroadcastName(@Valid IndexParam indexParam) {
public Result<PageVo<BroadcastjcVo>> selectBroadcastName(@Valid IndexParam indexParam) {
return broadcastService.selectBroadcastName(indexParam);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论