Commit e0c8e4a2 by 陈皓

init

parents
HELP.md
.gradle
/build/
/logs/
**/build/
**/out/
**/logs/
!gradle/wrapper/gradle-wrapper.jar
*.log
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
/out/
**/target/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!-- <version>3.0.6</version>-->
<!--<version>2.7.6</version>-->
<version>2.3.11.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.gxmailu</groupId>
<artifactId>ocrCloudPlatform</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ocrCloudPlatform</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>8</java.version>
<spring-cloud.version>Hoxton.SR11</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<!-- <version>3.0.0</version>-->
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
<!-- mysql连接器 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- mybatis-plus代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.5.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- &lt;!&ndash; https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-maven-plugin &ndash;&gt;
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.2</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.18</version>
</dependency>
<!-- 解决ModelAndView无法访问到templates目录下的页面 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.25</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
<exclusions>
<exclusion>
<artifactId>mybatis-spring-boot-starter</artifactId>
<groupId>org.mybatis.spring.boot</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/mybatis/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.gxmailu.ocrCloudPlatform;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(value = "com.gxmailu.ocrCloudPlatform.mapper")
public class OcrCloudPlatformApplication {
public static void main(String[] args) {
SpringApplication.run(OcrCloudPlatformApplication.class, args);
}
}
package com.gxmailu.ocrCloudPlatform;
public class Test {
public static void main(String[] args) {
}
}
package com.gxmailu.ocrCloudPlatform.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* Mybatis-plus配置类
*/
@EnableTransactionManagement
@Configuration
@MapperScan(basePackages = "com.gxmailu.ocrCloudPlatform.mapper")
public class MybatisPlusPageConfig {
/**
* Mybatis-Plus 3.5.1新版分页插件API
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//乐观锁
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
//分页锁
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
package com.gxmailu.ocrCloudPlatform.config;
import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(factory);
// key采用String的序列化方式
template.setKeySerializer(new StringRedisSerializer());
// hash的key也采用String的序列化方式
template.setHashKeySerializer(new StringRedisSerializer());
// value序列化方式采用jackson
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
// hash的value序列化方式采用jackson
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.afterPropertiesSet();
return template;
}
@Bean
public RedisTemplate<Object,Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<Object,Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
// key采用String的序列化方式
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new FastJsonRedisSerializer<>(Object.class));
return template;
}
}
package com.gxmailu.ocrCloudPlatform.config;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfiguration {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
//.title("swagger-bootstrap-ui-demo RESTful APIs")
.description("#RESTful APIs")
.version("1.0")
.build())
//分组名称
.groupName("1.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.gxmailu.message.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
package com.gxmailu.ocrCloudPlatform.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ThreadPoolExecutor;
@Configuration
@EnableAsync
public class ThreadPoolConfig {
// 获取服务器的cpu个数
private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();// 获取cpu个数
private static final int COUR_SIZE = CPU_COUNT * 2;
private static final int MAX_COUR_SIZE = CPU_COUNT * 4;
@Bean("dataPersistThreadPoolTaskExecutor")
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
threadPoolTaskExecutor.setCorePoolSize(COUR_SIZE);// 设置核心线程数
threadPoolTaskExecutor.setMaxPoolSize(MAX_COUR_SIZE);// 配置最大线程数
threadPoolTaskExecutor.setQueueCapacity(MAX_COUR_SIZE * 4);// 配置队列容量(这里设置成最大线程数的四倍)
threadPoolTaskExecutor.setThreadNamePrefix("Data-Persist-Thread");// 给线程池设置名称
threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());// 设置任务的拒绝策略
return threadPoolTaskExecutor;
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord4;
import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecord4Service;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 应用调用能力记录 前端控制器
* </p>
*
* @author zyz
* @since 2023-05-10
*/
@RestController
@RequestMapping("/appAbilityRecord4")
public class AppAbilityRecord4Controller {
@Autowired
private AppAbilityRecord4Service abilityRecord4Service;
/**
* 根据ID查询相关信息
* @param id 主键
* @return 结果
*/
@GetMapping("/queryRecord4ById")
public Result queryRecord4ById(String id){
Assert.notNull(id, "id不能为空!");
return this.abilityRecord4Service.queryRecord4ById(id);
}
@PostMapping("/updateRecord4")
public Result updateRecord4(AppAbilityRecord4 record) {
Assert.notNull(record, "参数不能为空!");
Assert.notNull(record.getId(), "id不能为空!");
return abilityRecord4Service.updateRecord4(record);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 应用调用能力记录 前端控制器
* </p>
*
* @author zyz
* @since 2023-05-12
*/
@RestController
@RequestMapping("/appAbilityRecord5")
public class AppAbilityRecord5Controller {
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.alibaba.fastjson.JSONArray;
import com.gxmailu.ocrCloudPlatform.dto.RecordDto;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll;
import com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord;
import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecordAllService;
import com.gxmailu.ocrCloudPlatform.utils.DateUtils;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
/**
* <p>
* 全部应用调用能力记录 前端控制器
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@Slf4j
@RestController
@RequestMapping("/appAbilityRecordAll")
public class AppAbilityRecordAllController {
@Autowired
private AppAbilityRecordAllService recordAllService;
/**
* 导出应用调用记录
*
* @param yearMonthDay 年月日calendar
*/
@RequestMapping("/deriveCallRecord")
@ResponseBody
public void deriveCallRecord(String yearMonthDay, String endYearMonthDay, HttpServletResponse response) {
//设置到新的对象上,用以下面的文件名称处理
String newYearMonthDay = yearMonthDay;
if(StringUtils.isNotEmpty(yearMonthDay)){
int count = yearMonthDay.split("-").length;
switch (count){
case 1:
//只有年,补01-01
if(StringUtils.isEmpty(endYearMonthDay)){
//默认到当年的12月31日
endYearMonthDay = yearMonthDay + "-12-31";
}
yearMonthDay = yearMonthDay + "-01-01";
break;
case 2:
//只有年月,补01
if(StringUtils.isEmpty(endYearMonthDay)){
//默认到当月的31日(小月也按31日计算)
endYearMonthDay = yearMonthDay + "-31";
}
yearMonthDay = yearMonthDay + "-01";
break;
case 3:
if(StringUtils.isEmpty(endYearMonthDay)){
endYearMonthDay = yearMonthDay;
}
break;
}
System.out.println("yearMonthDay==========" + yearMonthDay + ";endYearMonthDay==========" + endYearMonthDay);
yearMonthDay = DateUtils.dateToStringShort(DateUtils.stringToDateShort(yearMonthDay));
//因为sql中使用的是between,其特性是含头不含尾,所以需要给区间末的时间加1天
Calendar calendar = new GregorianCalendar();
calendar.setTime(DateUtils.stringToDateShort(endYearMonthDay));
calendar.add(Calendar.DATE, 1);
endYearMonthDay = DateUtils.dateToStringShort(calendar.getTime());
}
List<DeriveCallRecord> callRecordList = this.recordAllService.selectCallRecord(yearMonthDay, endYearMonthDay);
Assert.notNull(callRecordList, "未找到相关数据");
try{
//创建一个workBook
HSSFWorkbook workbook = new HSSFWorkbook();
//创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = workbook.createCellStyle();
//设置边框
//下边框
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//左边框
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
//上边框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
//右边框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
//自动换行
style.setWrapText(true);
//创建一个居中格式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//上下居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//设置字体
HSSFFont font = workbook.createFont();
font.setFontName("宋体");
style.setFont(font);
//创建一个工作簿
HSSFSheet sheet = workbook.createSheet();
List<Map> mapList = JSONArray.parseArray(com.alibaba.fastjson.JSONObject.toJSONString(callRecordList), Map.class);
//占一行表头
HSSFRow initial_row = sheet.createRow(0);
//设置表头
HSSFCell zero = initial_row.createCell(0);
zero.setCellStyle(style);
zero.setCellValue("法院名称");
HSSFCell one = initial_row.createCell(1);
one.setCellStyle(style);
one.setCellValue("调用厂家名称");
HSSFCell tow = initial_row.createCell(2);
tow.setCellStyle(style);
tow.setCellValue("能力ID");
HSSFCell three = initial_row.createCell(3);
three.setCellStyle(style);
three.setCellValue("调用次数");
//以 mapList 的元素个数为行基础,每一个元素就是一行
for(int row_start = 0, row_end = mapList.size(); row_start < row_end; row_start ++){
TreeMap<String, Object> map = new TreeMap<String, Object>(mapList.get(row_start));
//判断是否存在行,没有则创建
HSSFRow row = sheet.getRow(row_start + 1);
if(row == null){
row = sheet.createRow(row_start + 1);
}
//然后以 map 中字段的数量为列基础,每一个字段就是一列
int column = 0;
for(Object key : map.keySet()){
//判断是否存在列,没有则创建
HSSFCell cell = row.getCell(column);
if(cell == null){
cell = row.createCell(column);
}
//数据写入
cell.setCellValue(String.valueOf(map.get(key)));
//设置样式
cell.setCellStyle(style);
//加列
column ++;
}
}
response.reset();
String fileName = StringUtils.isEmpty(newYearMonthDay) ? "各法院调用统计.xlsx" : "各法院" + newYearMonthDay + "调用统计.xlsx";
response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
response.flushBuffer();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}catch (Exception e){
log.error("导出异常{0}", e.fillInStackTrace());
}
}
@PostMapping("/addRecord")
public Result addRecord(AppAbilityRecordAll recordAll) {
Assert.notNull(recordAll, "参数不能为空");
return recordAllService.addRecord(recordAll);
}
@PostMapping("/getList")
public Object getList(RecordDto recordDto) {
Assert.notNull(recordDto, "参数不能为空");
return recordAllService.getList(recordDto);
}
@PostMapping("/getListByPage")
public Object getListByPage(RecordDto recordDto) {
Assert.notNull(recordDto, "参数不能为空");
return Result.success("",recordAllService.getList(recordDto));
}
@PostMapping("/getById")
public Object getById(Long id) {
Assert.notNull(id, "参数不能为空");
return Result.success("",recordAllService.getById(id));
}
@GetMapping("/getCourtUseSum")
public Object getCourtUseSum() {
return recordAllService.getCourtUseSum();
}
@GetMapping("/getCourtUseInYear")
public Object getCourtUseInYear(@RequestParam Integer year,@RequestParam String courtName) {
return recordAllService.getCourtUseInYear(year,courtName);
}
@GetMapping("/getCourtUseInMonth")
public Object getCourtUseInMonth(Integer year, Integer month,String courtName) {
return recordAllService.getCourtUseInMonth(year, month,courtName);
}
@GetMapping("/getCourtUseInDay")
public Object getCourtUseInDay(Integer year, Integer month, Integer day,String courtName) {
return recordAllService.getCourtUseInDay(year, month, day,courtName);
}
@GetMapping("getCorrelationData")
public Result getCorrelationDate(String day1,String day2){
return recordAllService.getCorrelationData(day1,day2);
}
@GetMapping("getBrokenLineData")
public Result getBrokenLineData(String date){
return recordAllService.getBrokenLineData(date);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.gxmailu.ocrCloudPlatform.service.ConfigAbilityService;
import com.gxmailu.ocrCloudPlatform.service.ConfigApplicationService;
import com.gxmailu.ocrCloudPlatform.vo.ConfigApplicationVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 应用信息表
*/
@RestController
@RequestMapping("configApp")
public class ConfigApplicationController {
@Autowired
private ConfigApplicationService configApplicationService;
@Autowired
private ConfigAbilityService configAbilityService;
/**
* 查询当前应用对应的能力列表
* @param appId 应用ID
* @return 查询结果
*/
@GetMapping("selectConfigAbilityByAppId")
public Result selectConfigAbilityByAppId(@RequestParam String appId){
return Result.success("查询成功", this.configAbilityService.selectConfigAbilityByAppId(appId));
}
/**
* 查询所有应用能力数据
* @return 结果
*/
@GetMapping("selectConfigAbilityAll")
public Result selectConfigAbilityAll(){
return Result.success("查询成功", this.configAbilityService.selectAll());
}
/**
* 根据id查询对应的应用信息
* @param id 主键
* @return 结果
*/
@GetMapping("queryConfigAppById")
public Result queryConfigAppById(@RequestParam String id){
return this.configApplicationService.queryConfigAppById(id);
}
/**
* 分页列表
* @param configAppVo 查询条件
* @return 返回结果
*/
@GetMapping("configApplicationPage")
public Result configApplicationPage(ConfigApplicationVO configAppVo){
return this.configApplicationService.configApplicationPage(configAppVo);
}
/**
* 修改应用信息
* @param configAppVo 表单数据
* @return 返回结果
*/
@PostMapping("updateConfigAppById")
public Result updateConfigAppById(@RequestBody ConfigApplicationVO configAppVo){
return this.configApplicationService.updateConfigAppById(configAppVo);
}
/**
* 新增应用信息
* @param configAppVo 表单数据
* @return 新增结果
*/
@PostMapping("insertConfigApp")
public Result insertConfigApp(@RequestBody ConfigApplicationVO configAppVo){
return this.configApplicationService.insertConfigApp(configAppVo);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.gxmailu.ocrCloudPlatform.service.CourtService;
import com.gxmailu.ocrCloudPlatform.vo.CourtVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 法庭表 前端控制器
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@RestController
@RequestMapping("/court")
public class CourtController {
@Autowired
private CourtService courtService;
/*@RequestMapping("/getFile")
public ResponseEntity<Object> download(HttpServletRequest request,String filename) {
String path = "D:\\SDK\\nginx-1.19.9\\html\\"+filename;
String contentDisposition = ContentDisposition
.builder("attachment")
.filename(path)
.build().toString();
File file = new File(path);
if (file.exists()) {
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition)
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(new FileSystemResource(path));
} else {
JSONObject object = new JSONObject();
object.set("code",500);
object.set("mag","错误!");
return ResponseEntity.status(500)
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition + " Not Found")
.contentType(MediaType.APPLICATION_JSON)
.body(object.toJSONString(0));
}
}
@RequestMapping("one")
public void one(HttpServletRequest request, HttpServletResponse response){
System.out.println("接口11111111");
System.out.println("开始转发。。。。");
HttpResponse httpResponse = HttpRequest.post("http://192.168.13.38:9027/court/tow")
.header("appId",request.getHeader("appId"))
.execute();
System.out.println(httpResponse);
Map<String, List<String>> headers = httpResponse.headers();
System.out.println(headers.isEmpty());
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
response.setHeader(entry.getKey(),entry.getValue().get(0));
}
try {
IoUtil.copy(httpResponse.bodyStream(),response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("tow")
public void tow(HttpServletRequest request, HttpServletResponse response){
System.out.println("接口2222222");
String appId = request.getHeader("appId");
System.out.println("appId:"+appId);
response.setStatus(200);
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("utf-8");
JSONObject object = new JSONObject();
object.set("code", 200);
object.set("message", "成功");
object.set("time", DateUtil.current());
try {
response.getWriter().write(object.toJSONString(0));
} catch (IOException ex) {
ex.printStackTrace();
}
}*/
/**
* 法院列表分页
*
* @param courtVO 查询条件
* @return 结果
*/
@GetMapping("courtPage")
public Result courtPage(CourtVO courtVO) {
return this.courtService.courtPage(courtVO);
}
/**
* 根据ID查询法院信息
*
* @param id 主键
* @return 结果
*/
@GetMapping("queryCourtById")
public Result queryCourtById(@RequestParam String id) {
return this.courtService.queryCourtById(id);
}
/**
* 修改法院信息
*
* @param courtVO 表单数据
* @return 修改结果
*/
@PostMapping("updateCourt")
public Result updateCourt(@RequestBody CourtVO courtVO) {
return this.courtService.updateCourt(courtVO);
}
/**
* 新增法院信息
*
* @param courtVO 表单数据
* @return 新增结果
*/
@PostMapping("insertCourt")
public Result insertCourt(@RequestBody CourtVO courtVO) {
return this.courtService.insertCourt(courtVO);
}
/**
* 获取所有法院信息
*
* @return list
*/
@GetMapping("getAllCourt")
public Result getAllCourt() {
return courtService.getAllCourt();
}
@GetMapping("getCourtInfo")
public Result getCourtInfo(String courtCode) {
return courtService.getCourtInfo(courtCode);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import cn.hutool.core.date.DateUtil;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/date")
public class DateController {
/**
* 获取2021-2099年间的所有年份集合
* @return
*/
@GetMapping("getYears")
public Result getYears() {
String startTime = "2021-01-01";
String endTime = "2099-12-31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
// 声明保存日期集合
List<Integer> list = new ArrayList<>();
try {
// 转化成日期类型
Date startDate = sdf.parse(startTime);
Date endDate = sdf.parse(endTime);
//用Calendar 进行日期比较判断
Calendar calendar = Calendar.getInstance();
while (startDate.getTime() <= endDate.getTime()) {
// 把日期添加到集合
list.add(Integer.parseInt(sdf.format(startDate)));
// 设置日期
calendar.setTime(startDate);
//把年数增加 1
calendar.add(Calendar.YEAR, 1);
// 获取增加后的日期
startDate = calendar.getTime();
}
return Result.success("", list);
} catch (Exception e) {
log.error("获取年份发生异常!", e);
return Result.error("获取年份发生异常!");
}
}
/**
* 获取某年某月的天数集合
* @param year
* @param month
* @return
*/
@GetMapping("getDays")
public Result getDays(@RequestParam Integer year, @RequestParam Integer month) {
Assert.notNull(year, "年份不能为空");
Assert.notNull(month, "月份不能为空");
try {
String dateStr = year + "-" + month;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
int lastDayOfMonth = DateUtil.getLastDayOfMonth(sdf.parse(dateStr));
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= lastDayOfMonth; i++) {
list.add(i);
}
return Result.success("", list);
} catch (ParseException e) {
log.error("获取{}年{}月天数发生异常!", year, month, e);
return Result.error("获取{}年{}月天数发生异常!");
}
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 门户用户 前端控制器
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@RestController
@RequestMapping("/door-user")
public class DoorUserController {
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.alibaba.fastjson.JSONObject;
import com.gxmailu.ocrCloudPlatform.dto.MessageDto;
import com.gxmailu.ocrCloudPlatform.dto.UserMessageParam;
import com.gxmailu.ocrCloudPlatform.entity.UserMessage;
import com.gxmailu.ocrCloudPlatform.service.MessageService;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
@RestController
@Api("消息模块")
public class MessageController {
@Autowired
private MessageService messageService;
@ApiOperation("修改用户消息")
@PutMapping("updateUserMessage")
public Result updateUserMessage(@RequestBody UserMessage userMessage){
return messageService.updateUserMessage(userMessage);
}
@ApiOperation("获取我的消息列表")
@GetMapping("getMyMessageList")
public Result getMyMessageList(UserMessageParam userMessageParam){
return messageService.getMyMessageList(userMessageParam);
}
@ApiOperation("获取用户消息")
@GetMapping("getUserMessages")
public Result getUserMessages(UserMessage userMessage){
return messageService.getUserMessages(userMessage);
}
@ApiOperation("添加消息")
@PostMapping("addMessage")
public Result addMessage(@RequestBody MessageDto messageDto){
return messageService.addMessage(messageDto);
}
@RequestMapping("alertManagerMsg")
public Result alertManagerMsg(@RequestBody JSONObject object){
Assert.notNull(object,"告警信息为空!");
return messageService.alertManagerMsg(object);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.alibaba.fastjson.JSONObject;
import com.gxmailu.ocrCloudPlatform.service.impl.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping("/redis")
public class RedisController {
@Autowired
private RedisService redisService;
@RequestMapping("getValue")
public Object getValue(@RequestParam("key") String key) {
return redisService.getValue(key);
}
@RequestMapping("getList")
public List<Object> getList(@RequestParam("key") String key) {
return redisService.getList(key);
}
@PostMapping("set")
public boolean set(@RequestBody JSONObject jsonObject) {
String key = jsonObject.getString("key");
Object value = jsonObject.getObject("value", Object.class);
Assert.notNull(key, "key不能为空");
Assert.notNull(value, "value不能为空");
Long expireTime = jsonObject.getLong("expiredTime");
if (expireTime != null) {
return redisService.set(key, value, expireTime, TimeUnit.SECONDS);
}
return redisService.set(key, value);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import cn.hutool.json.JSONObject;
import com.gxmailu.ocrCloudPlatform.service.impl.RetransmissionService;
import com.gxmailu.ocrCloudPlatform.vo.OcrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 接口转发控制器
*/
@RestController
//@RequestMapping("/retransmission")
public class RetransmissionController {
@Autowired
private RetransmissionService retransmissionService;
@GetMapping("/ofs/api/sync/getClientOcrTask")
public OcrResult getClientOcrTask() {
return this.retransmissionService.getClientOcrTask();
}
@PostMapping("/ofs/api/sync/v1/{code}")
public OcrResult CommonRecognition(@PathVariable("code") String code, String fileId,
MultipartFile file, Boolean createOfd,
HttpServletRequest request) {
return retransmissionService.CommonRecognition(code, fileId, file, createOfd, request);
}
@PostMapping("/ofs/api/sync/v1/pdf")
public void downloadDoubleDeckPdf(@RequestBody JSONObject body, HttpServletRequest request, HttpServletResponse response) {
retransmissionService.downloadDoubleDeckPdf(body, request, response);
}
@PostMapping("/ofs/api/sync/v1/odf")
public void downloadDoubleDeckOfd(@RequestBody JSONObject body, HttpServletRequest request, HttpServletResponse response) {
retransmissionService.downloadDoubleDeckOfd(body, request, response);
}
@PostMapping("/ofs/api/sync/v1/ft/1001")
public OcrResult fullTextRecognition(String fileId, MultipartFile file, HttpServletRequest request) {
return retransmissionService.fullTextRecognition(fileId, file, request);
}
@PostMapping("/ofs/api/sync/v1/kv/{code}")
public OcrResult cardRecognition(@PathVariable("code") Integer code, String fileId, MultipartFile file,
HttpServletRequest request) {
return retransmissionService.cardRecognition(code, fileId, file, request);
}
@PostMapping("/ofs/api/async/minio/v1/{code}")
public OcrResult cardRecognitionBaseMinio(String id, String bucket, String name, String callback_url,
Boolean need_pdf, @PathVariable String code,
HttpServletRequest request) {
return retransmissionService.cardRecognitionBaseMinio(id, bucket, name, callback_url, need_pdf, code, request);
}
@PostMapping("/ofs/api/sync/v1/6002")
public OcrResult formatRestoration(String fileId, MultipartFile file, HttpServletRequest request) {
return retransmissionService.formatRestoration(fileId, file, request);
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 角色表 前端控制器
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@RestController
@RequestMapping("/role")
public class RoleController {
}
package com.gxmailu.ocrCloudPlatform.controller;
import com.gxmailu.ocrCloudPlatform.entity.ServerInfo;
import com.gxmailu.ocrCloudPlatform.service.ServerInfoService;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import com.gxmailu.ocrCloudPlatform.vo.ServerVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 服务器资源
*/
@RestController
@RequestMapping("server")
public class ServerInfoController {
@Autowired
private ServerInfoService serverInfoService;
/**
* 主列表分页
* @param serverVo 查询参数
* @return 结果
*/
@GetMapping("serverListPage")
public Result serverListPage(ServerVo serverVo){
return this.serverInfoService.serverListPage(serverVo);
}
/**
* 根据主键删除server信息
* @param serverId serverId
* @return 删除结果
*/
@PostMapping("deleteServer")
public Result deleteServer(@RequestParam String serverId){
Assert.notNull(serverId, "serverId不能为空!");
return this.serverInfoService.deleteServer(serverId);
}
/**
* 新增服务器资源
* @param serverVo 表单数据
* @return 新增结果
*/
@PostMapping("insertServer")
public Result insertServer(@RequestBody ServerVo serverVo){
//检查参数
this.checkParameter(serverVo);
ServerInfo serverInfo = new ServerInfo();
BeanUtils.copyProperties(serverVo, serverInfo);
return this.serverInfoService.insertServer(serverInfo);
}
/**
* 修改服务器资源
* @param serverVo 表单数据
* @return 修改结果
*/
@PostMapping("updateServer")
public Result updateServer(@RequestBody ServerVo serverVo){
//检查参数
this.checkParameter(serverVo);
ServerInfo serverInfo = new ServerInfo();
BeanUtils.copyProperties(serverVo, serverInfo);
return this.serverInfoService.updateServer(serverInfo);
}
/**
* 检查参数
*/
private void checkParameter(ServerVo serverVo){
if (serverVo.getServerId() == null) {
Assert.notNull(serverVo, "请求参数不能为空!");
Assert.hasLength(serverVo.getIp(), "服务器IP不能为空!");
Assert.notNull(serverVo.getOcrPort(), "OCR端口不能为空!");
Assert.hasLength(serverVo.getUsername(), "服务器登录名不能为空!");
Assert.hasLength(serverVo.getPassword(), "服务器登录密码不能为空!");
}
}
/**
* 根据serviceId查询
* @param serverId serverId
* @return 查询结果
*/
@GetMapping("selectByPrimaryKey")
public Result selectByPrimaryKey(Integer serverId){
Assert.notNull(serverId, "serverId不能为空!");
return this.serverInfoService.selectByPrimaryKey(serverId);
}
/**
* 获取服务器状态
* @return
*/
@GetMapping("getServerStatus")
public Result getServerStatus(){
return serverInfoService.getServerStatus();
}
/**
* 获取OCR任务
* @return
*/
@GetMapping("getOcrTask")
public Result getOcrTask(){
return serverInfoService.getOcrTask();
}
@RequestMapping("refreshCache")
public Result refreshCache(){
return serverInfoService.refreshCache();
}
@GetMapping("getCacheList")
public List<ServerInfo> getCacheList(){
return serverInfoService.getCacheList();
}
}
package com.gxmailu.ocrCloudPlatform.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@RestController
@RequestMapping("/user-role")
public class UserRoleController {
}
package com.gxmailu.ocrCloudPlatform.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* 页面跳转
*/
@Slf4j
@Controller
@RequestMapping("view")
public class ViewController {
/**
* 修改服务信息
*/
@RequestMapping("/server/editServer")
public String editServer(){
return "server/editServer";
}
/**
* 新增服务信息
*/
@RequestMapping("/server/addServer")
public String addServer(){
return "server/addServer";
}
/**
* 服务信息主页
*/
@RequestMapping("/server/serverList")
public String serverList(){
return "server/serverList";
}
/**
* 新增法院信息
*/
@RequestMapping({"/", "editCourt"})
public ModelAndView editCourt(){
return new ModelAndView("court/editCourt");
}
/**
* 新增法院信息
*/
@RequestMapping({"/", "addCourt"})
public ModelAndView addCourt(){
return new ModelAndView("court/addCourt");
}
/**
* 法院信息主页
*/
@RequestMapping({"/", "courtList"})
public ModelAndView courtList(){
return new ModelAndView("court/courtList");
}
/**
* 应用主页
*/
@RequestMapping({"/", "configAppList"})
public ModelAndView configAppList(){
return new ModelAndView("configAppView/configAppList");
}
/**
* 新增应用
*/
@RequestMapping({"/", "addConfigApp"})
public ModelAndView addConfigApp(){
return new ModelAndView("configAppView/addConfigApp");
}
/**
* 修改应用
*/
@RequestMapping({"/", "editConfigApp"})
public ModelAndView editConfigApp(){
return new ModelAndView("configAppView/editConfigApp");
}
}
package com.gxmailu.ocrCloudPlatform.dto;
import com.gxmailu.ocrCloudPlatform.entity.Message;
import com.gxmailu.ocrCloudPlatform.entity.UserMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class MessageDto extends Message {
private List<UserMessage> userMessages;
}
package com.gxmailu.ocrCloudPlatform.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
@ToString
public class RecordDto implements Serializable {
private static final long serialVersionUID = 1L;
private Integer courtId;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endTime;
private Long applicationId;
private String ipScope;
private Integer page;
private Integer size;
private Integer network;
}
package com.gxmailu.ocrCloudPlatform.dto;
import com.gxmailu.ocrCloudPlatform.entity.UserMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class UserMessageParam extends UserMessage {
private Integer page;
private Integer limit;
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 应用调用能力记录
* </p>
*
* @author zyz
* @since 2023-05-10
*/
@TableName("app_ability_record_4")
public class AppAbilityRecord4 implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 任务ID
*/
@TableField("task_id")
private String taskId;
/**
* 应用ID
*/
@TableField("application_id")
private Long applicationId;
/**
* 用户ID
*/
@TableField("user_id")
private Long userId;
/**
* 能力ID
*/
@TableField("ability_id")
private Long abilityId;
/**
* IP地址
*/
@TableField("ip")
private String ip;
/**
* 调用时间
*/
@TableField("call_time")
private LocalDateTime callTime;
/**
* 识别状态
*/
@TableField("ocr_state")
private Byte ocrState;
/**
* 客户端传的文件唯一标识
*/
@TableField("file_id")
private String fileId;
/**
* 待识别文件原始文件名
*/
@TableField("origin_name")
private String originName;
/**
* 待识别文件保存文件名
*/
@TableField("ocr_file_name")
private String ocrFileName;
/**
* 待识别文件url
*/
@TableField("src_url")
private String srcUrl;
/**
* 文件大小
*/
@TableField("length")
private Long length;
/**
* 文件CRC32校验码
*/
@TableField("crc32")
private Long crc32;
/**
* 文件的CheckSum
*/
@TableField("`checksum`")
private String checksum;
/**
* 识别结果
*/
@TableField("result")
private String result;
/**
* 结果类型
*/
@TableField("result_type")
private Integer resultType;
/**
* 识别结果保存路径
*/
@TableField("dst_url")
private String dstUrl;
/**
* 识别结果JSON文件url
*/
@TableField("jsons")
private String jsons;
/**
* 合并后双层PDF文件url
*/
@TableField("pdf")
private String pdf;
/**
* 是否需要回调通知结果
*/
@TableField("is_callback")
private Boolean isCallback;
/**
* 回调URL
*/
@TableField("callback_url")
private String callbackUrl;
/**
* 回调参数
*/
@TableField("callback_params")
private String callbackParams;
/**
* 创建时间
*/
@TableField("created_time")
private LocalDateTime createdTime;
/**
* 更新时间
*/
@TableField("updated_time")
private LocalDateTime updatedTime;
@TableField("server_ip")
private String serverIp;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public Long getApplicationId() {
return applicationId;
}
public void setApplicationId(Long applicationId) {
this.applicationId = applicationId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getAbilityId() {
return abilityId;
}
public void setAbilityId(Long abilityId) {
this.abilityId = abilityId;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public LocalDateTime getCallTime() {
return callTime;
}
public void setCallTime(LocalDateTime callTime) {
this.callTime = callTime;
}
public Byte getOcrState() {
return ocrState;
}
public void setOcrState(Byte ocrState) {
this.ocrState = ocrState;
}
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getOriginName() {
return originName;
}
public void setOriginName(String originName) {
this.originName = originName;
}
public String getOcrFileName() {
return ocrFileName;
}
public void setOcrFileName(String ocrFileName) {
this.ocrFileName = ocrFileName;
}
public String getSrcUrl() {
return srcUrl;
}
public void setSrcUrl(String srcUrl) {
this.srcUrl = srcUrl;
}
public Long getLength() {
return length;
}
public void setLength(Long length) {
this.length = length;
}
public Long getCrc32() {
return crc32;
}
public void setCrc32(Long crc32) {
this.crc32 = crc32;
}
public String getChecksum() {
return checksum;
}
public void setChecksum(String checksum) {
this.checksum = checksum;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public Integer getResultType() {
return resultType;
}
public void setResultType(Integer resultType) {
this.resultType = resultType;
}
public String getDstUrl() {
return dstUrl;
}
public void setDstUrl(String dstUrl) {
this.dstUrl = dstUrl;
}
public String getJsons() {
return jsons;
}
public void setJsons(String jsons) {
this.jsons = jsons;
}
public String getPdf() {
return pdf;
}
public void setPdf(String pdf) {
this.pdf = pdf;
}
public Boolean getIsCallback() {
return isCallback;
}
public void setIsCallback(Boolean isCallback) {
this.isCallback = isCallback;
}
public String getCallbackUrl() {
return callbackUrl;
}
public void setCallbackUrl(String callbackUrl) {
this.callbackUrl = callbackUrl;
}
public String getCallbackParams() {
return callbackParams;
}
public void setCallbackParams(String callbackParams) {
this.callbackParams = callbackParams;
}
public LocalDateTime getCreatedTime() {
return createdTime;
}
public void setCreatedTime(LocalDateTime createdTime) {
this.createdTime = createdTime;
}
public LocalDateTime getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(LocalDateTime updatedTime) {
this.updatedTime = updatedTime;
}
public String getServerIp() {
return serverIp;
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
@Override
public String toString() {
return "AppAbilityRecord4{" +
"id = " + id +
", taskId = " + taskId +
", applicationId = " + applicationId +
", userId = " + userId +
", abilityId = " + abilityId +
", ip = " + ip +
", callTime = " + callTime +
", ocrState = " + ocrState +
", fileId = " + fileId +
", originName = " + originName +
", ocrFileName = " + ocrFileName +
", srcUrl = " + srcUrl +
", length = " + length +
", crc32 = " + crc32 +
", checksum = " + checksum +
", result = " + result +
", resultType = " + resultType +
", dstUrl = " + dstUrl +
", jsons = " + jsons +
", pdf = " + pdf +
", isCallback = " + isCallback +
", callbackUrl = " + callbackUrl +
", callbackParams = " + callbackParams +
", createdTime = " + createdTime +
", updatedTime = " + updatedTime +
", serverIp = " + serverIp +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 应用调用能力记录
* </p>
*
* @author zyz
* @since 2023-05-12
*/
@TableName("app_ability_record_5")
public class AppAbilityRecord5 implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 任务ID
*/
@TableField("task_id")
private String taskId;
/**
* 应用ID
*/
@TableField("application_id")
private Long applicationId;
/**
* 用户ID
*/
@TableField("user_id")
private Long userId;
/**
* 能力ID
*/
@TableField("ability_id")
private Long abilityId;
/**
* IP地址
*/
@TableField("ip")
private String ip;
/**
* 调用时间
*/
@TableField("call_time")
private LocalDateTime callTime;
/**
* 识别状态
*/
@TableField("ocr_state")
private Byte ocrState;
/**
* 客户端传的文件唯一标识
*/
@TableField("file_id")
private String fileId;
/**
* 待识别文件原始文件名
*/
@TableField("origin_name")
private String originName;
/**
* 待识别文件保存文件名
*/
@TableField("ocr_file_name")
private String ocrFileName;
/**
* 待识别文件url
*/
@TableField("src_url")
private String srcUrl;
/**
* 文件大小
*/
@TableField("length")
private Long length;
/**
* 文件CRC32校验码
*/
@TableField("crc32")
private Long crc32;
/**
* 文件的CheckSum
*/
@TableField("`checksum`")
private String checksum;
/**
* 识别结果
*/
@TableField("result")
private String result;
/**
* 结果类型
*/
@TableField("result_type")
private Integer resultType;
/**
* 识别结果保存路径
*/
@TableField("dst_url")
private String dstUrl;
/**
* 识别结果JSON文件url
*/
@TableField("jsons")
private String jsons;
/**
* 合并后双层PDF文件url
*/
@TableField("pdf")
private String pdf;
/**
* 是否需要回调通知结果
*/
@TableField("is_callback")
private Boolean isCallback;
/**
* 回调URL
*/
@TableField("callback_url")
private String callbackUrl;
/**
* 回调参数
*/
@TableField("callback_params")
private String callbackParams;
/**
* 创建时间
*/
@TableField("created_time")
private LocalDateTime createdTime;
/**
* 更新时间
*/
@TableField("updated_time")
private LocalDateTime updatedTime;
@TableField("server_ip")
private String serverIp;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public Long getApplicationId() {
return applicationId;
}
public void setApplicationId(Long applicationId) {
this.applicationId = applicationId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getAbilityId() {
return abilityId;
}
public void setAbilityId(Long abilityId) {
this.abilityId = abilityId;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public LocalDateTime getCallTime() {
return callTime;
}
public void setCallTime(LocalDateTime callTime) {
this.callTime = callTime;
}
public Byte getOcrState() {
return ocrState;
}
public void setOcrState(Byte ocrState) {
this.ocrState = ocrState;
}
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getOriginName() {
return originName;
}
public void setOriginName(String originName) {
this.originName = originName;
}
public String getOcrFileName() {
return ocrFileName;
}
public void setOcrFileName(String ocrFileName) {
this.ocrFileName = ocrFileName;
}
public String getSrcUrl() {
return srcUrl;
}
public void setSrcUrl(String srcUrl) {
this.srcUrl = srcUrl;
}
public Long getLength() {
return length;
}
public void setLength(Long length) {
this.length = length;
}
public Long getCrc32() {
return crc32;
}
public void setCrc32(Long crc32) {
this.crc32 = crc32;
}
public String getChecksum() {
return checksum;
}
public void setChecksum(String checksum) {
this.checksum = checksum;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public Integer getResultType() {
return resultType;
}
public void setResultType(Integer resultType) {
this.resultType = resultType;
}
public String getDstUrl() {
return dstUrl;
}
public void setDstUrl(String dstUrl) {
this.dstUrl = dstUrl;
}
public String getJsons() {
return jsons;
}
public void setJsons(String jsons) {
this.jsons = jsons;
}
public String getPdf() {
return pdf;
}
public void setPdf(String pdf) {
this.pdf = pdf;
}
public Boolean getIsCallback() {
return isCallback;
}
public void setIsCallback(Boolean isCallback) {
this.isCallback = isCallback;
}
public String getCallbackUrl() {
return callbackUrl;
}
public void setCallbackUrl(String callbackUrl) {
this.callbackUrl = callbackUrl;
}
public String getCallbackParams() {
return callbackParams;
}
public void setCallbackParams(String callbackParams) {
this.callbackParams = callbackParams;
}
public LocalDateTime getCreatedTime() {
return createdTime;
}
public void setCreatedTime(LocalDateTime createdTime) {
this.createdTime = createdTime;
}
public LocalDateTime getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(LocalDateTime updatedTime) {
this.updatedTime = updatedTime;
}
public String getServerIp() {
return serverIp;
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
@Override
public String toString() {
return "AppAbilityRecord5{" +
"id = " + id +
", taskId = " + taskId +
", applicationId = " + applicationId +
", userId = " + userId +
", abilityId = " + abilityId +
", ip = " + ip +
", callTime = " + callTime +
", ocrState = " + ocrState +
", fileId = " + fileId +
", originName = " + originName +
", ocrFileName = " + ocrFileName +
", srcUrl = " + srcUrl +
", length = " + length +
", crc32 = " + crc32 +
", checksum = " + checksum +
", result = " + result +
", resultType = " + resultType +
", dstUrl = " + dstUrl +
", jsons = " + jsons +
", pdf = " + pdf +
", isCallback = " + isCallback +
", callbackUrl = " + callbackUrl +
", callbackParams = " + callbackParams +
", createdTime = " + createdTime +
", updatedTime = " + updatedTime +
", serverIp = " + serverIp +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 全部应用调用能力记录
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@TableName("app_ability_record_all")
public class AppAbilityRecordAll implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 任务ID
*/
@TableField("task_id")
private String taskId;
/**
* 应用ID
*/
@TableField("application_id")
private Long applicationId;
/**
* 用户ID
*/
@TableField("user_id")
private Long userId;
/**
* 能力ID
*/
@TableField("ability_id")
private Long abilityId;
/**
* IP地址
*/
@TableField("ip")
private String ip;
/**
* 调用时间
*/
@TableField("call_time")
private LocalDateTime callTime;
/**
* 识别状态
*/
@TableField("ocr_state")
private Byte ocrState;
/**
* 客户端传的文件唯一标识
*/
@TableField("file_id")
private String fileId;
/**
* 待识别文件原始文件名
*/
@TableField("origin_name")
private String originName;
/**
* 待识别文件保存文件名
*/
@TableField("ocr_file_name")
private String ocrFileName;
/**
* 待识别文件url
*/
@TableField("src_url")
private String srcUrl;
/**
* 文件大小
*/
@TableField("length")
private Long length;
/**
* 文件CRC32校验码
*/
@TableField("crc32")
private Long crc32;
/**
* 文件的CheckSum
*/
@TableField("`checksum`")
private String checksum;
/**
* 识别结果
*/
@TableField("result")
private String result;
/**
* 结果类型
*/
@TableField("result_type")
private Integer resultType;
/**
* 识别结果保存路径
*/
@TableField("dst_url")
private String dstUrl;
/**
* 识别结果JSON文件url
*/
@TableField("jsons")
private String jsons;
/**
* 合并后双层PDF文件url
*/
@TableField("pdf")
private String pdf;
/**
* 是否需要回调通知结果
*/
@TableField("is_callback")
private Boolean isCallback;
/**
* 回调URL
*/
@TableField("callback_url")
private String callbackUrl;
/**
* 回调参数
*/
@TableField("callback_params")
private String callbackParams;
/**
* 创建时间
*/
@TableField("created_time")
private LocalDateTime createdTime;
/**
* 更新时间
*/
@TableField("updated_time")
private LocalDateTime updatedTime;
@TableField("server_ip")
private String serverIp;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public Long getApplicationId() {
return applicationId;
}
public void setApplicationId(Long applicationId) {
this.applicationId = applicationId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getAbilityId() {
return abilityId;
}
public void setAbilityId(Long abilityId) {
this.abilityId = abilityId;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public LocalDateTime getCallTime() {
return callTime;
}
public void setCallTime(LocalDateTime callTime) {
this.callTime = callTime;
}
public Byte getOcrState() {
return ocrState;
}
public void setOcrState(Byte ocrState) {
this.ocrState = ocrState;
}
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getOriginName() {
return originName;
}
public void setOriginName(String originName) {
this.originName = originName;
}
public String getOcrFileName() {
return ocrFileName;
}
public void setOcrFileName(String ocrFileName) {
this.ocrFileName = ocrFileName;
}
public String getSrcUrl() {
return srcUrl;
}
public void setSrcUrl(String srcUrl) {
this.srcUrl = srcUrl;
}
public Long getLength() {
return length;
}
public void setLength(Long length) {
this.length = length;
}
public Long getCrc32() {
return crc32;
}
public void setCrc32(Long crc32) {
this.crc32 = crc32;
}
public String getChecksum() {
return checksum;
}
public void setChecksum(String checksum) {
this.checksum = checksum;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public Integer getResultType() {
return resultType;
}
public void setResultType(Integer resultType) {
this.resultType = resultType;
}
public String getDstUrl() {
return dstUrl;
}
public void setDstUrl(String dstUrl) {
this.dstUrl = dstUrl;
}
public String getJsons() {
return jsons;
}
public void setJsons(String jsons) {
this.jsons = jsons;
}
public String getPdf() {
return pdf;
}
public void setPdf(String pdf) {
this.pdf = pdf;
}
public Boolean getIsCallback() {
return isCallback;
}
public void setIsCallback(Boolean isCallback) {
this.isCallback = isCallback;
}
public String getCallbackUrl() {
return callbackUrl;
}
public void setCallbackUrl(String callbackUrl) {
this.callbackUrl = callbackUrl;
}
public String getCallbackParams() {
return callbackParams;
}
public void setCallbackParams(String callbackParams) {
this.callbackParams = callbackParams;
}
public LocalDateTime getCreatedTime() {
return createdTime;
}
public void setCreatedTime(LocalDateTime createdTime) {
this.createdTime = createdTime;
}
public LocalDateTime getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(LocalDateTime updatedTime) {
this.updatedTime = updatedTime;
}
public String getServerIp() {
return serverIp;
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
@Override
public String toString() {
return "AppAbilityRecordAll{" +
"id = " + id +
", taskId = " + taskId +
", applicationId = " + applicationId +
", userId = " + userId +
", abilityId = " + abilityId +
", ip = " + ip +
", callTime = " + callTime +
", ocrState = " + ocrState +
", fileId = " + fileId +
", originName = " + originName +
", ocrFileName = " + ocrFileName +
", srcUrl = " + srcUrl +
", length = " + length +
", crc32 = " + crc32 +
", checksum = " + checksum +
", result = " + result +
", resultType = " + resultType +
", dstUrl = " + dstUrl +
", jsons = " + jsons +
", pdf = " + pdf +
", isCallback = " + isCallback +
", callbackUrl = " + callbackUrl +
", callbackParams = " + callbackParams +
", createdTime = " + createdTime +
", updatedTime = " + updatedTime +
", serverIp = " + serverIp +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class ConfigAbility {
/**
* 能力ID
*/
private String id;
/**
* 能力名称
*/
private String name;
/**
* 上级ID
*/
private String parentId;
/**
* 能力编码
*/
private String code;
/**
* 对应的SDK卡证类型
*/
private String sdkType;
/**
* 描述
*/
private String description;
@DateTimeFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")
@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
@DateTimeFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")
@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss", timezone = "GMT+8")
private Date updatedTime;
private String createdBy;
private String updatedBy;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getSdkType() {
return sdkType;
}
public void setSdkType(String sdkType) {
this.sdkType = sdkType;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Date getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(Date updatedTime) {
this.updatedTime = updatedTime;
}
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public String getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
}
package com.gxmailu.ocrCloudPlatform.entity;
public class ConfigAppAbility {
/**
* 应用ID,config_application表id
*/
private Long applicationId;
/**
* 应用功能ID,config_ability表id
*/
private Long abilityId;
/**
* 是否生成pdf
*/
private Boolean createPdf;
public Long getApplicationId() {
return applicationId;
}
public void setApplicationId(Long applicationId) {
this.applicationId = applicationId;
}
public Long getAbilityId() {
return abilityId;
}
public void setAbilityId(Long abilityId) {
this.abilityId = abilityId;
}
public Boolean getCreatePdf() {
return createPdf;
}
public void setCreatePdf(Boolean createPdf) {
this.createPdf = createPdf;
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.util.Date;
public class ConfigApplication {
@TableId(value = "id", type = IdType.AUTO)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 应用ID
*/
private String appId;
/**
* 接入密钥
*/
private String appKey;
/**
* 应用/用户描述
*/
private String description;
/**
* 结束时间
*/
private Date endTime;
/**
* 未知
*/
private Integer priority;
/**
* 用户ID
*/
private Long userId;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 创建人
*/
private String createdBy;
/**
* 更新人
*/
private String updatedBy;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getAppKey() {
return appKey;
}
public void setAppKey(String appKey) {
this.appKey = appKey;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Date getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(Date updatedTime) {
this.updatedTime = updatedTime;
}
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public String getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
/**
* 这个字段主要是给分页动态更新操作按钮用的,不需要传递具体数据
*/
@TableField(exist = false)
private String operation;
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
* <p>
* 法庭表
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@TableName("court")
public class Court implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 地区行政代码
*/
@TableField("adcode")
private String adcode;
/**
* 全国法院代码
*/
@TableField("court_code")
private Integer courtCode;
/**
* 上级全国法院代码
*/
@TableField("parent_court_code")
private Integer parentCourtCode;
/**
* 分级码
*/
@TableField("classification_code")
private String classificationCode;
/**
* 法院名称
*/
@TableField("`name`")
private String name;
/**
* 门户ID
*/
@TableField("portal_id")
private Integer portalId;
/**
* 缩写
*/
@TableField("for_sort")
private String forSort;
/**
* 法院简称
*/
@TableField("short_name")
private String shortName;
/**
* 排序号
*/
@TableField("sort")
private Integer sort;
/**
* IP返回
*/
@TableField("ip_scope")
private String ipScope;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAdcode() {
return adcode;
}
public void setAdcode(String adcode) {
this.adcode = adcode;
}
public Integer getCourtCode() {
return courtCode;
}
public void setCourtCode(Integer courtCode) {
this.courtCode = courtCode;
}
public Integer getParentCourtCode() {
return parentCourtCode;
}
public void setParentCourtCode(Integer parentCourtCode) {
this.parentCourtCode = parentCourtCode;
}
public String getClassificationCode() {
return classificationCode;
}
public void setClassificationCode(String classificationCode) {
this.classificationCode = classificationCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPortalId() {
return portalId;
}
public void setPortalId(Integer portalId) {
this.portalId = portalId;
}
public String getForSort() {
return forSort;
}
public void setForSort(String forSort) {
this.forSort = forSort;
}
public String getShortName() {
return shortName;
}
public void setShortName(String shortName) {
this.shortName = shortName;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public String getIpScope() {
return ipScope;
}
public void setIpScope(String ipScope) {
this.ipScope = ipScope;
}
@Override
public String toString() {
return "Court{" +
"id = " + id +
", adcode = " + adcode +
", courtCode = " + courtCode +
", parentCourtCode = " + parentCourtCode +
", classificationCode = " + classificationCode +
", name = " + name +
", portalId = " + portalId +
", forSort = " + forSort +
", shortName = " + shortName +
", sort = " + sort +
", ipScope = " + ipScope +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.entity;
/**
* 调用记录导出实体
*/
public class DeriveCallRecord {
private String aName;
private String bDescription;
private String cAbilityName;
private String dCount;
public String getaName() {
return aName;
}
public void setaName(String aName) {
this.aName = aName;
}
public String getbDescription() {
return bDescription;
}
public void setbDescription(String bDescription) {
this.bDescription = bDescription;
}
public String getcAbilityName() {
return cAbilityName;
}
public void setcAbilityName(String cAbilityName) {
this.cAbilityName = cAbilityName;
}
public String getdCount() {
return dCount;
}
public void setdCount(String dCount) {
this.dCount = dCount;
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class Message {
private Integer messageId;
private String title;
private String body;
private String promulgator;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date pubDate;
private Integer sort;
public Integer getMessageId() {
return messageId;
}
public void setMessageId(Integer messageId) {
this.messageId = messageId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title == null ? null : title.trim();
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body == null ? null : body.trim();
}
public String getPromulgator() {
return promulgator;
}
public void setPromulgator(String promulgator) {
this.promulgator = promulgator == null ? null : promulgator.trim();
}
public Date getPubDate() {
return pubDate;
}
public void setPubDate(Date pubDate) {
this.pubDate = pubDate;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
}
\ No newline at end of file
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
* <p>
* 角色表
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@TableName("role")
public class Role implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("`name`")
private String name;
@TableField("name_zh")
private String nameZh;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNameZh() {
return nameZh;
}
public void setNameZh(String nameZh) {
this.nameZh = nameZh;
}
@Override
public String toString() {
return "Role{" +
"id = " + id +
", name = " + name +
", nameZh = " + nameZh +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
public class ServerInfo implements Serializable {
private Integer serverId;
private String name;
private String ip;
private Integer ocrPort;
private String username;
private String password;
private Boolean accessService;
@DateTimeFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")
@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
private String createdBy;
@DateTimeFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")
@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss", timezone = "GMT+8")
private Date updatedTime;
private String updatedBy;
//接入网络,0-内网,1-外网
private Integer network;
private Integer courtCode;
public ServerInfo() {
}
public ServerInfo(Boolean accessService) {
this.accessService = accessService;
}
/**
* 这个字段主要是给分页动态更新操作按钮用的,不需要传递具体数据
*/
@TableField(exist = false)
private String operation;
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}
package com.gxmailu.ocrCloudPlatform.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class UserMessage extends Message {
private Integer userMessageId;
private Integer messageId;
private String username;
private Boolean read;
private Integer userMessageSort;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createDateTime;
public Integer getUserMessageId() {
return userMessageId;
}
public void setUserMessageId(Integer userMessageId) {
this.userMessageId = userMessageId;
}
public Integer getMessageId() {
return messageId;
}
public void setMessageId(Integer messageId) {
this.messageId = messageId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
public Boolean getRead() {
return read;
}
public void setRead(Boolean read) {
this.read = read;
}
public Integer getUserMessageSort() {
return userMessageSort;
}
public void setUserMessageSort(Integer userMessageSort) {
this.userMessageSort = userMessageSort;
}
public Date getCreateDateTime() {
return createDateTime;
}
public void setCreateDateTime(Date createDateTime) {
this.createDateTime = createDateTime;
}
}
\ No newline at end of file
package com.gxmailu.ocrCloudPlatform.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@TableName("user_role")
public class UserRole implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("user_id")
private Integer userId;
@TableField("role_id")
private Integer roleId;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public Integer getRoleId() {
return roleId;
}
public void setRoleId(Integer roleId) {
this.roleId = roleId;
}
@Override
public String toString() {
return "UserRole{" +
"id = " + id +
", userId = " + userId +
", roleId = " + roleId +
"}";
}
}
package com.gxmailu.ocrCloudPlatform.handler;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
* 参数值错误
*
* @param e
* @return
*/
@ExceptionHandler({IllegalArgumentException.class})
public Result IllegalArgumentException(Exception e) {
log.error("触发异常拦截: " + e.getMessage(), e);
return Result.error(e.getMessage());
}
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord4;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/**
* <p>
* 应用调用能力记录 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-05-10
*/
@Mapper
@Component
public interface AppAbilityRecord4Mapper extends BaseMapper<AppAbilityRecord4> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord5;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/**
* <p>
* 应用调用能力记录 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-05-12
*/
@Mapper
@Component
public interface AppAbilityRecord5Mapper extends BaseMapper<AppAbilityRecord5> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll;
import com.gxmailu.ocrCloudPlatform.vo.BrokenLineData;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* <p>
* 全部应用调用能力记录 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@Mapper
@Component
public interface AppAbilityRecordAllMapper extends BaseMapper<AppAbilityRecordAll> {
List<BrokenLineData> selectBrokenLineData(String date);
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.ConfigAbility;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ConfigAbilityMapper extends BaseMapper<ConfigAbility> {
List<ConfigAbility> selectConfigAbilityByAppId(@Param("appId") String appId);
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.ConfigAppAbility;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ConfigAppAbilityMapper extends BaseMapper<ConfigAppAbility> {
Integer insertList(@Param("dataList")List<ConfigAppAbility> saveList);
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.ConfigApplication;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ConfigApplicationMapper extends BaseMapper<ConfigApplication> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.Court;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 法庭表 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-05-11
*/
@Mapper
public interface CourtMapper extends BaseMapper<Court> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface DeriveCallRecordMapper extends BaseMapper<DeriveCallRecord> {
List<DeriveCallRecord> selectCallRecord(@Param("yearMonthDay") String yearMonthDay, @Param("endYearMonthDay") String endYearMonthDay);
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.DoorUser;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 门户用户 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@Mapper
public interface DoorUserMapper extends BaseMapper<DoorUser> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.gxmailu.ocrCloudPlatform.entity.Message;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Mapper
@Component
public interface MessageMapper {
int deleteByPrimaryKey(Integer messageId);
int insert(Message record);
int insertSelective(Message record);
Message selectByPrimaryKey(Integer messageId);
int updateByPrimaryKeySelective(Message record);
int updateByPrimaryKey(Message record);
}
\ No newline at end of file
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.Role;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 角色表 Mapper 接口
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@Mapper
public interface RoleMapper extends BaseMapper<Role> {
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.ServerInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
@Mapper
@Component
public interface ServerInfoMapper extends BaseMapper<ServerInfo> {
int deleteByPrimaryKey(Integer serverId);
int insert(ServerInfo record);
int insertSelective(ServerInfo record);
ServerInfo selectByPrimaryKey(Integer serverId);
int updateByPrimaryKeySelective(ServerInfo record);
int updateByPrimaryKey(ServerInfo record);
List<ServerInfo> selectList(ServerInfo serverInfo);
List<ServerInfo> selectListByNetwork(Integer network);
}
package com.gxmailu.ocrCloudPlatform.mapper;
import com.gxmailu.ocrCloudPlatform.dto.UserMessageParam;
import com.gxmailu.ocrCloudPlatform.entity.UserMessage;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
@Mapper
@Component
public interface UserMessageMapper {
int deleteByPrimaryKey(Integer userMessageId);
int insert(UserMessage record);
int insertSelective(UserMessage record);
UserMessage selectByPrimaryKey(Integer userMessageId);
int updateByPrimaryKeySelective(UserMessage record);
int updateByPrimaryKey(UserMessage record);
List<UserMessage> selectByUserMessage(UserMessage userMessage);
List<UserMessage> selectByUserMessageParam(UserMessageParam userMessageParam);
}
\ No newline at end of file
package com.gxmailu.ocrCloudPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxmailu.ocrCloudPlatform.entity.UserRole;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@Mapper
public interface UserRoleMapper extends BaseMapper<UserRole> {
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord4;
import com.gxmailu.ocrCloudPlatform.vo.Result;
/**
* <p>
* 应用调用能力记录 服务类
* </p>
*
* @author zyz
* @since 2023-05-10
*/
public interface AppAbilityRecord4Service extends IService<AppAbilityRecord4> {
Result queryRecord4ById(String id);
Result updateRecord4(AppAbilityRecord4 appAbilityRecord4);
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord5;
/**
* <p>
* 应用调用能力记录 服务类
* </p>
*
* @author zyz
* @since 2023-05-12
*/
public interface AppAbilityRecord5Service extends IService<AppAbilityRecord5> {
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.dto.RecordDto;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecordAll;
import com.gxmailu.ocrCloudPlatform.entity.DeriveCallRecord;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import java.util.List;
/**
* <p>
* 全部应用调用能力记录 服务类
* </p>
*
* @author zyz
* @since 2023-05-11
*/
public interface AppAbilityRecordAllService extends IService<AppAbilityRecordAll> {
List<DeriveCallRecord> selectCallRecord(String yearMonthDay, String endYearMonthDay);
Result addRecord(AppAbilityRecordAll recordAll);
Object getList(RecordDto recordDto);
Object getCourtUseSum();
Object getCourtUseInYear(Integer year,String courtName);
Object getCourtUseInMonth(Integer year,Integer month,String courtName);
Object getCourtUseInDay(Integer year,Integer month,Integer day,String courtName);
Result getCorrelationData(String day1, String day2);
Result getBrokenLineData(String date);
}
package com.gxmailu.ocrCloudPlatform.service;
import com.gxmailu.ocrCloudPlatform.entity.ConfigAbility;
import java.util.List;
public interface ConfigAbilityService {
List<ConfigAbility> selectConfigAbilityByAppId(String appId);
List<ConfigAbility> selectAll();
}
package com.gxmailu.ocrCloudPlatform.service;
public interface ConfigAppAbilityService {
}
package com.gxmailu.ocrCloudPlatform.service;
import com.gxmailu.ocrCloudPlatform.vo.ConfigApplicationVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
public interface ConfigApplicationService {
Result queryConfigAppById(String id);
Result updateConfigAppById(ConfigApplicationVO configAppVo);
Result configApplicationPage(ConfigApplicationVO configAppVo);
Result insertConfigApp(ConfigApplicationVO configAppVo);
}
package com.gxmailu.ocrCloudPlatform.service;
import com.gxmailu.ocrCloudPlatform.vo.CourtVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
public interface CourtService {
Result courtPage(CourtVO courtVO);
Result queryCourtById(String id);
Result updateCourt(CourtVO courtVO);
Result insertCourt(CourtVO courtVO);
Result getAllCourt();
Result getCourtInfo(String courtCode);
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.entity.DoorUser;
/**
* <p>
* 门户用户 服务类
* </p>
*
* @author zyz
* @since 2023-06-19
*/
public interface DoorUserService extends IService<DoorUser> {
}
package com.gxmailu.ocrCloudPlatform.service;
import com.alibaba.fastjson.JSONObject;
import com.gxmailu.ocrCloudPlatform.dto.MessageDto;
import com.gxmailu.ocrCloudPlatform.dto.UserMessageParam;
import com.gxmailu.ocrCloudPlatform.entity.UserMessage;
import com.gxmailu.ocrCloudPlatform.vo.Result;
public interface MessageService {
Result getUserMessages(UserMessage userMessage);
Result addMessage(MessageDto messageDto);
Result updateUserMessage(UserMessage userMessage);
Result getMyMessageList(UserMessageParam userMessageParam);
Result alertManagerMsg(JSONObject object);
Object sendMessage(JSONObject object);
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.entity.Role;
/**
* <p>
* 角色表 服务类
* </p>
*
* @author zyz
* @since 2023-06-19
*/
public interface RoleService extends IService<Role> {
}
package com.gxmailu.ocrCloudPlatform.service;
import com.gxmailu.ocrCloudPlatform.entity.ServerInfo;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import com.gxmailu.ocrCloudPlatform.vo.ServerVo;
import java.util.List;
public interface ServerInfoService {
Result serverListPage(ServerVo serverVo);
Result insertServer(ServerInfo serverInfo);
Result updateServer(ServerInfo serverInfo);
Result selectByPrimaryKey(Integer serverId);
Result getServerStatus();
Result deleteServer(String serverId);
Result getOcrTask();
Result refreshCache();
List<ServerInfo> getCacheList();
}
package com.gxmailu.ocrCloudPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxmailu.ocrCloudPlatform.entity.UserRole;
/**
* <p>
* 服务类
* </p>
*
* @author zyz
* @since 2023-06-19
*/
public interface UserRoleService extends IService<UserRole> {
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord4;
import com.gxmailu.ocrCloudPlatform.mapper.AppAbilityRecord4Mapper;
import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecord4Service;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* <p>
* 应用调用能力记录 服务实现类
* </p>
*
* @author zyz
* @since 2023-05-10
*/
@Service
@Slf4j
public class AppAbilityRecord4ServiceImpl extends ServiceImpl<AppAbilityRecord4Mapper, AppAbilityRecord4> implements AppAbilityRecord4Service {
@Autowired
private AppAbilityRecord4Mapper record4Mapper;
@Override
public Result queryRecord4ById(String id) {
AppAbilityRecord4 result = this.record4Mapper.selectById(id);
return result != null ? Result.success("查询成功", result) : Result.error("未找到相关数据");
}
@Override
public Result updateRecord4(AppAbilityRecord4 appAbilityRecord4) {
try {
if (record4Mapper.updateById(appAbilityRecord4) > 0) {
return Result.success("", record4Mapper.selectById(appAbilityRecord4.getId()));
}
return Result.error("修改失败");
} catch (Exception e) {
log.error("修改数据发生异常!", e);
return Result.error("修改数据发生异常!");
}
}
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxmailu.ocrCloudPlatform.entity.AppAbilityRecord5;
import com.gxmailu.ocrCloudPlatform.mapper.AppAbilityRecord5Mapper;
import com.gxmailu.ocrCloudPlatform.service.AppAbilityRecord5Service;
import org.springframework.stereotype.Service;
/**
* <p>
* 应用调用能力记录 服务实现类
* </p>
*
* @author zyz
* @since 2023-05-12
*/
@Service
public class AppAbilityRecord5ServiceImpl extends ServiceImpl<AppAbilityRecord5Mapper, AppAbilityRecord5> implements AppAbilityRecord5Service {
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gxmailu.ocrCloudPlatform.entity.ConfigAbility;
import com.gxmailu.ocrCloudPlatform.mapper.ConfigAbilityMapper;
import com.gxmailu.ocrCloudPlatform.service.ConfigAbilityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ConfigAbilityServiceImpl implements ConfigAbilityService {
@Autowired
private ConfigAbilityMapper configAbilityMapper;
@Override
public List<ConfigAbility> selectConfigAbilityByAppId(String appId) {
return this.configAbilityMapper.selectConfigAbilityByAppId(appId);
}
@Override
public List<ConfigAbility> selectAll() {
return this.configAbilityMapper.selectList(new QueryWrapper<>());
}
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.gxmailu.ocrCloudPlatform.service.ConfigAppAbilityService;
import org.springframework.stereotype.Service;
@Service
public class ConfigAppAbilityServiceImpl implements ConfigAppAbilityService {
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gxmailu.ocrCloudPlatform.entity.ConfigAppAbility;
import com.gxmailu.ocrCloudPlatform.entity.ConfigApplication;
import com.gxmailu.ocrCloudPlatform.mapper.ConfigAppAbilityMapper;
import com.gxmailu.ocrCloudPlatform.mapper.ConfigApplicationMapper;
import com.gxmailu.ocrCloudPlatform.service.ConfigApplicationService;
import com.gxmailu.ocrCloudPlatform.utils.DateUtils;
import com.gxmailu.ocrCloudPlatform.vo.ConfigApplicationVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thymeleaf.util.ListUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
public class ConfigApplicationServiceImpl implements ConfigApplicationService {
@Autowired
private ConfigApplicationMapper configApplicationMapper;
@Autowired
private ConfigAppAbilityMapper configAppAbilityMapper;
@Override
public Result queryConfigAppById(String id) {
try {
ConfigApplication result = this.configApplicationMapper.selectById(id);
if (result != null) {
ConfigApplicationVO vo = new ConfigApplicationVO();
BeanUtils.copyProperties(result, vo);
vo.setEndTimeStr(DateUtils.dateToStringShort(result.getEndTime()));
//查询关联应用
List<ConfigAppAbility> abilities = this.configAppAbilityMapper.selectList(new QueryWrapper<ConfigAppAbility>().eq("application_id", id));
if (!ListUtils.isEmpty(abilities)) {
List<String> configAbilityIds = abilities.stream().map(ConfigAppAbility::getAbilityId).distinct().collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
//设置返回
vo.setConfigAbilityIds(configAbilityIds);
}
return Result.success("查询成功", vo);
}
} catch (Exception e) {
log.error("查询应用信息发生异常!", e);
return Result.serverError("查询失败");
}
return Result.error("未找到相关数据");
}
@Override
public Result updateConfigAppById(ConfigApplicationVO configAppVo) {
ConfigApplication info = new ConfigApplication();
BeanUtils.copyProperties(configAppVo, info);
info.setUpdatedTime(new Date());
try {
int result = this.configApplicationMapper.updateById(info);
if (result > 0) {
//直接删掉旧的重新新增
//先删除
this.configAppAbilityMapper.delete(new QueryWrapper<ConfigAppAbility>().eq("application_id", configAppVo.getId()));
//再新增
this.batchSaveConfigAppAbility(configAppVo, info.getId());
return Result.success("修改成功", configAppVo);
}
} catch (Exception e) {
log.error("修改应用信息发生异常!", e);
return Result.serverError("修改失败", configAppVo);
}
return Result.error("修改失败", configAppVo);
}
/**
* 保存应用功能关联信息
*
* @param configAppVo 表单数据
*/
private void batchSaveConfigAppAbility(ConfigApplicationVO configAppVo, Long applicationId) {
List<String> configAbilityIds = configAppVo.getConfigAbilityIds();
if (!ListUtils.isEmpty(configAbilityIds)) {
//有数据,新增
List<ConfigAppAbility> saveList = new ArrayList<>();
for (String abilityId : configAbilityIds) {
ConfigAppAbility configAppAbility = new ConfigAppAbility();
configAppAbility.setApplicationId(applicationId);
configAppAbility.setAbilityId(Long.parseLong(abilityId));
configAppAbility.setCreatePdf(true);
saveList.add(configAppAbility);
}
//批量保存
this.configAppAbilityMapper.insertList(saveList);
}
}
@Override
public Result configApplicationPage(ConfigApplicationVO configAppVo) {
Page<ConfigApplication> page = new Page<>();
page.setSize(configAppVo.getLimit());
page.setCurrent(configAppVo.getPage());
//设置查询参数
QueryWrapper<ConfigApplication> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotEmpty(configAppVo.getAppId())) {
queryWrapper.like("app_id", configAppVo.getAppId());
}
if (StringUtils.isNotEmpty(configAppVo.getCreatedTimeStr())) {
queryWrapper.like("created_time", configAppVo.getCreatedTimeStr());
}
if (StringUtils.isNotEmpty(configAppVo.getEndTimeStr())) {
queryWrapper.like("end_time", configAppVo.getEndTimeStr());
}
if (StringUtils.isNotEmpty(configAppVo.getDescription())) {
queryWrapper.like("description", configAppVo.getDescription());
}
queryWrapper.orderBy(true, false, "created_time");
try {
//查询总数
IPage<ConfigApplication> pageResult = this.configApplicationMapper.selectPage(page, queryWrapper);
//layui列表要求查詢成功的code必须是0,非0都会被认为是查询失败
return new Result(true, 0, "查询成功", pageResult.getTotal(), pageResult.getRecords());
} catch (Exception e) {
log.error("查询应用信息分页你发生异常!", e);
return Result.serverError("查询失败");
}
}
@Override
public Result insertConfigApp(ConfigApplicationVO configAppVo) {
ConfigApplication info = new ConfigApplication();
BeanUtils.copyProperties(configAppVo, info);
info.setCreatedTime(new Date());
int result;
try {
result = this.configApplicationMapper.insert(info);
if (result >= 1) {
//保存应用功能关联
this.batchSaveConfigAppAbility(configAppVo, info.getId());
}
} catch (Exception e) {
log.error("新增应用信息发生异常!", e);
return Result.serverError("新增失败");
}
return result >= 1 ? Result.success("新增成功") : Result.error("新增失败");
}
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gxmailu.ocrCloudPlatform.entity.Court;
import com.gxmailu.ocrCloudPlatform.mapper.CourtMapper;
import com.gxmailu.ocrCloudPlatform.service.CourtService;
import com.gxmailu.ocrCloudPlatform.vo.CourtVO;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class CourtServiceImpl implements CourtService {
@Autowired
private CourtMapper courtMapper;
@Override
public Result courtPage(CourtVO courtVO) {
//设置分页信息
Page<Court> page = new Page<>();
page.setCurrent(courtVO.getPage());
page.setSize(courtVO.getLimit());
//设置查询条件
QueryWrapper<Court> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotEmpty(courtVO.getAdcode())) {
queryWrapper.like("adcode", courtVO.getAdcode());
}
if (courtVO.getCourtCode() != null && !"".equals(courtVO.getCourtCode().toString())) {
queryWrapper.like("court_code", courtVO.getCourtCode());
}
if (StringUtils.isNotEmpty(courtVO.getName())) {
queryWrapper.like("name", courtVO.getName());
}
try {
Page<Court> pageResult = this.courtMapper.selectPage(page, queryWrapper);
if (pageResult.getRecords() != null && pageResult.getRecords().size() > 0) {
return new Result(true, 0, "查询成功", pageResult.getTotal(), pageResult.getRecords());
}
} catch (Exception e) {
log.error("查询法院信息分页发生异常!", e);
return Result.serverError("查询失败");
}
return Result.error("未找到相关数据");
}
@Override
public Result queryCourtById(String id) {
try {
Court result = this.courtMapper.selectById(id);
if (result != null) {
return Result.success("查询成功", result);
}
} catch (Exception e) {
log.error("查询法院信息发生异常!", e);
return Result.serverError("查询失败");
}
return Result.error("未找到相关数据");
}
@Override
public Result updateCourt(CourtVO courtVO) {
Court court = new Court();
BeanUtils.copyProperties(courtVO, court);
try {
int result = this.courtMapper.updateById(court);
if (result >= 1) {
return Result.success("修改成功");
}
} catch (Exception e) {
log.error("修改法院信息发生异常!", e);
return Result.serverError("修改失败");
}
return Result.error("修改失败");
}
@Override
public Result insertCourt(CourtVO courtVO) {
Court court = new Court();
BeanUtils.copyProperties(courtVO, court);
try {
int result = this.courtMapper.insert(court);
if (result >= 1) {
return Result.success("新增成功");
}
} catch (Exception e) {
log.error("新增法院信息发生异常!", e);
return Result.serverError("新增失败");
}
return Result.error("新增失败");
}
@Override
public Result getAllCourt() {
Court court = new Court();
court.setId(0);
court.setName("全部");
List<Court> courts = courtMapper.selectList(new QueryWrapper<>());
courts.add(0,court);
return Result.success("",courts);
}
@Override
public Result getCourtInfo(String courtCode) {
if (StringUtils.isNotEmpty(courtCode) && !courtCode.equals("2750")) {
List<Court> courts = courtMapper.selectList(new LambdaQueryWrapper<Court>().eq(Court::getCourtCode, courtCode));
return Result.success("",courts);
}
return getAllCourt();
}
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxmailu.ocrCloudPlatform.entity.DoorUser;
import com.gxmailu.ocrCloudPlatform.mapper.DoorUserMapper;
import com.gxmailu.ocrCloudPlatform.service.DoorUserService;
import org.springframework.stereotype.Service;
/**
* <p>
* 门户用户 服务实现类
* </p>
*
* @author zyz
* @since 2023-06-19
*/
@Service
public class DoorUserServiceImpl extends ServiceImpl<DoorUserMapper, DoorUser> implements DoorUserService {
}
package com.gxmailu.ocrCloudPlatform.service.impl;
import cn.hutool.core.codec.Base64;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.base.Joiner;
import com.gxmailu.ocrCloudPlatform.dto.MessageDto;
import com.gxmailu.ocrCloudPlatform.dto.UserMessageParam;
import com.gxmailu.ocrCloudPlatform.entity.*;
import com.gxmailu.ocrCloudPlatform.mapper.*;
import com.gxmailu.ocrCloudPlatform.service.MessageService;
import com.gxmailu.ocrCloudPlatform.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
@Slf4j
public class MessageServiceImpl implements MessageService {
@Autowired
private MessageMapper messageMapper;
@Autowired
private UserMessageMapper userMessageMapper;
@Autowired
private DoorUserMapper doorUserMapper;
@Autowired
private UserRoleMapper userRoleMapper;
@Autowired
private RoleMapper roleMapper;
@Value("${SMS.url}")
private String SMSUrl;
@Value("${SMS.appid}")
private String SMSAppId;
@Value("${SMS.appkey}")
private String SMSAppKey;
@Override
public Result getUserMessages(UserMessage userMessage) {
if (StringUtils.isEmpty(userMessage.getUsername())) {
return Result.requestError("用户名 [username] 不能为空");
}
try {
List<UserMessage> userMessageList = userMessageMapper.selectByUserMessage(userMessage);
return Result.success("获取成功", userMessageList);
} catch (Exception e) {
log.error("接口异常", e);
return Result.error("接口异常", e.getMessage());
}
}
@Transactional
@Override
public Result addMessage(MessageDto messageDto) {
if (StringUtils.isEmpty(messageDto.getTitle())) {
return Result.requestError("标题 [title] 不能为空");
}
if (StringUtils.isEmpty(messageDto.getBody())) {
return Result.requestError("内容 [body] 不能为空");
}
if (StringUtils.isEmpty(messageDto.getPromulgator())) {
return Result.requestError("发布者 [promulgator] 不能为空");
}
try {
System.out.println(JSONObject.toJSONString(messageDto));
int i = messageMapper.insertSelective(messageDto);
System.out.println(JSONObject.toJSONString(messageDto));
if (i == 1) {
for (UserMessage userMessage : messageDto.getUserMessages()) {
userMessage.setMessageId(messageDto.getMessageId());
userMessage.setCreateDateTime(new Date());
userMessageMapper.insertSelective(userMessage);
}
return Result.success();
} else {
return Result.error("添加消息失败");
}
} catch (Exception e) {
log.error("接口异常", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.error("接口异常", e.getMessage());
}
}
@Override
public Result updateUserMessage(UserMessage userMessage) {
if (Objects.isNull(userMessage.getUserMessageId())) {
return Result.requestError("用户消息ID [userMessageId] 不能为空");
}
try {
int i = userMessageMapper.updateByPrimaryKeySelective(userMessage);
if (i == 1) {
return Result.success("修改成功");
}
return Result.error("修改失败");
} catch (Exception e) {
log.error("接口异常", e);
return Result.error("接口异常", e.getMessage());
}
}
@Override
public Result getMyMessageList(UserMessageParam userMessageParam) {
if (StringUtils.isEmpty(userMessageParam.getUsername())) {
return Result.requestError("用户名 [username] 不能为空");
}
try {
if (Objects.isNull(userMessageParam.getPage())) {
userMessageParam.setPage(1);
}
if (Objects.isNull(userMessageParam.getLimit())) {
userMessageParam.setLimit(10);
}
PageHelper.startPage(userMessageParam.getPage(), userMessageParam.getLimit());
List<UserMessage> userMessages = userMessageMapper.selectByUserMessageParam(userMessageParam);
PageInfo<UserMessage> pageInfo = new PageInfo<>(userMessages);
return Result.success("获取成功", pageInfo);
} catch (Exception e) {
log.error("接口异常", e);
return Result.error("接口异常", e.getMessage());
}
}
@Override
public Result alertManagerMsg(JSONObject object) {
log.warn("服务器告警信息:{}", object);
try {
JSONObject alerts = object.getJSONArray("alerts").getJSONObject(0);
String title = alerts.getJSONObject("labels").getString("alertname");
String body = alerts.getJSONObject("annotations").getString("summary");
String dateStr = alerts.getString("startsAt");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = df.parse(dateStr);
Message dto = new Message();
dto.setTitle(title);
dto.setBody(body);
dto.setPubDate(date);
dto.setPromulgator("yuyinshibie@gxfy.com");
messageMapper.insertSelective(dto);
UserMessage userMessage = new UserMessage();
userMessage.setMessageId(dto.getMessageId());
userMessage.setUsername(dto.getPromulgator());
userMessage.setCreateDateTime(dto.getPubDate());
userMessageMapper.insertSelective(userMessage);
sendFaultMessage(dto);
return Result.success();
} catch (Exception e) {
log.error("处理告警信息发生异常!", e);
return Result.error(e);
}
}
@Override
public Object sendMessage(JSONObject object) {
try {
log.info("短信发送明文参数:{}", object);
Assert.notNull(object, "短信参数不能为空!");
JSONArray phones = object.getJSONArray("phones");
Assert.notEmpty(phones, "至少传一个手机号!");
String content = object.getString("content");
Assert.hasText(content, "短信内容不能为空!");
String fromId = object.getString("fromId");
Assert.hasText(fromId, "来源标识不能为空!");
String phonesStr = Joiner.on(",").join(phones);
object.put("phones", Base64.encode(phonesStr));
object.put("fromId", Base64.encode(fromId));
object.put("content", Base64.encode(content));
JSONObject data = new JSONObject();
data.put("data", Base64.encode(object.toJSONString()));
log.info("短信发送加密参数:{}", data);
String body = HttpRequest.post(SMSUrl)
.header("APP_ID", Base64.encode(SMSAppId))
.header("APP_KEY", Base64.encode(SMSAppKey))
.body(data.toJSONString(), "application/json")
.execute().body();
log.info("短信发送结果:{}", body);
return JSONObject.parseObject(body);
} catch (HttpException e) {
log.error("短信发送异常!", e);
return Result.error("短信发送异常!");
}
}
// 发送故障信息给相关人员
private void sendFaultMessage(Message message) {
Role role = roleMapper.selectOne(new LambdaQueryWrapper<Role>().eq(Role::getName, "inform"));
if (role == null) {
log.warn("未找到故障通知人员角色【inform】,请先创建角色。");
return;
}
List<UserRole> userRoles = userRoleMapper.selectList(new LambdaQueryWrapper<UserRole>().eq(UserRole::getRoleId, role.getId()));
if (userRoles == null || userRoles.size() == 0) {
log.warn("请至少关联一名人员为故障通知人员【inform】。");
return;
}
List<Integer> userIds = new ArrayList<>();
for (UserRole userRole : userRoles) {
userIds.add(userRole.getUserId());
}
List<DoorUser> doorUsers = doorUserMapper.selectList(new LambdaQueryWrapper<DoorUser>().in(DoorUser::getId, userIds));
JSONObject object = new JSONObject();
JSONArray phones = new JSONArray();
for (DoorUser doorUser : doorUsers) {
if (StringUtils.hasText(doorUser.getSjhm())) {
phones.add(doorUser.getSjhm());
}
}
object.put("phones", phones);
object.put("fromId", "ocr云平台");
object.put("content", message.getPubDate() + "\r\n" + message.getTitle() + "\r\n" + message.getBody());
sendMessage(object);
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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