Commit 01afe459 authored by 李成龙's avatar 李成龙

提交对接视频模块

parent 659da7b2
......@@ -29,12 +29,12 @@ public class ElasticSearchClientConfig {
@Qualifier("highLevelClient")
public RestHighLevelClient restHighLevelClient() {
String auth = Base64.encodeBase64String(("elastic:es123456").getBytes());
try {
String url = uris.replace("http://", "");
final String[] parts = StringUtils.split(url, ":");
HttpHost httpHost = new HttpHost(parts[0], Integer.parseInt(parts[1]), "http");
RestClientBuilder builder = RestClient.builder(httpHost);
//增加安全配置,使用kibana,勿删
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic","es123456"));
builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
......@@ -46,17 +46,14 @@ public class ElasticSearchClientConfig {
.setSocketTimeout(6000 * 1000);// 套接字超时(默认为30秒)//更改客户端的超时限制默认30秒现在改为100*1000分钟
}
});// 调整最大重试超时时间(默认为30秒).setMaxRetryTimeoutMillis(60000);
builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
httpClientBuilder.disableAuthCaching();
return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
});
// builder.setDefaultHeaders(new BasicHeader[] {
// new BasicHeader("Authorization","Basic"+auth)
// });
//增加安全配置,使用kibana,勿删
// builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
// @Override
// public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
// httpClientBuilder.disableAuthCaching();
// return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
// }
// });
return new RestHighLevelClient(builder);
} catch (Exception e) {
throw new IllegalStateException("Invalid ES nodes " + "property '" + uris + "'", e);
......
......@@ -5,6 +5,8 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -13,9 +15,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.video.dao.impl.VideoOriginalServiceImpl;
import com.yeejoin.amos.video.dto.VideoOriginalDto;
import com.yeejoin.amos.video.entity.VideoOriginal;
import com.yeejoin.amos.video.service.impl.VideoOriginalServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -34,14 +35,20 @@ public class VideoOriginalController extends BaseController {
@Autowired
private VideoOriginalServiceImpl videoOriginalServiceImpl;
@GetMapping("/hk/init")
@PostMapping("/hk/init")
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth=false)
@ApiOperation(httpMethod = "GET", value = "构建海康原始视频数据", notes = "构建海康原始视频数据")
public ResponseModel<Boolean> hkInitData() {
return ResponseHelper.buildResponse(videoOriginalServiceImpl.initEs("", ""));
@ApiOperation(httpMethod = "POST", value = "构建海康原始视频数据", notes = "构建海康原始视频数据,db参数为true时,同时保存到数据库")
public ResponseModel<Boolean> hkInitEsData(Boolean db) {
return ResponseHelper.buildResponse(videoOriginalServiceImpl.initEs("", "",db));
}
// @PostMapping("/hk/db/init")
// @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth=false)
// @ApiOperation(httpMethod = "POST", value = "构建海康原始视频数据", notes = "构建海康原始视频数据")
// public ResponseModel<Boolean> hkInitDBData() {
// return ResponseHelper.buildResponse(videoOriginalServiceImpl.initDB("", ""));
// }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "按视频名称查询视频节点", notes = "按视频名称查询视频节点")
@ApiOperation(httpMethod = "GET", value = "按视频名称查询视频节点'", notes = "按视频名称查询视频节点,'all参数为查询所有")
@GetMapping(value = "/list/video/{cn}")
public ResponseModel<List<VideoOriginalDto>> videoBySimilar( @PathVariable String cn) throws Exception {
return ResponseHelper.buildResponse(videoOriginalServiceImpl.qeueryByKeys(cn));
......
......@@ -5,7 +5,7 @@ import java.util.List;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.yeejoin.amos.video.entity.VideoOriginal;
import com.yeejoin.amos.video.entity.EsVideoOriginal;
/**
* 模板表接口类
......@@ -14,8 +14,8 @@ import com.yeejoin.amos.video.entity.VideoOriginal;
* @date 2021-09-01
*/
@Repository
public interface IVideoOriginalRepository extends PagingAndSortingRepository<VideoOriginal, String> {
public interface IVideoOriginalRepository extends PagingAndSortingRepository<EsVideoOriginal, String> {
List<VideoOriginal> findByCnLike(String cn);
List<EsVideoOriginal> findByCnLike(String cn);
}
package com.yeejoin.amos.video.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 模板表
......@@ -27,5 +27,6 @@ public class VideoOriginalDto extends BaseDto {
@ApiModelProperty(value = "视频代码")
private String indexCode;
@ApiModelProperty(value = "视频厂商类型")
private String type;
}
package com.yeejoin.amos.video.entity;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 模板表
*
* @author system_generator
* @date 2021-09-01
*/
@Data
@Accessors(chain = true)
@Document(indexName = "video", type = "videoOriginal", shards = 1, replicas = 0)
public class EsVideoOriginal {
/** 主键 */
@Id
private String sequenceNbr;
/**
* 视频名称
*/
@Field(type = FieldType.Text)
private String cn;
/**
* 视频代码
*/
@Field(type = FieldType.Text)
private String indexCode;
/**
* 原始数据
*/
@Field(type = FieldType.Text, index = false)
private String originalData;
/**
* 视频厂商类型
*/
@Field(type = FieldType.Keyword, index = false)
private String type;
@Field(type = FieldType.Text, index = false)
private String recDate;
@Field(type = FieldType.Text, index = false)
private String recUserId;
@Field(type = FieldType.Text, index = false)
private String recUserName;
}
package com.yeejoin.amos.video.entity;
import java.util.Date;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
......@@ -17,35 +16,35 @@ import lombok.experimental.Accessors;
* @date 2021-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Document(indexName = "video", type = "videoOriginal", shards = 1, replicas = 0)
public class VideoOriginal {
/** 主键 */
@Id
private String sequenceNbr;
@TableName("cb_video_original")
@ApiModel(value="VideoOriginal对象", description="视频原始数据")
public class VideoOriginal extends BaseEntity{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 视频名称
*/
@Field(type = FieldType.Keyword)
@ApiModelProperty(value = "视频名称")
private String cn;
/**
* 视频代码
*/
@Field(type = FieldType.Text)
@ApiModelProperty(value = "视频名称")
private String indexCode;
/**
* 原始数据
*/
@Field(type = FieldType.Text, index = false)
@ApiModelProperty(value = "视频名称")
private String originalData;
@Field(type = FieldType.Text, index = false)
private String recDate;
@Field(type = FieldType.Text, index = false)
private String recUserId;
@Field(type = FieldType.Text, index = false)
private String recUserName;
/**
* 视频厂商类型
*/
@ApiModelProperty(value = "视频厂商类型")
private String type;
}
package com.yeejoin.amos.video.service;
public interface IVideoOriginalService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment