提交 b1987d19 authored 作者: 顾青山's avatar 顾青山

init

上级
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
<?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>
<groupId>org.aircas</groupId>
<artifactId>entity-list</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>entity-list</name>
<description>entity-list</description>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>3.0.2</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>mysql</groupId>-->
<!-- <artifactId>mysql-connector-java</artifactId>-->
<!-- </dependency>-->
<!-- 达梦依赖 -->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>Dm8JdbcDriver18</artifactId>
<version>8.1.1.49</version>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmDialect-for-hibernate6.1</artifactId>
<version>8.1.4.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>org.aircas.entitylist.EntityListApplication</mainClass>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>
package org.aircas.entitylist;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class EntityListApplication {
public static void main(String[] args) {
SpringApplication.run(EntityListApplication.class, args);
}
}
package org.aircas.entitylist.controller;
import jakarta.annotation.Resource;
import org.aircas.entitylist.entity.DEvent;
import org.aircas.entitylist.entity.DTO.DEventDTO;
import org.aircas.entitylist.service.EntityListService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
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.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/application_system")
public class EntityListController {
private static final String Event_Type = "实体清单";
@Resource
private EntityListService entityListService;
@GetMapping("/risk_list")
public Page<DEventDTO> getRiskList(@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "10") int size,
@RequestParam(defaultValue = "id") String sortBy) {
// 仅查询`event_type`为`实体清单`的事件
DEvent dEvent = new DEvent();
dEvent.setEventType(Event_Type);
Pageable pageable = PageRequest.of(page, size, Sort.by(sortBy));
Page<DEvent> riskList = entityListService.getRiskList(dEvent, pageable);
return riskList.map(DEventDTO::new);
}
}
package org.aircas.entitylist.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name = "D_ADDRESS")
public class DAddress {
@Id
private String id;
// 地址原始内容
@Column(name = "text", columnDefinition = "TEXT")
private String text;
// 地址_中文
@Column(name = "text_zh", columnDefinition = "TEXT")
private String text_zh;
// 城市
private String city;
// 城市_中文
private String city_zh;
// 省份
private String province;
// 省份_中文
private String province_zh;
// 国家
private String country;
// 国家_中文
private String country_zh;
// 地址对应的实体编号
private String entity_id;
// 实体所处的清单类别
private String type;
// 创建时间
private LocalDateTime createdTime;
}
package org.aircas.entitylist.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name = "D_ALIASES")
public class DAlias {
@Id
private String id;
// 别名名称
private String name;
// 别名名称_中文
private String name_zh;
// 实体所处的清单类别
private String type;
// 实体id
private String entity_id;
// 创建时间
private LocalDateTime createdTime;
}
package org.aircas.entitylist.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name = "D_DOMAIN")
public class DDomain {
@Id
private String id;
private String name;
private String entity_id;
private String type;
private LocalDateTime createdTime;
}
package org.aircas.entitylist.entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@jakarta.persistence.Entity
@Table(name = "D_ENTITIES")
public class DEntity {
@Id
private String id;
// 实体名称
private String name;
// 实体名称_中文
private String name_zh;
// 实体类型
private String entity_type;
// 事件id
private String event_id;
// 制裁原因
private String sanction_reason;
// 国家
private String country;
// 发布时间
private String postDate;
// 状态
private String status;
// 创建时间
private LocalDateTime createdTime;
// 实体id
private String entityId;
}
package org.aircas.entitylist.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name = "D_EVENTS")
public class DEvent {
@Id
private String id;
// 事件标题
@Column(name = "title", columnDefinition = "TEXT")
private String title;
// 事件标题_英文
@Column(name = "title_en", columnDefinition = "TEXT")
private String title_en;
// 种类,目前只有RULE
private String type;
// 摘要
@Column(name = "abstract", columnDefinition = "TEXT")
private String eventAbstract;
// 发布时间
private String postDate;
// 实体所处的清单类别
private String eventType;
// 创建时间
private LocalDateTime createdTime;
}
package org.aircas.entitylist.entity.DTO;
import lombok.Data;
import org.aircas.entitylist.entity.DEvent;
@Data
public class DEventDTO {
private String event_id;
private String title;
private String title_en;
private String type;
private String date;
public DEventDTO(DEvent event) {
this.event_id = event.getId();
this.title = event.getTitle();
this.title_en = event.getTitle_en();
this.type = event.getEventType();
this.date = event.getPostDate();
}
}
package org.aircas.entitylist.repository;
import org.aircas.entitylist.entity.DEvent;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
@Repository
public interface DEventRepository extends JpaRepository<DEvent, String>, JpaSpecificationExecutor<DEvent> {
}
package org.aircas.entitylist.service;
import org.aircas.entitylist.entity.DEvent;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface EntityListService {
Page<DEvent> getRiskList(DEvent dEvent, Pageable pageable);
}
package org.aircas.entitylist.service.serviceImpl;
import jakarta.annotation.Resource;
import org.aircas.entitylist.entity.DEvent;
import org.aircas.entitylist.repository.DEventRepository;
import org.aircas.entitylist.service.EntityListService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import jakarta.persistence.criteria.Predicate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class EntityListServiceImpl implements EntityListService {
@Resource
private DEventRepository dEventRepository;
@Override
public Page<DEvent> getRiskList(DEvent dEvent, Pageable pageable) {
Specification<DEvent> specification = (root, query, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
if (dEvent.getTitle() != null) {
predicates.add(criteriaBuilder.like(root.get("title"), "%" + dEvent.getTitle() + "%"));
}
if (dEvent.getTitle_en() != null) {
predicates.add(criteriaBuilder.like(root.get("title_en"), "%" + dEvent.getTitle_en() + "%"));
}
if (dEvent.getEventType() != null) {
predicates.add(criteriaBuilder.equal(root.get("eventType"), dEvent.getEventType()));
}
if (dEvent.getPostDate() != null) {
predicates.add(criteriaBuilder.equal(root.get("postDate"), dEvent.getPostDate()));
}
if (dEvent.getType() != null) {
predicates.add(criteriaBuilder.equal(root.get("type"), dEvent.getType()));
}
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
};
return dEventRepository.findAll(specification, pageable);
}
}
# application.yml
spring:
datasource:
url: jdbc:dm://8.140.26.4:10001?SCHEMA=PROCESS_DB
username: IECAS
password: Aircas.123
driver-class-name: dm.jdbc.driver.DmDriver
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.DmDialect
hibernate:
ddl-auto: update
show-sql: true
\ No newline at end of file
package org.aircas.entitylist;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DEntityListApplicationTests {
@Test
void contextLoads() {
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论