Commit 4bfbc703 by 梁家彪

完善.

parent db0f929d
...@@ -27,7 +27,7 @@ redis.password: ...@@ -27,7 +27,7 @@ redis.password:
jdbc.driver-class-name: com.mysql.cj.jdbc.Driver jdbc.driver-class-name: com.mysql.cj.jdbc.Driver
jdbc.username: root jdbc.username: root
jdbc.password: Dk2019!23456 jdbc.password: Dk2019!23456
jdbc.url: jdbc:mysql://119.45.183.210:13308/nnjcy_data_model?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true jdbc.url: jdbc:mysql://119.45.183.210:13308/visual_modeling_platform?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
spring: spring:
servlet: servlet:
......
...@@ -19,7 +19,7 @@ data.name: DATAOPERATION-SERVER ...@@ -19,7 +19,7 @@ data.name: DATAOPERATION-SERVER
datacollect.port: 9697 datacollect.port: 9697
datacollect.name: DATA-COLLECT-SERVER datacollect.name: DATA-COLLECT-SERVER
redis.url: 127.0.0.1 redis.url: 143.155.2.251
redis.port: 6379 redis.port: 6379
redis.password: redis.password:
...@@ -27,12 +27,11 @@ redis.password: ...@@ -27,12 +27,11 @@ redis.password:
jdbc.driver-class-name: com.mysql.cj.jdbc.Driver jdbc.driver-class-name: com.mysql.cj.jdbc.Driver
jdbc.username: root jdbc.username: root
jdbc.password: Dk2019!23456 jdbc.password: Dk2019!23456
jdbc.url: jdbc:mysql://119.45.183.210:13308/nnjcy_data_model?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true jdbc.url: jdbc:mysql://143.155.2.251:3306/visual_modeling_platform?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
#jdbc.username: root #jdbc.username: root
#jdbc.password: root #jdbc.password: root
#jdbc.url: jdbc:mysql://127.0.0.1:3306/nnjcy_data_model?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true #jdbc.url: jdbc:mysql://127.0.0.1:3306/nnjcy_data_model?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
spring: spring:
servlet: servlet:
multipart: multipart:
...@@ -40,3 +39,34 @@ spring: ...@@ -40,3 +39,34 @@ spring:
max-file-size: 1024MB max-file-size: 1024MB
# 设置 整个请求的大小 # 设置 整个请求的大小
max-request-size: 2048MB max-request-size: 2048MB
#jwt
jwt:
header: Authorization
# 令牌前缀
token-start-with: Bearer
# 必须使用最少88位的Base64对该令牌进行编码
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
# 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
token-validity-in-seconds: 7200000
# 在线用户key
online-key: online-token-
# 验证码
code-key: code-key-
# token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
detect: 1800000
# 续期时间范围,默认 1小时,这里单位毫秒
renew: 3600000
#线程池配置
task:
pool:
# 是否启用线程池, 子模块需要使用异步线程池的时候单独在配置里加
enable: true
# 核心线程池大小
core-pool-size: 5
# 最大线程数
max-pool-size: 15
# 队列容量
queue-capacity: 20
# 活跃时间
\ No newline at end of file
...@@ -27,7 +27,7 @@ redis.password: zqkj@2023 ...@@ -27,7 +27,7 @@ redis.password: zqkj@2023
jdbc.driver-class-name: com.mysql.cj.jdbc.Driver jdbc.driver-class-name: com.mysql.cj.jdbc.Driver
jdbc.username: root jdbc.username: root
jdbc.password: Dk2019!23456 jdbc.password: Dk2019!23456
jdbc.url: jdbc:mysql://119.45.183.210:13308/nnjcy_data_model?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true jdbc.url: jdbc:mysql://119.45.183.210:13308/visual_modeling_platform?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
spring: spring:
servlet: servlet:
......
...@@ -93,9 +93,9 @@ ...@@ -93,9 +93,9 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration> <!-- <configuration>-->
<skip>true</skip> <!-- <skip>true</skip>-->
</configuration> <!-- </configuration>-->
</plugin> </plugin>
</plugins> </plugins>
......
package com.zq.datacollect;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger {
@Value("${spring.cloud.config.profile:prod}")
private String profile;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("数据汇聚1")
.enable(!"prod".equals(profile)) //生产环境关闭
.select()
.apis(RequestHandlerSelectors.basePackage("com.zq.datacollect.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("后台接口文档")
.description("查看接口文档")
.build();
}
}
\ No newline at end of file
...@@ -5,6 +5,7 @@ import com.zq.datacollect.service.BigScreenService; ...@@ -5,6 +5,7 @@ import com.zq.datacollect.service.BigScreenService;
import com.zq.datacollect.service.DataCollecSiteService; import com.zq.datacollect.service.DataCollecSiteService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -62,4 +63,27 @@ public class BigScreenController { ...@@ -62,4 +63,27 @@ public class BigScreenController {
return ResultVo.success(bigScreenService.getModelDetails(modelName)); return ResultVo.success(bigScreenService.getModelDetails(modelName));
} }
@ApiOperation("数据资源情况详情")
@GetMapping(value = "/details/sjzyqk")
public ResultVo getSjzyqkDetails(@ApiParam("1共享数据 2内部数据 3公共数据") @RequestParam("dataType") Integer dataType) {
return ResultVo.success(bigScreenService.getSjzyqkDetails(dataType));
}
@ApiOperation("数据来源统计详情")
@GetMapping(value = "/details/sjlytj")
public ResultVo getSjlytjDetails(@ApiParam("列表返回的dataId") @RequestParam("dataId") Integer dataId) {
return ResultVo.success(bigScreenService.getSjlytjDetails(dataId));
}
@ApiOperation("办案成效详情")
@GetMapping(value = "/details/bacx")
public ResultVo getBacxDetails(@ApiParam("1线索 2移送 3成案 4起诉") @RequestParam("type") Integer type) {
return ResultVo.success(bigScreenService.getBacxDetails(type));
}
@ApiOperation("平台成果详情")
@GetMapping(value = "/details/ptcg")
public ResultVo getPtcgDetails(@ApiParam("1建设应用模型 2全国模型竞赛获奖 3推动建章立制") @RequestParam("type") Integer type) {
return ResultVo.success(bigScreenService.getPtcgDetails(type));
}
} }
\ No newline at end of file
package com.zq.datacollect.controller;
import com.zq.common.vo.ResultVo;
import com.zq.datacollect.entity.QueryDb;
import com.zq.datacollect.service.DataSourceService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping(value = "/data/collect/datasource")
public class DataSourceController {
@Resource
private DataSourceService dataSourceService;
@ApiOperation("新增数据库连接")
@PostMapping
public ResultVo add(@RequestBody QueryDb queryDb){
dataSourceService.add(queryDb);
return ResultVo.success();
}
@ApiOperation("更新数据库连接")
@PutMapping
public ResultVo update(@RequestBody QueryDb queryDb){
dataSourceService.update(queryDb);
return ResultVo.success();
}
@ApiOperation("删除数据库连接")
@DeleteMapping("/{id}")
public ResultVo delete(@PathVariable("id") Integer id){
dataSourceService.delete(id);
return ResultVo.success();
}
}
\ No newline at end of file
package com.zq.datacollect.holder; package com.zq.datacollect.holder;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import com.zq.common.exception.BusinessException;
import com.zq.datacollect.entity.QueryDb;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class DatabaseHolder { public class DatabaseHolder {
private static Map<Integer, JdbcTemplate> jdbcTemplateMap; private static Map<Integer, JdbcTemplate> jdbcTemplateMap = new HashMap<>();
public static void set(Map<Integer, JdbcTemplate> map) { public static void add(QueryDb queryDb){
jdbcTemplateMap = map; add(queryDb.getDbType(), queryDb.getDbIp(), queryDb.getDbPort(), queryDb.getDbName(), queryDb.getUsername(), queryDb.getPassword(), queryDb.getId());
} }
public static void add(Integer id, JdbcTemplate jdbcTemplate){ public static void add(Integer dbType, String dbIp, Integer dbPort, String dbName, String username, String password, Integer id) {
jdbcTemplateMap.put(id, jdbcTemplate); DruidDataSource druidDataSource = new DruidDataSource();
String url = "";
String className = "";
switch (dbType) {
case 1:
className = "com.mysql.cj.jdbc.Driver";
url = "jdbc:mysql://" + dbIp + ":" + dbPort + "/" + dbName + "?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&autoReconnect=true";
break;
case 2:
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@//" + dbIp + ":" + dbPort + "/" + dbName;
break;
case 3:
className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
url = "jdbc:sqlserver://" + dbIp + ":" + dbPort + "/" + dbName;
break;
default:
throw new BusinessException("不支持的数据库");
}
druidDataSource.setDriverClassName(className);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
jdbcTemplateMap.put(id, new JdbcTemplate(druidDataSource));
} }
public static JdbcTemplate getJdbcTemplate(Integer id){ public static JdbcTemplate getJdbcTemplate(Integer id){
return jdbcTemplateMap.get(id); return jdbcTemplateMap.get(id);
} }
public static Connection getConnection(Integer id){ public static void remove(Integer id){
try { ((DruidDataSource)jdbcTemplateMap.get(id).getDataSource()).close();
return ((DruidDataSource) jdbcTemplateMap.get(id).getDataSource()).getConnection().getConnection(); jdbcTemplateMap.remove(id);
} catch (SQLException e) {
throw new RuntimeException(e);
}
} }
} }
\ No newline at end of file
...@@ -26,39 +26,12 @@ public class DatabaseRunner implements ApplicationRunner { ...@@ -26,39 +26,12 @@ public class DatabaseRunner implements ApplicationRunner {
@Resource @Resource
private QueryDbMapper queryDbMapper; private QueryDbMapper queryDbMapper;
private Map<Integer, JdbcTemplate> jdbcTemplateMap = new HashMap<>();
@Override @Override
public void run(ApplicationArguments args) throws SQLException { public void run(ApplicationArguments args) {
List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>()); List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>());
for (QueryDb ds : datasource) { for (QueryDb ds : datasource) {
DruidDataSource druidDataSource = DruidDataSourceBuilder.create().build(); DatabaseHolder.add(ds);
String url = "";
String className = "";
switch (ds.getDbType()) {
case 1:
className = "com.mysql.cj.jdbc.Driver";
url = "jdbc:mysql://" + ds.getDbIp() + ":" + ds.getDbPort() + "/" + ds.getDbName() + "?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&autoReconnect=true";
break;
case 2:
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@//" + ds.getDbIp() + ":" + ds.getDbPort() + "/" + ds.getDbName();
break;
case 3:
className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
url = "jdbc:sqlserver://" + ds.getDbIp() + ":" + ds.getDbPort() + "/" + ds.getDbName();
break;
default:
throw new BusinessException("不支持的数据库");
}
druidDataSource.setDriverClassName(className);
druidDataSource.setUrl(url);
druidDataSource.setUsername(ds.getUsername());
druidDataSource.setPassword(ds.getPassword());
druidDataSource.init();
jdbcTemplateMap.put(ds.getId(), new JdbcTemplate(druidDataSource));
} }
DatabaseHolder.set(jdbcTemplateMap); log.info("成功加载数据库:{}个", datasource.size());
log.info("成功加载数据库:{}个", jdbcTemplateMap.size());
} }
} }
\ No newline at end of file
...@@ -30,7 +30,6 @@ public class BigScreenService { ...@@ -30,7 +30,6 @@ public class BigScreenService {
private QueryDbMapper queryDbMapper; private QueryDbMapper queryDbMapper;
public Object getModelTypeCount() { public Object getModelTypeCount() {
List<DataCollectSetting> collectList = getCollectList(); List<DataCollectSetting> collectList = getCollectList();
Integer toDbId = null; Integer toDbId = null;
...@@ -57,7 +56,7 @@ public class BigScreenService { ...@@ -57,7 +56,7 @@ public class BigScreenService {
String id = city.get("id").toString(); String id = city.get("id").toString();
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
List<Map<String, Object>> mapLists = jdbcTemplate.queryForList("SELECT mx.`部门` as dept,mx.`模型名称` as modelName,mx.业务条线 as caseType, mx.`建设进度状态` as jsjd FROM qsdsjfljdmxsjmx mx WHERE mx.`部门` like CONCAT('%','" + diqu + "','%')"); List<Map<String, Object>> mapLists = jdbcTemplate.queryForList("SELECT mx.`部门` as dept,mx.`模型名称` as modelName,mx.业务条线 as caseType, mx.`建设进度状态` as jsjd FROM qsdsjfljdmxsjmx mx WHERE mx.`部门` like CONCAT('%','" + diqu + "','%')");
dataMap.put("id",id); dataMap.put("id", id);
dataMap.put("numCount", mapLists.size()); dataMap.put("numCount", mapLists.size());
dataMap.put("cityName", mapLists); dataMap.put("cityName", mapLists);
objects.add(dataMap); objects.add(dataMap);
...@@ -66,10 +65,9 @@ public class BigScreenService { ...@@ -66,10 +65,9 @@ public class BigScreenService {
return objects; return objects;
} }
public List<DataCollectSetting> getCollectList() { public List<DataCollectSetting> getCollectList() {
List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>()); List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>());
List<DataCollectSetting> collectSettings =null; List<DataCollectSetting> collectSettings = null;
for (QueryDb ds : datasource) { for (QueryDb ds : datasource) {
if (ds.getDbName().contains("data_collect")) { if (ds.getDbName().contains("data_collect")) {
collectSettings = dataCollectMapper.selectList(new LambdaQueryWrapper<DataCollectSetting>().eq(DataCollectSetting::getToDbId, ds.getId())); collectSettings = dataCollectMapper.selectList(new LambdaQueryWrapper<DataCollectSetting>().eq(DataCollectSetting::getToDbId, ds.getId()));
...@@ -90,6 +88,7 @@ public class BigScreenService { ...@@ -90,6 +88,7 @@ public class BigScreenService {
for (Map<String, Object> map : mapList) { for (Map<String, Object> map : mapList) {
dataCount = map.get("dataCount").toString(); dataCount = map.get("dataCount").toString();
} }
dataMap.put("dataId", list.getId());
dataMap.put("dataType", list.getDataType()); dataMap.put("dataType", list.getDataType());
dataMap.put("TaskName", list.getTaskName()); dataMap.put("TaskName", list.getTaskName());
dataMap.put("dataCount", dataCount); dataMap.put("dataCount", dataCount);
...@@ -108,17 +107,17 @@ public class BigScreenService { ...@@ -108,17 +107,17 @@ public class BigScreenService {
} }
List<String> ywuList = getYwuList(); List<String> ywuList = getYwuList();
List<Object> dataList = new ArrayList<>(); List<Object> dataList = new ArrayList<>();
for (String data:ywuList) { for (String data : ywuList) {
JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(toDbId); JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(toDbId);
List<Map<String, Object>> mapList = jdbcTemplate.queryForList("SELECT mx.业务条线 as caseType,COUNT(1) as numsCount FROM qsdsjfljdmxsjmx mx WHERE mx.业务条线 like CONCAT('%','" + data + "','%') GROUP BY caseType"); List<Map<String, Object>> mapList = jdbcTemplate.queryForList("SELECT mx.业务条线 as caseType,COUNT(1) as numsCount FROM qsdsjfljdmxsjmx mx WHERE mx.业务条线 like CONCAT('%','" + data + "','%') GROUP BY caseType");
HashMap<String, Object> dataMap = new HashMap<>(); HashMap<String, Object> dataMap = new HashMap<>();
BigDecimal addNums =BigDecimal.ZERO; BigDecimal addNums = BigDecimal.ZERO;
for (Map<String, Object> map:mapList) { for (Map<String, Object> map : mapList) {
BigDecimal numsCount = new BigDecimal(map.get("numsCount").toString()); BigDecimal numsCount = new BigDecimal(map.get("numsCount").toString());
addNums=addNums.add(numsCount); addNums = addNums.add(numsCount);
} }
dataMap.put("caseType",data); dataMap.put("caseType", data);
dataMap.put("numsCount",addNums); dataMap.put("numsCount", addNums);
dataList.add(dataMap); dataList.add(dataMap);
} }
return dataList; return dataList;
...@@ -150,7 +149,7 @@ public class BigScreenService { ...@@ -150,7 +149,7 @@ public class BigScreenService {
return objects; return objects;
} }
public List<String> getYwuList(){ public List<String> getYwuList() {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list.add("公益诉讼检察"); list.add("公益诉讼检察");
list.add("未成年人检察"); list.add("未成年人检察");
...@@ -159,11 +158,9 @@ public class BigScreenService { ...@@ -159,11 +158,9 @@ public class BigScreenService {
list.add("行政检察"); list.add("行政检察");
list.add("行政执行"); list.add("行政执行");
list.add("控告申诉检察"); list.add("控告申诉检察");
return list; return list;
} }
public Object getModelDetails(String modelName) { public Object getModelDetails(String modelName) {
List<DataCollectSetting> collectList = getCollectList(); List<DataCollectSetting> collectList = getCollectList();
Integer toDbId = null; Integer toDbId = null;
...@@ -171,7 +168,60 @@ public class BigScreenService { ...@@ -171,7 +168,60 @@ public class BigScreenService {
toDbId = list.getToDbId(); toDbId = list.getToDbId();
} }
JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(toDbId); JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(toDbId);
List<Map<String, Object>> mapList = jdbcTemplate.queryForList("SELECT `部门` AS dept,`业务条线` AS caseType,`模型名称` AS modelName,`建设进度状态` AS jsjd,`备注` AS detail,`是否有成效` AS effect,`筛查出线索数` AS screenNums,`符合监督线索数` AS clueNums,`监督数成效` AS jdcx FROM qsdsjfljdmxsjmx t WHERE t.`模型名称` like CONCAT('%','"+modelName+"','%')"); List<Map<String, Object>> mapList = jdbcTemplate.queryForList("SELECT `部门` AS dept,`业务条线` AS caseType,`模型名称` AS modelName,`建设进度状态` AS jsjd,`备注` AS detail,`是否有成效` AS effect,`筛查出线索数` AS screenNums,`符合监督线索数` AS clueNums,`监督数成效` AS jdcx FROM qsdsjfljdmxsjmx t WHERE t.`模型名称` like CONCAT('%','" + modelName + "','%')");
return mapList; return mapList;
} }
public List<Map<String, String>> getSjzyqkDetails(Integer dataType) {
List<Map<String, String>> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
Map<String, String> map = new HashMap<>();
map.put("dataName", "数据表" + (i + 1));
map.put("dataSize", "100");
list.add(map);
}
return list;
}
public List<Map<String, Object>> getSjlytjDetails(Integer dataId) {
DataCollectSetting dataCollectSetting = dataCollectMapper.selectById(dataId);
JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(dataCollectSetting.getToDbId());
return jdbcTemplate.queryForList("SELECT * FROM " + dataCollectSetting.getToTable());
}
public List<Map<String, Object>> getBacxDetails(Integer type) {
List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>());
Integer dbId = null;
for (QueryDb ds : datasource) {
if (ds.getDbName().contains("data_collect")) {
dbId = ds.getId();
}
}
JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(dbId);
return jdbcTemplate.queryForList("SELECT * FROM qsdsjfljdmxsjmx WHERE 符合监督线索数 >= 1");
}
public List<Map<String, Object>> getPtcgDetails(Integer type) {
List<QueryDb> datasource = queryDbMapper.selectList(new QueryWrapper<>());
Integer dbId = null;
for (QueryDb ds : datasource) {
if (ds.getDbName().contains("data_collect")) {
dbId = ds.getId();
}
}
JdbcTemplate jdbcTemplate = DatabaseHolder.getJdbcTemplate(dbId);
List<Map<String, Object>> list = null;
switch (type) {
case 1:
list = jdbcTemplate.queryForList("SELECT * FROM qsdsjfljdmxsjmx");
break;
case 2:
list = jdbcTemplate.queryForList("SELECT * FROM qsdsjfljdmxsjmx WHERE 符合监督线索数 >= 1");
break;
case 3:
list = jdbcTemplate.queryForList("SELECT * FROM qsdsjfljdmxsjmx WHERE 推动建立机制 >= 1");
break;
}
return list;
}
} }
\ No newline at end of file
package com.zq.datacollect.service;
import com.zq.datacollect.entity.QueryDb;
public interface DataSourceService {
void add(QueryDb queryDb);
void update(QueryDb queryDb);
void delete(Integer id);
}
\ No newline at end of file
package com.zq.datacollect.service.impl;
import com.zq.datacollect.entity.QueryDb;
import com.zq.datacollect.holder.DatabaseHolder;
import com.zq.datacollect.service.DataSourceService;
import org.springframework.stereotype.Service;
@Service
public class DataSourceServiceImpl implements DataSourceService {
@Override
public void add(QueryDb queryDb) {
DatabaseHolder.add(queryDb);
}
@Override
public void update(QueryDb queryDb) {
DatabaseHolder.remove(queryDb.getId());
DatabaseHolder.add(queryDb);
}
@Override
public void delete(Integer id) {
DatabaseHolder.remove(id);
}
}
\ No newline at end of file
...@@ -21,31 +21,42 @@ ...@@ -21,31 +21,42 @@
<artifactId>common-client</artifactId> <artifactId>common-client</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency> </dependency>
<!--Spring boot 安全框架-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- 连接配置中心 --> <!-- 连接配置中心 -->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId> <artifactId>spring-cloud-starter-config</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--Spring boot Web容器--> <!--Spring boot Web容器-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!--Spring boot 安全框架-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--Spring boot 测试--> <!--Spring boot 测试-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!--Spring devtools 热部署--> <!--Spring devtools 热部署-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -53,29 +64,34 @@ ...@@ -53,29 +64,34 @@
<scope>runtime</scope> <scope>runtime</scope>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<!--Spring boot Redis--> <!--Spring boot Redis-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>
<!--Mybatis plus--> <!--Mybatis plus-->
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version> <version>${mybatis.plus.version}</version>
</dependency> </dependency>
<!-- druid数据源驱动 --> <!-- druid数据源驱动 -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version> <version>${druid.version}</version>
</dependency> </dependency>
<!-- excel工具 --> <!-- excel工具 -->
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId> <artifactId>poi</artifactId>
<version>4.1.1</version> <version>4.1.1</version>
</dependency> </dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.oracle</groupId>--> <!-- <groupId>com.oracle</groupId>-->
<!-- <artifactId>ojdbc6</artifactId>--> <!-- <artifactId>ojdbc6</artifactId>-->
...@@ -83,22 +99,26 @@ ...@@ -83,22 +99,26 @@
<!-- </dependency>--> <!-- </dependency>-->
<!-- https://mvnrepository.com/artifact/com.oracle.database.nls/orai18n --> <!-- https://mvnrepository.com/artifact/com.oracle.database.nls/orai18n -->
<!-- swagger start--> <!-- swagger start-->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId> <artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version> <version>2.8.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version> <version>2.8.0</version>
</dependency> </dependency>
<!-- 解决FluentIterable.class找不到问题 --> <!-- 解决FluentIterable.class找不到问题 -->
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>26.0-jre</version> <version>26.0-jre</version>
</dependency> </dependency>
<!-- java8 不需要添加,高版本需要添加 --> <!-- java8 不需要添加,高版本需要添加 -->
<dependency> <dependency>
<groupId>javax.xml.bind</groupId> <groupId>javax.xml.bind</groupId>
...@@ -118,6 +138,7 @@ ...@@ -118,6 +138,7 @@
<version>1.0.0</version> <version>1.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.zq</groupId> <groupId>com.zq</groupId>
<artifactId>data-collect-server</artifactId> <artifactId>data-collect-server</artifactId>
...@@ -131,6 +152,9 @@ ...@@ -131,6 +152,9 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<!-- <configuration>-->
<!-- <skip>true</skip>-->
<!-- </configuration>-->
</plugin> </plugin>
</plugins> </plugins>
...@@ -143,5 +167,4 @@ ...@@ -143,5 +167,4 @@
</resource> </resource>
</resources> </resources>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -4,13 +4,15 @@ import org.mybatis.spring.annotation.MapperScan; ...@@ -4,13 +4,15 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2 @EnableSwagger2
@EnableScheduling @EnableScheduling
@MapperScan({"com.zq.dataoperation.dao","com.zq.spiderflow.dao","com.zq.datacollect.mapper"})
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.zq.dataoperation.feign")
@MapperScan({"com.zq.dataoperation.dao","com.zq.spiderflow.dao","com.zq.datacollect.mapper"})
@SpringBootApplication//(scanBasePackages = {"com.zq.dataoperation", "com.zq.common.config","com.zq.spiderflow"}) @SpringBootApplication//(scanBasePackages = {"com.zq.dataoperation", "com.zq.common.config","com.zq.spiderflow"})
public class DataoperationApplication { public class DataoperationApplication {
......
package com.zq.dataoperation.feign;
import com.zq.common.vo.ResultVo;
import com.zq.dataoperation.entity.QueryDb;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@FeignClient(name = "DATA-COLLECT-SERVER")
@RequestMapping(value = "/data/collect")
public interface DataCollectFeign {
@PostMapping("/datasource")
ResultVo add(@RequestBody QueryDb queryDb);
@PutMapping("/datasource")
ResultVo update(@RequestBody QueryDb queryDb);
@DeleteMapping("/datasource/{id}")
ResultVo delete(@PathVariable("id") Integer id);
}
\ No newline at end of file
...@@ -23,6 +23,7 @@ public class DatabaseRunner implements ApplicationRunner { ...@@ -23,6 +23,7 @@ public class DatabaseRunner implements ApplicationRunner {
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
List<QueryDb> datasource = service.getDatasource(); List<QueryDb> datasource = service.getDatasource();
for (QueryDb ds : datasource) { for (QueryDb ds : datasource) {
service.checkConnect(ds);
DatabaseHolder.add(ds.getDbType(), ds.getDbIp(), ds.getDbPort(), ds.getDbName(), ds.getUsername(), ds.getPassword(), ds.getId()); DatabaseHolder.add(ds.getDbType(), ds.getDbIp(), ds.getDbPort(), ds.getDbName(), ds.getUsername(), ds.getPassword(), ds.getId());
} }
log.info("成功加载数据库:{}个", datasource.size()); log.info("成功加载数据库:{}个", datasource.size());
......
...@@ -16,6 +16,7 @@ import com.zq.dataoperation.dao.QueryDbDao; ...@@ -16,6 +16,7 @@ import com.zq.dataoperation.dao.QueryDbDao;
import com.zq.dataoperation.entity.CommonQuerySetting; import com.zq.dataoperation.entity.CommonQuerySetting;
import com.zq.dataoperation.entity.MetaDataMapping; import com.zq.dataoperation.entity.MetaDataMapping;
import com.zq.dataoperation.entity.QueryDb; import com.zq.dataoperation.entity.QueryDb;
import com.zq.dataoperation.feign.DataCollectFeign;
import com.zq.dataoperation.holder.DatabaseHolder; import com.zq.dataoperation.holder.DatabaseHolder;
import com.zq.dataoperation.utils.SqlUtils; import com.zq.dataoperation.utils.SqlUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -43,6 +44,9 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo ...@@ -43,6 +44,9 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo
@Resource @Resource
private MetaDataMappingDao metaDataMappingDao; private MetaDataMappingDao metaDataMappingDao;
@Resource
private DataCollectFeign dataCollectFeign;
private static final Logger log = LoggerFactory.getLogger(ThreadContext.class); private static final Logger log = LoggerFactory.getLogger(ThreadContext.class);
public List<QueryDb> getDatasource() { public List<QueryDb> getDatasource() {
...@@ -50,9 +54,11 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo ...@@ -50,9 +54,11 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo
} }
public ResultVo addDatasource(QueryDb queryDb) { public ResultVo addDatasource(QueryDb queryDb) {
checkConnect(queryDb);
queryDb.setCreateTime(DateUtil.date()); queryDb.setCreateTime(DateUtil.date());
AssertUtils.isTrue(queryDbDao.insert(queryDb) == 1, "添加失败,请检查后重试"); AssertUtils.isTrue(queryDbDao.insert(queryDb) == 1, "添加失败,请检查后重试");
DatabaseHolder.add(queryDb.getDbType(), queryDb.getDbIp(), queryDb.getDbPort(), queryDb.getDbName(), queryDb.getUsername(), queryDb.getPassword(), queryDb.getId()); DatabaseHolder.add(queryDb.getDbType(), queryDb.getDbIp(), queryDb.getDbPort(), queryDb.getDbName(), queryDb.getUsername(), queryDb.getPassword(), queryDb.getId());
dataCollectFeign.add(queryDb);
return ResultVo.success(); return ResultVo.success();
} }
...@@ -66,16 +72,19 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo ...@@ -66,16 +72,19 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo
@Transactional @Transactional
public void updateDatasource(QueryDb queryDb) { public void updateDatasource(QueryDb queryDb) {
checkConnect(queryDb);
queryDb.setUpdateTime(DateUtil.date()); queryDb.setUpdateTime(DateUtil.date());
AssertUtils.isTrue(queryDbService.updateById(queryDb), "操作失败!"); AssertUtils.isTrue(queryDbService.updateById(queryDb), "操作失败!");
DatabaseHolder.remove(queryDb.getId()); DatabaseHolder.remove(queryDb.getId());
DatabaseHolder.add(queryDb.getDbType(), queryDb.getDbIp(), queryDb.getDbPort(), queryDb.getDbName(), queryDb.getUsername(), queryDb.getPassword(), queryDb.getId()); DatabaseHolder.add(queryDb.getDbType(), queryDb.getDbIp(), queryDb.getDbPort(), queryDb.getDbName(), queryDb.getUsername(), queryDb.getPassword(), queryDb.getId());
dataCollectFeign.update(queryDb);
} }
@Transactional @Transactional
public void deleteDatasource(Integer id) { public void deleteDatasource(Integer id) {
AssertUtils.isTrue(queryDbService.removeById(id), "操作失败!"); AssertUtils.isTrue(queryDbService.removeById(id), "操作失败!");
DatabaseHolder.remove(id); DatabaseHolder.remove(id);
dataCollectFeign.delete(id);
} }
public List<Map<String, Object>> run(Map<String, Object> body) { public List<Map<String, Object>> run(Map<String, Object> body) {
......
...@@ -104,6 +104,7 @@ public class SqlUtils { ...@@ -104,6 +104,7 @@ public class SqlUtils {
druidDataSource.setMinEvictableIdleTimeMillis(300000); druidDataSource.setMinEvictableIdleTimeMillis(300000);
// 这个特性能解决 MySQL 服务器8小时关闭连接的问题 // 这个特性能解决 MySQL 服务器8小时关闭连接的问题
druidDataSource.setMaxEvictableIdleTimeMillis(25200000); druidDataSource.setMaxEvictableIdleTimeMillis(25200000);
druidDataSource.setConnectionErrorRetryAttempts(1);
try { try {
druidDataSource.init(); druidDataSource.init();
......
...@@ -67,6 +67,9 @@ ...@@ -67,6 +67,9 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin> </plugin>
</plugins> </plugins>
......
package com.zq.doc.controller; package com.zq.doc.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.doc.mapper.AjxxFileMapper; import com.zq.doc.mapper.AjxxFileMapper;
import com.zq.doc.vo.AplhaDocVo; import com.zq.doc.vo.AplhaDocVo;
...@@ -45,9 +46,82 @@ public class DocController { ...@@ -45,9 +46,82 @@ public class DocController {
* *
* @return * @return
*/ */
@GetMapping("/db/search") // @GetMapping("/db/search")
// @ApiOperation("数据库综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息")
// public SolrDocumentPage dbSearch(@ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNum,
// @ApiParam("每页记录数") @RequestParam(defaultValue = "10") Integer pageSize,
// @ApiParam("查询条件") AplhaDocVo aplhaDocVo) throws SolrServerException, IOException {
// SolrQuery params = new SolrQuery();
// //查询条件, 这里的 q 对应 下面图片标红的地方
// if (StringUtils.isBlank(aplhaDocVo.getAjnr())) {
// params.set("q", "*");
// } else {
// params.set("q", aplhaDocVo.getAjnr());
// }
//
// if (StringUtils.isNotEmpty(aplhaDocVo.getAh())) {
// params.addFilterQuery("ah:*" + aplhaDocVo.getAh() + "*");
// }
// if (ObjectUtil.isNotNull(aplhaDocVo.getAjmc())) {
// params.addFilterQuery("ajmc:*" + aplhaDocVo.getAjmc() + "*");
// }
// if (StringUtils.isNotBlank(aplhaDocVo.getFymc())) {
// params.addFilterQuery("fymc:*" + aplhaDocVo.getFymc() + "*");
// }
// if (StringUtils.isNotBlank(aplhaDocVo.getAy())) {
// params.addFilterQuery("ay:*" + aplhaDocVo.getAy() + "*");
// }
// if (ObjectUtil.isNotNull(aplhaDocVo.getAjnr())) {
// params.addFilterQuery("ajnr:*" + aplhaDocVo.getAjnr() + "*");
// }
//
// //排序
// params.addSort("id", SolrQuery.ORDER.desc);
// //分页
// params.setStart((pageNum - 1) * pageSize);
// params.setRows(pageSize);
// //默认域
// params.set("df", "keyword");
// //高亮打开开关
// params.setHighlight(true);
// //指定高亮域
// params.addHighlightField("ajnr");
//
// //设置前缀
// params.setHighlightSimplePre("<span style='color:red'>");
// //设置后缀
// params.setHighlightSimplePost("</span>");
//
// QueryResponse queryResponse = client.query(core, params);
//
// SolrDocumentList results = queryResponse.getResults();
//
// long numFound = results.getNumFound(); // 查询到的结果
//
// //获取高亮显示的结果, 高亮显示的结果和查询结果是分开放的
// Map<String, Map<String, List<String>>> highlight = queryResponse.getHighlighting();
//
// for (SolrDocument result : results) { // 将高亮结果合并到查询结果中
// result.remove("keyword");
// highlight.forEach((k, v) -> {
// if (result.get("id").equals(k)) {
// v.forEach((k1, v1) -> {
// if (!k1.equals("keyword")) result.setField(k1, v1); // 高亮列合并如结果
// });
// }
// });
// }
// return new SolrDocumentPage(pageNum, pageSize, numFound, results);
// }
/**
* 综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息
*
* @return
*/
@GetMapping("/db/search/new")
@ApiOperation("数据库综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息") @ApiOperation("数据库综合查询: 在综合查询中, 有按条件查询, 条件过滤, 排序, 分页, 高亮显示, 获取部分域信息")
public SolrDocumentPage dbSearch(@ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNum, public SolrDocumentPage dbSearchNew(@ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNum,
@ApiParam("每页记录数") @RequestParam(defaultValue = "10") Integer pageSize, @ApiParam("每页记录数") @RequestParam(defaultValue = "10") Integer pageSize,
@ApiParam("查询条件") AplhaDocVo aplhaDocVo) throws SolrServerException, IOException { @ApiParam("查询条件") AplhaDocVo aplhaDocVo) throws SolrServerException, IOException {
SolrQuery params = new SolrQuery(); SolrQuery params = new SolrQuery();
...@@ -58,24 +132,21 @@ public class DocController { ...@@ -58,24 +132,21 @@ public class DocController {
params.set("q", aplhaDocVo.getAjnr()); params.set("q", aplhaDocVo.getAjnr());
} }
if(aplhaDocVo.getFymc().size() > 0){
params.addFilterQuery("fymc:" + StrUtil.join(" OR fymc:", aplhaDocVo.getFymc()));
}
if(aplhaDocVo.getAy().size() > 0){
params.addFilterQuery("ay:" + StrUtil.join(" OR ay:", aplhaDocVo.getAy()));
}
if (StringUtils.isNotEmpty(aplhaDocVo.getAh())) { if (StringUtils.isNotEmpty(aplhaDocVo.getAh())) {
params.addFilterQuery("ah:*" + aplhaDocVo.getAh() + "*"); params.addFilterQuery("ah:*" + aplhaDocVo.getAh() + "*");
} }
if (ObjectUtil.isNotNull(aplhaDocVo.getAjmc())) { if (ObjectUtil.isNotNull(aplhaDocVo.getAjmc())) {
params.addFilterQuery("ajmc:*" + aplhaDocVo.getAjmc() + "*"); params.addFilterQuery("ajmc:*" + aplhaDocVo.getAjmc() + "*");
} }
if (StringUtils.isNotBlank(aplhaDocVo.getFymc())) {
params.addFilterQuery("fymc:*" + aplhaDocVo.getFymc() + "*");
}
if (StringUtils.isNotBlank(aplhaDocVo.getAy())) {
params.addFilterQuery("ay:*" + aplhaDocVo.getAy() + "*");
}
if (ObjectUtil.isNotNull(aplhaDocVo.getAjnr())) {
params.addFilterQuery("ajnr:*" + aplhaDocVo.getAjnr() + "*");
}
//排序
params.addSort("id", SolrQuery.ORDER.desc);
//分页 //分页
params.setStart((pageNum - 1) * pageSize); params.setStart((pageNum - 1) * pageSize);
params.setRows(pageSize); params.setRows(pageSize);
...@@ -92,9 +163,7 @@ public class DocController { ...@@ -92,9 +163,7 @@ public class DocController {
params.setHighlightSimplePost("</span>"); params.setHighlightSimplePost("</span>");
QueryResponse queryResponse = client.query(core, params); QueryResponse queryResponse = client.query(core, params);
SolrDocumentList results = queryResponse.getResults(); SolrDocumentList results = queryResponse.getResults();
long numFound = results.getNumFound(); // 查询到的结果 long numFound = results.getNumFound(); // 查询到的结果
//获取高亮显示的结果, 高亮显示的结果和查询结果是分开放的 //获取高亮显示的结果, 高亮显示的结果和查询结果是分开放的
......
...@@ -5,6 +5,7 @@ import lombok.Data; ...@@ -5,6 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
...@@ -29,12 +30,12 @@ public class AplhaDocVo { ...@@ -29,12 +30,12 @@ public class AplhaDocVo {
/** /**
* 法院名称 * 法院名称
*/ */
private String fymc; private List<String> fymc;
/** /**
* 案由 * 案由
*/ */
private String ay; private List<String> ay;
/** /**
* 案件内容 * 案件内容
......
...@@ -147,7 +147,11 @@ ...@@ -147,7 +147,11 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin> </plugin>
<!-- 让maven不编译docx文件,但仍将其打包 --> <!-- 让maven不编译docx文件,但仍将其打包 -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
......
...@@ -138,9 +138,9 @@ ...@@ -138,9 +138,9 @@
</profile> </profile>
<profile> <profile>
<id>prod</id> <id>product</id>
<properties> <properties>
<profiles.active>prod</profiles.active> <profiles.active>product</profiles.active>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>
......
...@@ -70,16 +70,16 @@ public class User extends BaseEntity implements Serializable { ...@@ -70,16 +70,16 @@ public class User extends BaseEntity implements Serializable {
@ApiModelProperty(value = "用户名称") @ApiModelProperty(value = "用户名称")
private String username; private String username;
@NotBlank // @NotBlank
@ApiModelProperty(value = "用户昵称") @ApiModelProperty(value = "用户昵称")
private String nickName; private String nickName;
@Email @Email
@NotBlank // @NotBlank
@ApiModelProperty(value = "邮箱") @ApiModelProperty(value = "邮箱")
private String email; private String email;
@NotBlank // @NotBlank
@ApiModelProperty(value = "电话号码") @ApiModelProperty(value = "电话号码")
private String phone; private String phone;
......
...@@ -90,7 +90,7 @@ public class UserController { ...@@ -90,7 +90,7 @@ public class UserController {
/** /**
* 获取user用户名 * 获取user用户名
* @param id * @param ids
* @return * @return
*/ */
@AnonymousAccess @AnonymousAccess
......
...@@ -91,9 +91,9 @@ public class UserServiceImpl implements UserService { ...@@ -91,9 +91,9 @@ public class UserServiceImpl implements UserService {
if (userRepository.findByUsername(resources.getUsername()) != null) { if (userRepository.findByUsername(resources.getUsername()) != null) {
throw new EntityExistException(User.class, "username", resources.getUsername()); throw new EntityExistException(User.class, "username", resources.getUsername());
} }
if (userRepository.findByEmail(resources.getEmail()) != null) { // if (userRepository.findByEmail(resources.getEmail()) != null) {
throw new EntityExistException(User.class, "email", resources.getEmail()); // throw new EntityExistException(User.class, "email", resources.getEmail());
} // }
userRepository.save(resources); userRepository.save(resources);
} }
......
...@@ -50,7 +50,7 @@ spring: ...@@ -50,7 +50,7 @@ spring:
multi-statement-allow: true multi-statement-allow: true
redis: redis:
#数据库索引 #数据库索引
database: 0 database: 1
host: ${redis.url} host: ${redis.url}
port: ${redis.port} port: ${redis.port}
password: ${redis.password} password: ${redis.password}
......
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