pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
model
package org.jm.mongo.model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import java.math.BigDecimal;
@Data
@Document(collection = "trade_shenzhen")
public class TradeShenZhen {
@Field("_id")
@Schema(description = "交易所品种代码")
private String id;
@Field("t_id")
private String tId;
@Schema(description = "时间戳")
private Long date;
@Schema(description = "参考时间")
private String datetime;
@Schema(description = "量")
private Long vol;
@Schema(description = "价格")
private BigDecimal price;
@Field("region_id")
private String regionId;
@Field("variety_id")
private String varietyId;
}
api
@Operation(summary = "查询")
@GetMapping("/trade/list")
@ApiResult
public List<TradeVO> tradeList() {
Query query = new Query().limit(10).with(Sort.by(Sort.Direction.DESC, "date"));
List<TradeShenZhen> list = this.mongoTemplate.find(query, TradeShenZhen.class);
return list.parallelStream().map(i -> {
TradeVO tv = BeanTools.map(i, TradeVO.class);
Instant instant = Instant.ofEpochMilli(i.getDate() * 1000);
LocalDateTime date = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
tv.setDate(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
return tv;
}).collect(Collectors.toList());
}