first commit
This commit is contained in:
13
jar-enginex-manager/.gitignore
vendored
Normal file
13
jar-enginex-manager/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
.DS_Store
|
||||
node_modules/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.idea
|
||||
.Archive/
|
||||
.vscode/
|
||||
dist
|
||||
*.log
|
||||
target/
|
||||
*.iml
|
||||
apidoc/
|
||||
0
jar-enginex-manager/README.md
Normal file
0
jar-enginex-manager/README.md
Normal file
306
jar-enginex-manager/pom.xml
Normal file
306
jar-enginex-manager/pom.xml
Normal file
@@ -0,0 +1,306 @@
|
||||
<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 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.4.2</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<groupId>cn.fiboai</groupId>
|
||||
<artifactId>enginex-manager</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>jar-enginex-manager</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
<properties>
|
||||
<spring.version>4.0.0.RELEASE</spring.version>
|
||||
<mybatis.version>3.2.4</mybatis.version>
|
||||
<org.aspectj.version>1.8.9</org.aspectj.version>
|
||||
<slf4j.version>1.7.7</slf4j.version>
|
||||
<log4j.version>1.2.12</log4j.version>
|
||||
<drools.version>6.4.0.Final</drools.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper-spring-boot-starter</artifactId>
|
||||
<!-- 特别注意版本问题 -->
|
||||
<version>1.2.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis-spring</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!--<dependency>
|
||||
<groupId>org.mybatis.spring.boot</groupId>
|
||||
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||
<version>2.1.1</version>
|
||||
</dependency>-->
|
||||
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.3.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>1.1.21</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-lgpl</artifactId>
|
||||
<version>1.7.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--分页插件 pagehelper -->
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper-spring-boot-starter</artifactId>
|
||||
<!-- 特别注意版本问题 -->
|
||||
<version>1.2.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis-spring</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>jstl</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>servlet-api</artifactId>
|
||||
<version>2.5</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity</artifactId>
|
||||
<version>1.7</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity-tools</artifactId>
|
||||
<version>2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
<version>1.3.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.2.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-httpclient</groupId>
|
||||
<artifactId>commons-httpclient</artifactId>
|
||||
<version>3.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper</artifactId>
|
||||
<version>5.0.0-rc</version>
|
||||
</dependency>
|
||||
|
||||
<!-- excel -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>3.8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>3.8</version>
|
||||
</dependency>
|
||||
<!-- log end -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.5.2</version>
|
||||
</dependency>
|
||||
<!-- json-lib -->
|
||||
<dependency>
|
||||
<groupId>net.sf.json-lib</groupId>
|
||||
<artifactId>json-lib</artifactId>
|
||||
<version>2.4</version>
|
||||
<classifier>jdk15</classifier>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.itextpdf</groupId>
|
||||
<artifactId>itextpdf</artifactId>
|
||||
<version>5.4.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.itextpdf</groupId>
|
||||
<artifactId>itext-asian</artifactId>
|
||||
<version>5.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- jedis集成 -->
|
||||
<dependency>
|
||||
<groupId>redis.clients</groupId>
|
||||
<artifactId>jedis</artifactId>
|
||||
<version>2.4.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jpmml</groupId>
|
||||
<artifactId>pmml-evaluator</artifactId>
|
||||
<version>1.4.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jpmml</groupId>
|
||||
<artifactId>pmml-evaluator-extension</artifactId>
|
||||
<version>1.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger -->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
<version>2.5.0</version>
|
||||
</dependency>
|
||||
<!-- swagger-ui -->
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>swagger-bootstrap-ui</artifactId>
|
||||
<version>1.9.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>transmittable-thread-local</artifactId>
|
||||
<version>2.2.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 -->
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<!--指定资源的位置-->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.risk.riskmanage;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
@MapperScan("com.risk.riskmanage.*.mapper")
|
||||
@ComponentScan(basePackages = "com.risk.riskmanage.**")
|
||||
public class JarEnginexManagerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(JarEnginexManagerApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.risk.riskmanage.common.basefactory;
|
||||
|
||||
/**
|
||||
* @ClassName: BaseController <br/>
|
||||
*/
|
||||
public abstract class BaseController extends CcpBaseController{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package com.risk.riskmanage.common.basefactory;
|
||||
|
||||
import com.risk.riskmanage.datamanage.mapper.*;
|
||||
import com.risk.riskmanage.knowledge.mapper.*;
|
||||
import com.risk.riskmanage.logger.mapper.LoggerMapper;
|
||||
import com.risk.riskmanage.system.mapper.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @ClassName: BaseService <br/>
|
||||
* @Description: 基础service,统一注入mapper接口. <br/>
|
||||
*/
|
||||
public abstract class BaseService {
|
||||
|
||||
|
||||
/**
|
||||
* 后台角色管理mapper.
|
||||
*/
|
||||
@Resource
|
||||
public RoleMapper roleMapper;
|
||||
|
||||
/**
|
||||
* 后台部门管理mapper.
|
||||
*/
|
||||
@Resource
|
||||
public DepartmentMapper departmentMapper;
|
||||
|
||||
/**
|
||||
* 后台用户管理mapper.
|
||||
*/
|
||||
@Resource
|
||||
public UserMapper userMapper;
|
||||
|
||||
|
||||
/**
|
||||
*菜单管理
|
||||
*/
|
||||
@Resource
|
||||
public MenuMapper menuMapper;
|
||||
|
||||
/**
|
||||
* 用户管理
|
||||
*/
|
||||
@Resource
|
||||
public SysUserMapper sysUserMapper;
|
||||
|
||||
/**
|
||||
* 角色管理
|
||||
*/
|
||||
@Resource
|
||||
public SysRoleMapper sysRoleMapper;
|
||||
|
||||
/**
|
||||
* 菜单管理
|
||||
*/
|
||||
@Resource
|
||||
public SysMenuMapper sysMenuMapper;
|
||||
|
||||
/**
|
||||
* 组织管理
|
||||
*/
|
||||
@Resource
|
||||
public SysOrganizationMapper sysOrganizationMapper;
|
||||
|
||||
/**
|
||||
* 知识库目录管理
|
||||
*/
|
||||
@Resource
|
||||
public KnowledgeTreeMapper knowledgeTreeMapper;
|
||||
|
||||
/**
|
||||
* 规则管理树形目录与引擎关系管理
|
||||
*/
|
||||
@Resource
|
||||
public KnowledgeTreeRelMapper knowledgeTreeRelMapper;
|
||||
|
||||
/**
|
||||
* 规则管理
|
||||
*/
|
||||
@Resource
|
||||
public RuleMapper ruleMapper;
|
||||
|
||||
/**
|
||||
* 规则字段管理
|
||||
*/
|
||||
@Resource
|
||||
public RuleFieldMapper ruleFieldMapper;
|
||||
|
||||
/**
|
||||
* 规则内容管理
|
||||
*/
|
||||
@Resource
|
||||
public RuleContentMapper ruleContentMapper;
|
||||
/**
|
||||
* 字段类型管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldTypeMapper fieldTypeMapper;
|
||||
|
||||
/**
|
||||
* 字段类型用户关系管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldTypeUserMapper fieldTypeUserMapper;
|
||||
|
||||
/**
|
||||
* 字段管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldMapper fieldMapper;
|
||||
|
||||
/**
|
||||
* 字段用户关系管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldUserMapper fieldUserMapper;
|
||||
|
||||
/**
|
||||
* 用户字段条件区域设置
|
||||
*/
|
||||
@Resource
|
||||
public FieldCondMapper fieldCondMapper;
|
||||
|
||||
/**
|
||||
* 引擎与引用规则关系
|
||||
*/
|
||||
@Resource
|
||||
public EngineRuleRelMapper engineRuleRelMapper;
|
||||
|
||||
/**
|
||||
* 日志mapper
|
||||
*/
|
||||
@Resource
|
||||
public LoggerMapper loggerMapper;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.risk.riskmanage.common.basefactory;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @ClassName: CcpBaseController <br/>
|
||||
* @Description: TODO ADD FUNCTION. <br/>
|
||||
*/
|
||||
public abstract class CcpBaseController {
|
||||
/**
|
||||
* 使用s可以获得所有service
|
||||
*/
|
||||
@Resource
|
||||
public ServiceFactory s;
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package com.risk.riskmanage.common.basefactory;
|
||||
|
||||
import com.risk.riskmanage.config.ConfigHolder;
|
||||
import com.risk.riskmanage.datamanage.service.FieldService;
|
||||
import com.risk.riskmanage.datamanage.service.FieldTypeService;
|
||||
import com.risk.riskmanage.knowledge.service.*;
|
||||
import com.risk.riskmanage.logger.service.LogService;
|
||||
import com.risk.riskmanage.system.service.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @ClassName: ServiceFactory <br/>
|
||||
* @Description: TODO ADD FUNCTION. <br/>
|
||||
*/
|
||||
@Service("s")
|
||||
public class ServiceFactory {
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 后台用户管理Service.
|
||||
*/
|
||||
@Resource
|
||||
public UserService userService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户管理
|
||||
*/
|
||||
@Resource
|
||||
public SysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 角色管理
|
||||
*/
|
||||
@Resource
|
||||
public SysRoleService sysRoleService;
|
||||
|
||||
/**
|
||||
* 菜单管理
|
||||
*/
|
||||
@Resource
|
||||
public SysMenuService sysMenuService;
|
||||
|
||||
|
||||
/**
|
||||
* 组织管理
|
||||
*/
|
||||
@Resource
|
||||
public SysOrganizationService sysOrganizationService;
|
||||
|
||||
/**
|
||||
* 知识库目录管理service
|
||||
* */
|
||||
@Resource
|
||||
public KnowledgeTreeService knowledgeTreeService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 规则管理service
|
||||
* */
|
||||
@Resource
|
||||
public RuleService ruleService;
|
||||
/**
|
||||
* 字段类型管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldTypeService fieldTypeService;
|
||||
|
||||
/**
|
||||
* 字段管理
|
||||
*/
|
||||
@Resource
|
||||
public FieldService fieldService;
|
||||
/**
|
||||
* 日志service
|
||||
* */
|
||||
@Resource
|
||||
public LogService loggerService;
|
||||
|
||||
/**
|
||||
* 配置中心
|
||||
*/
|
||||
@Resource
|
||||
public ConfigHolder configHolder;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
public class CommonConst {
|
||||
|
||||
/**
|
||||
* 逗号
|
||||
*/
|
||||
public static final String SYMBOL_COMMA = ",";
|
||||
|
||||
/**
|
||||
* 单引号
|
||||
*/
|
||||
public static final String SYMBOL_SINGLE_QUOTA = "\'";
|
||||
|
||||
/**
|
||||
* 空格
|
||||
*/
|
||||
public static final String SYMBOL_BLANK = " ";
|
||||
|
||||
/**
|
||||
* 空字符串
|
||||
*/
|
||||
public static final String STRING_EMPTY = "";
|
||||
|
||||
/**
|
||||
* 评分卡前缀
|
||||
*/
|
||||
public static final String SCORECARD_STARTION = "sc";
|
||||
|
||||
/**
|
||||
* 字段前缀
|
||||
*/
|
||||
public static final String SELF_FIELD_STARTION = "f";
|
||||
|
||||
/**
|
||||
* 是否命中
|
||||
* */
|
||||
public static final String IS_HIT = "是否命中";
|
||||
|
||||
/**
|
||||
* 得分
|
||||
* */
|
||||
public static final String SCORE = "得分";
|
||||
/**
|
||||
* 30分钟(s)
|
||||
* */
|
||||
public static final long MINUTE_30 = 1800000;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
/**
|
||||
* 公共变量约定
|
||||
*/
|
||||
public class Constants {
|
||||
// token名称
|
||||
public static final String SYSTEM_KEY_TOKEN = "token";
|
||||
// token时间 单位秒
|
||||
public static final Long LOGIN_TOKEN_TIME = 7200L;
|
||||
// token最大剩余时间,需刷新 单位秒
|
||||
public static final Long LOGIN_TOKEN_REFRESH_TIME = 600L;
|
||||
|
||||
// 规则集节点相关常量
|
||||
public interface ruleNode {
|
||||
// 互斥组
|
||||
int MUTEXGROUP = 1;
|
||||
// 执行组
|
||||
int EXECUTEGROUP = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,322 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
public class OpTypeConst {
|
||||
|
||||
/**
|
||||
* 登入
|
||||
* */
|
||||
public static final String LOGIN = "登入";
|
||||
|
||||
/**
|
||||
* 登出
|
||||
* */
|
||||
public static final String LOGOUT = "登出";
|
||||
|
||||
/**
|
||||
* 保存菜单
|
||||
* */
|
||||
public static final String SAVE_MENU = " 保存菜单";
|
||||
|
||||
/**
|
||||
* 修改菜单
|
||||
* */
|
||||
public static final String UPDATE_MENU = "修改菜单";
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* */
|
||||
public static final String DELETE_MENU = " 删除菜单";
|
||||
|
||||
/**
|
||||
* 保存相应角色的菜单权限
|
||||
* */
|
||||
public static final String SAVE_MENU_ROLE = "新增相应角色的菜单权限";
|
||||
|
||||
/**
|
||||
* 保存系统菜单
|
||||
* */
|
||||
public static final String SAVE_SYS_MENU = "新增系统菜单";
|
||||
|
||||
/**
|
||||
* 修改系统菜单
|
||||
* */
|
||||
public static final String UPDATE_SYS_MENU = "修改系统菜单";
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
* */
|
||||
public static final String DELETE_SYS_MENU = "删除系统菜单";
|
||||
|
||||
/**
|
||||
* 批量删除系统菜单
|
||||
* */
|
||||
public static final String BATCH_DELETE_SYS_MENU = "批量删除系统菜单";
|
||||
|
||||
/**
|
||||
* 保存、修改资源树
|
||||
* */
|
||||
public static final String SAVE_OR_UPDATE_MENU_ROLE = "保存、修改资源树";
|
||||
|
||||
/**
|
||||
* 保存、修改引擎树
|
||||
* */
|
||||
public static final String SAVE_ROLE_ENGINE = "保存、修改引擎树";
|
||||
|
||||
/**
|
||||
* 保存组织信息
|
||||
* */
|
||||
public static final String SAVE_ORGAN = "保存组织信息";
|
||||
|
||||
/**
|
||||
* 修改组织信息
|
||||
* */
|
||||
public static final String UPDATE_ORGAN = " 修改组织信息";
|
||||
|
||||
/**
|
||||
*删除组织信息
|
||||
* */
|
||||
public static final String DELTET_ORGAN = "删除组织信息";
|
||||
|
||||
/**
|
||||
*批量删除组织信息
|
||||
* */
|
||||
public static final String BATCH_DELTET_ORGAN ="批量删除组织信息";
|
||||
|
||||
/**
|
||||
*修改组织状态信息
|
||||
* */
|
||||
public static final String UPDATE_ORGAN_STATUS ="修改组织状态信息";
|
||||
|
||||
/**
|
||||
*保存本组织角色
|
||||
* */
|
||||
public static final String SAVE_SYS_ROLE ="保存本组织角色";
|
||||
|
||||
/**
|
||||
*修改本组织角色
|
||||
* */
|
||||
public static final String UPDATE_SYS_ROLE ="修改本组织角色";
|
||||
|
||||
/**
|
||||
*删除本组织角色
|
||||
* */
|
||||
public static final String DELETE_SYS_ROLE ="删除本组织角色";
|
||||
|
||||
/**
|
||||
*批量删除本组织角色
|
||||
* */
|
||||
public static final String BATCH_DELETE_SYS_ROLE ="批量删除本组织角色";
|
||||
|
||||
/**
|
||||
*保存公司管理员角色
|
||||
* */
|
||||
public static final String SAVE_ORANG_MANAGER_ROLE ="保存公司管理员角色";
|
||||
|
||||
/**
|
||||
*修改本组织角色状态
|
||||
* */
|
||||
public static final String UPDATE_SYS_ROLE_STATUS ="修改本组织角色状态";
|
||||
|
||||
/**
|
||||
*保存用户信息
|
||||
* */
|
||||
public static final String SAVE_SYS_USER ="保存用户信息";
|
||||
|
||||
/**
|
||||
*修改用户信息
|
||||
* */
|
||||
public static final String UPDATE_SYS_USER ="修改用户信息";
|
||||
|
||||
/**
|
||||
*删除用户信息
|
||||
* */
|
||||
public static final String DELETE_SYS_USER ="删除用户信息";
|
||||
|
||||
/**
|
||||
*批量删除用户信息
|
||||
* */
|
||||
public static final String BATCH_DELETE_SYS_USER ="批量删除用户信息";
|
||||
|
||||
/**
|
||||
*修改用户状态
|
||||
* */
|
||||
public static final String UPDATE_SYS_USER_STATUS ="修改用户状态";
|
||||
|
||||
/**
|
||||
*重置用户密码
|
||||
* */
|
||||
public static final String RESET_PASSWORD ="重置用户密码";
|
||||
|
||||
/**
|
||||
*修改用户密码
|
||||
* */
|
||||
public static final String UPDTE_PASSWORD ="修改用户密码";
|
||||
|
||||
/**
|
||||
* 保存字段映射或数据管理目录
|
||||
* */
|
||||
public static final String SAVE_FILED_TREE = "保存字段映射或数据管理目录";
|
||||
|
||||
/**
|
||||
* 修改字段映射或数据管理目录
|
||||
* */
|
||||
public static final String UPDATE_FILED_TREE = "修改字段映射或数据管理目录";
|
||||
|
||||
/**
|
||||
* 保存数据管理中的字段
|
||||
* */
|
||||
public static final String SAVE_FILED = "保存数据管理中的字段";
|
||||
|
||||
/**
|
||||
* 修改数据管理中的字段
|
||||
* */
|
||||
public static final String UPDATE_FILED= "修改数据管理中的字段";
|
||||
|
||||
/**
|
||||
* 修改数据管理中的字段
|
||||
* */
|
||||
public static final String UPDATE_FILED_STATUS = "修改数据管理中的字段";
|
||||
|
||||
/**
|
||||
* 保存字段映射中的字段
|
||||
* */
|
||||
public static final String SAVE_MAPPING_FILED = "保存字段映射中的字段";
|
||||
|
||||
/**
|
||||
* 修改字段映射中的字段
|
||||
* */
|
||||
public static final String UPDATE_MAPPING_FILED= "修改字段映射中的字段";
|
||||
|
||||
/**
|
||||
* 修改字段映射中的字段状态
|
||||
* */
|
||||
public static final String UPDATE_MAPPING_FILED_STATUS= "修改字段映射中的字段状态";
|
||||
|
||||
/**
|
||||
* 保存知识库或规则管理目录
|
||||
* */
|
||||
public static final String SAVE_KNOWLEDGE_TREE = "保存知识库或规则管理目录";
|
||||
|
||||
/**
|
||||
* 修改规则知识库或规则管理目录
|
||||
* */
|
||||
public static final String UPDATE_KNOWLEDGE_TREE = "修改规则知识库或规则管理目录";
|
||||
|
||||
/**
|
||||
* 保存规则
|
||||
* */
|
||||
public static final String SAVE_RULE = "保存规则";
|
||||
|
||||
/**
|
||||
* 修改规则
|
||||
* */
|
||||
public static final String UPDATE_RULE = "修改规则";
|
||||
|
||||
/**
|
||||
* 修改规则状态
|
||||
* */
|
||||
public static final String UPDATE_RULE_STATUS = "修改规则状态";
|
||||
|
||||
/**
|
||||
*修改分卡状态
|
||||
* */
|
||||
public static final String UPDATE_SCORECARD_STATUS = "修改分卡状态";
|
||||
|
||||
/**
|
||||
*节点重命名
|
||||
* */
|
||||
public static final String RENAME_NODE = "节点重命名";
|
||||
|
||||
/**
|
||||
*保存节点
|
||||
* */
|
||||
public static final String SAVE_NODE = "保存节点";
|
||||
|
||||
/**
|
||||
*修改节点
|
||||
* */
|
||||
public static final String UPDATE_NODE = "修改节点";
|
||||
|
||||
/**
|
||||
*删除节点
|
||||
* */
|
||||
public static final String DELETE_NODE ="删除节点";
|
||||
|
||||
/**
|
||||
* 批量删除节点
|
||||
* */
|
||||
public static final String BATCH_DELETE_NODE ="批量删除节点";
|
||||
|
||||
/**
|
||||
* 删除节点之间的连线
|
||||
* */
|
||||
public static final String DELETE_NODE_LINK ="删除节点之间的连线";
|
||||
|
||||
/**
|
||||
* 复制节点
|
||||
* */
|
||||
public static final String COPY_NODE ="复制节点";
|
||||
|
||||
/**
|
||||
* 保存引擎
|
||||
* */
|
||||
public static final String SAVE_ENGINE ="保存引擎";
|
||||
|
||||
/**
|
||||
* 保存或修改引擎
|
||||
* */
|
||||
public static final String UPDATE_ENGINE ="保存或修改引擎";
|
||||
|
||||
|
||||
/**
|
||||
* 保存版本
|
||||
* */
|
||||
public static final String SAVE_VERSION ="保存版本";
|
||||
|
||||
/**
|
||||
* 修改版本
|
||||
* */
|
||||
public static final String UPDATE_VERSION ="修改版本";
|
||||
|
||||
/**
|
||||
* 删除版本
|
||||
* */
|
||||
public static final String DELETE_VERSION ="删除版本";
|
||||
|
||||
/**
|
||||
* 引擎部署
|
||||
* */
|
||||
public static final String ENGINDE_DEPLOY="引擎部署";
|
||||
|
||||
/**
|
||||
* 引擎停止部署
|
||||
* */
|
||||
public static final String ENGINDE_UNDEPLOY="引擎停止部署";
|
||||
|
||||
/**
|
||||
* 清空引擎节点
|
||||
* */
|
||||
public static final String CLEAR_NODE ="清空引擎节点";
|
||||
|
||||
/**
|
||||
* 添加引擎引用规则关系
|
||||
* */
|
||||
public static final String ADD_RULE_QUOTES_REL = "添加引擎引用规则关系";
|
||||
|
||||
|
||||
/**
|
||||
* 批量修改引擎引用规则状态
|
||||
* */
|
||||
public static final String BATCH_UPDATE_STATUS_FOR_QUOTES_RULE ="批量修改引擎引用规则状态";
|
||||
|
||||
|
||||
/**
|
||||
* 添加引擎引用字段关系
|
||||
* */
|
||||
public static final String ADD_FIELD_QUOTES_REL = "添加引擎引用字段关系";
|
||||
|
||||
/**
|
||||
* 数据填写
|
||||
* */
|
||||
public static final String FILL_DATA="数据填写";
|
||||
}
|
||||
@@ -0,0 +1,345 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
public enum OpTypeEnum {
|
||||
|
||||
/**
|
||||
* 登入
|
||||
* */
|
||||
LOGIN ("login",OpTypeConst.LOGIN),
|
||||
|
||||
/**
|
||||
* 登出
|
||||
* */
|
||||
LOGOUT("logout",OpTypeConst.LOGOUT),
|
||||
|
||||
/**
|
||||
* 保存菜单
|
||||
* */
|
||||
SAVE_MENU("saveMenu",OpTypeConst.SAVE_MENU),
|
||||
|
||||
/**
|
||||
* 修改菜单
|
||||
* */
|
||||
UPDATE_MENU("updateMenu",OpTypeConst.UPDATE_MENU),
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* */
|
||||
DELETE_MENU("deleteMenu",OpTypeConst.DELETE_MENU),
|
||||
|
||||
|
||||
/**
|
||||
* 保存相应角色的菜单权限
|
||||
* */
|
||||
SAVE_MENU_ROLE("saveMenuRole",OpTypeConst.SAVE_MENU_ROLE),
|
||||
|
||||
|
||||
/**
|
||||
* 保存系统菜单
|
||||
* */
|
||||
SAVE_SYS_MENU("saveSysMenu",OpTypeConst.SAVE_SYS_MENU),
|
||||
|
||||
/**
|
||||
* 修改系统菜单
|
||||
* */
|
||||
UPDATE_SYS_MENU("updateSysMenu",OpTypeConst.UPDATE_SYS_MENU),
|
||||
|
||||
/**
|
||||
* 删除系统菜单
|
||||
* */
|
||||
DELETE_SYS_MENU("deleteSysMenu",OpTypeConst.DELETE_SYS_MENU),
|
||||
|
||||
/**
|
||||
* 批量删除系统菜单
|
||||
* */
|
||||
BATCH_DELETE_SYS_MENU("batchDeleteSysMenu",OpTypeConst.BATCH_DELETE_SYS_MENU),
|
||||
|
||||
/**
|
||||
* 保存、修改资源树
|
||||
* */
|
||||
SAVE_OR_UPDATE_MENU_ROLE("saveOrUpdateMenuRole",OpTypeConst.SAVE_OR_UPDATE_MENU_ROLE),
|
||||
|
||||
/**
|
||||
* 保存、修改引擎树
|
||||
* */
|
||||
SAVE_ROLE_ENGINE("saveRoleEngine",OpTypeConst.SAVE_ROLE_ENGINE),
|
||||
|
||||
/**
|
||||
* 保存组织信息
|
||||
* */
|
||||
SAVE_ORGAN("saveOrgan",OpTypeConst.SAVE_ORGAN),
|
||||
|
||||
/**
|
||||
* 修改组织信息
|
||||
* */
|
||||
UPDATE_ORGAN("updateOrgan",OpTypeConst.UPDATE_ORGAN),
|
||||
|
||||
/**
|
||||
*删除组织信息
|
||||
* */
|
||||
DELTET_ORGAN("deleteOrgan",OpTypeConst.DELTET_ORGAN),
|
||||
|
||||
/**
|
||||
*批量删除组织信息
|
||||
* */
|
||||
BATCH_DELTET_ORGAN("batchDeleteOrgan",OpTypeConst.BATCH_DELTET_ORGAN),
|
||||
|
||||
/**
|
||||
*修改组织状态信息
|
||||
* */
|
||||
UPDATE_ORGAN_STATUS("updateOrganStatus",OpTypeConst.UPDATE_ORGAN_STATUS),
|
||||
|
||||
/**
|
||||
*保存本组织角色
|
||||
* */
|
||||
SAVE_SYS_ROLE("saveSysRole",OpTypeConst.SAVE_SYS_ROLE),
|
||||
|
||||
/**
|
||||
*修改本组织角色
|
||||
* */
|
||||
UPDATE_SYS_ROLE("updateSysRole",OpTypeConst.UPDATE_SYS_ROLE),
|
||||
|
||||
/**
|
||||
*删除本组织角色
|
||||
* */
|
||||
DELETE_SYS_ROLE("deleteSysRole",OpTypeConst.DELETE_SYS_ROLE),
|
||||
|
||||
/**
|
||||
*批量删除本组织角色
|
||||
* */
|
||||
BATCH_DELETE_SYS_ROLE("batchDeleteSysRole",OpTypeConst.BATCH_DELETE_SYS_ROLE),
|
||||
|
||||
/**
|
||||
*保存公司管理员角色
|
||||
* */
|
||||
SAVE_ORANG_MANAGER_ROLE("saveOrganManagerRole",OpTypeConst.SAVE_ORANG_MANAGER_ROLE),
|
||||
|
||||
/**
|
||||
*修改本组织角色状态
|
||||
* */
|
||||
UPDATE_SYS_ROLE_STATUS("updateSysRoleStatus",OpTypeConst.UPDATE_SYS_ROLE_STATUS),
|
||||
|
||||
/**
|
||||
*保存用户信息
|
||||
* */
|
||||
SAVE_SYS_USER("saveSysUser",OpTypeConst.SAVE_SYS_USER),
|
||||
|
||||
/**
|
||||
*修改用户信息
|
||||
* */
|
||||
UPDATE_SYS_USER("updateSysUser",OpTypeConst.UPDATE_SYS_USER),
|
||||
|
||||
/**
|
||||
*删除用户信息
|
||||
* */
|
||||
DELETE_SYS_USER("deleteSysUser",OpTypeConst.DELETE_SYS_USER),
|
||||
|
||||
/**
|
||||
*批量删除用户信息
|
||||
* */
|
||||
BATCH_DELETE_SYS_USER("batchDeleteSysUser",OpTypeConst.BATCH_DELETE_SYS_USER),
|
||||
|
||||
/**
|
||||
*修改用户状态
|
||||
* */
|
||||
UPDATE_SYS_USER_STATUS("updateSysUserStatus",OpTypeConst.UPDATE_SYS_USER_STATUS),
|
||||
|
||||
/**
|
||||
*重置用户密码
|
||||
* */
|
||||
RESET_PASSWORD("resetPassword",OpTypeConst.RESET_PASSWORD),
|
||||
|
||||
/**
|
||||
*修改用户密码
|
||||
* */
|
||||
UPDTE_PASSWORD("updatePassword",OpTypeConst.UPDTE_PASSWORD),
|
||||
|
||||
/**
|
||||
* 保存字段映射或数据管理目录
|
||||
* */
|
||||
SAVE_FILED_TREE("saveFieldTree",OpTypeConst.SAVE_FILED_TREE),
|
||||
|
||||
/**
|
||||
* 修改字段映射或数据管理目录
|
||||
* */
|
||||
UPDATE_FILED_TREE("updateFieldTree",OpTypeConst.UPDATE_FILED_TREE),
|
||||
|
||||
/**
|
||||
* 保存数据管理中的字段
|
||||
* */
|
||||
SAVE_FILED("saveField",OpTypeConst.SAVE_FILED),
|
||||
|
||||
/**
|
||||
* 修改数据管理中的字段
|
||||
* */
|
||||
UPDATE_FILED("updateField",OpTypeConst.UPDATE_FILED),
|
||||
|
||||
/**
|
||||
* 修改数据管理中的字段
|
||||
* */
|
||||
UPDATE_FILED_STATUS("updateFieldStatus",OpTypeConst.UPDATE_FILED_STATUS),
|
||||
|
||||
/**
|
||||
* 保存字段映射中的字段
|
||||
* */
|
||||
SAVE_MAPPING_FILED("saveMappingField",OpTypeConst.SAVE_MAPPING_FILED),
|
||||
|
||||
/**
|
||||
* 修改字段映射中的字段
|
||||
* */
|
||||
UPDATE_MAPPING_FILED("updateMappingField",OpTypeConst.UPDATE_MAPPING_FILED),
|
||||
|
||||
/**
|
||||
* 修改字段映射中的字段状态
|
||||
* */
|
||||
UPDATE_MAPPING_FILED_STATUS("updateMappingFieldStatus",OpTypeConst.UPDATE_MAPPING_FILED_STATUS),
|
||||
/**
|
||||
* 保存知识库或规则管理目录
|
||||
* */
|
||||
SAVE_KNOWLEDGE_TREE("saveKnowledgeTree",OpTypeConst.SAVE_KNOWLEDGE_TREE),
|
||||
|
||||
/**
|
||||
* 修改规则知识库或规则管理目录
|
||||
* */
|
||||
UPDATE_KNOWLEDGE_TREE("updateKnowledgeTree",OpTypeConst.UPDATE_KNOWLEDGE_TREE),
|
||||
|
||||
/**
|
||||
* 保存规则
|
||||
* */
|
||||
SAVE_RULE("saveRule",OpTypeConst.SAVE_RULE),
|
||||
|
||||
/**
|
||||
* 修改规则
|
||||
* */
|
||||
UPDATE_RULE("upadteRule",OpTypeConst.UPDATE_RULE),
|
||||
|
||||
/**
|
||||
* 修改规则状态
|
||||
* */
|
||||
UPDATE_RULE_STATUS("upadteRuleStatus",OpTypeConst.UPDATE_RULE_STATUS),
|
||||
/**
|
||||
*修改规则状态
|
||||
* */
|
||||
UPDATE_SCORECARD_STATUS("upadteScorecardStatus",OpTypeConst.UPDATE_SCORECARD_STATUS),
|
||||
|
||||
/**
|
||||
*节点重命名
|
||||
* */
|
||||
RENAME_NODE("renameNode",OpTypeConst.RENAME_NODE),
|
||||
|
||||
/**
|
||||
*保存节点
|
||||
* */
|
||||
SAVE_NODE("saveNode",OpTypeConst.SAVE_NODE),
|
||||
|
||||
/**
|
||||
*修改节点
|
||||
* */
|
||||
UPDATE_NODE("updateNode",OpTypeConst.UPDATE_NODE),
|
||||
|
||||
/**
|
||||
*删除节点
|
||||
* */
|
||||
DELETE_NODE("deleteNode",OpTypeConst.DELETE_NODE),
|
||||
|
||||
/**
|
||||
*批量删除节点
|
||||
* */
|
||||
BATCH_DELETE_NODE("batchDeleteNode",OpTypeConst.BATCH_DELETE_NODE),
|
||||
|
||||
/**
|
||||
*删除节点之间的连线
|
||||
* */
|
||||
DELETE_NODE_LINK("beleteNodeLink",OpTypeConst.DELETE_NODE_LINK),
|
||||
|
||||
/**
|
||||
*复制节点
|
||||
* */
|
||||
COPY_NODE("copyNode",OpTypeConst.COPY_NODE),
|
||||
|
||||
/**
|
||||
*保存引擎
|
||||
* */
|
||||
SAVE_ENGINE("saveEngine",OpTypeConst.SAVE_ENGINE),
|
||||
|
||||
/**
|
||||
*修改引擎
|
||||
* */
|
||||
UPDATE_ENGINE("updateEngine",OpTypeConst.UPDATE_ENGINE),
|
||||
|
||||
/**
|
||||
*保存版本
|
||||
* */
|
||||
SAVE_VERSION("saveVersion",OpTypeConst.SAVE_VERSION),
|
||||
|
||||
/**
|
||||
*修改版本
|
||||
* */
|
||||
UPDATE_VERSION("updateVersion",OpTypeConst.UPDATE_VERSION),
|
||||
|
||||
/**
|
||||
*删除版本
|
||||
* */
|
||||
DELETE_VERSION("deleteVersion",OpTypeConst.DELETE_VERSION),
|
||||
|
||||
/**
|
||||
* 引擎部署
|
||||
* */
|
||||
ENGINDE_DEPLOY("engineDepoly",OpTypeConst.ENGINDE_DEPLOY),
|
||||
|
||||
/**
|
||||
* 引擎停止部署
|
||||
* */
|
||||
ENGINDE_UNDEPLOY("engineUndepoly",OpTypeConst.ENGINDE_UNDEPLOY),
|
||||
|
||||
/**
|
||||
* 清空引擎节点
|
||||
* */
|
||||
CLEAR_NODE("clearNode",OpTypeConst.CLEAR_NODE),
|
||||
|
||||
/**
|
||||
* 添加引擎引用规则关系
|
||||
* */
|
||||
ADD_RULE_QUOTES_REL("addRuleQuotesRel",OpTypeConst.ADD_RULE_QUOTES_REL),
|
||||
|
||||
/**
|
||||
* 批量修改引擎引用规则状态
|
||||
* */
|
||||
BATCH_UPDATE_STATUS_FOR_QUOTES_RULE("batchUpadteStatusForQuotesRule",OpTypeConst.BATCH_UPDATE_STATUS_FOR_QUOTES_RULE),
|
||||
|
||||
/**
|
||||
* 添加引擎引用字段关系
|
||||
* */
|
||||
ADD_FIELD_QUOTES_REL("addFieldQuotesRel",OpTypeConst.ADD_FIELD_QUOTES_REL),
|
||||
|
||||
/**
|
||||
* 数据填写
|
||||
* */
|
||||
FILL_DATA("fillData",OpTypeConst.FILL_DATA);
|
||||
|
||||
private String value;
|
||||
|
||||
private String type;
|
||||
|
||||
private OpTypeEnum(String value, String type)
|
||||
{
|
||||
this.value = value;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 服务过滤配置 此处配置的uri都是不需要通过session管理,免token传参。
|
||||
*/
|
||||
public class ServiceFilterConstant {
|
||||
private static Set<String> uriSet = new HashSet<String>();
|
||||
static {
|
||||
uriSet.add("/Riskmanage/v2/login/login");// 密码登录
|
||||
uriSet.add("/Riskmanage/v2/datamanage/field/downTemplate");// 指标模板下载
|
||||
uriSet.add("/Riskmanage/v2/datamanage/listmanage/downTemplate");// 名单库模板下载
|
||||
}
|
||||
|
||||
public static boolean isSessionFilter(String uri) {
|
||||
if (uriSet.contains(uri)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.risk.riskmanage.common.constants;
|
||||
|
||||
public class StatusConst {
|
||||
//状态
|
||||
public static final int STATUS_ENABLED = 1;//启用状态,默认
|
||||
public static final int STATUS_DEAD = 0;//停用状态
|
||||
public static final int STATUS_DELETE = -1;//删除状态
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.risk.riskmanage.common.controllor;
|
||||
|
||||
import com.risk.riskmanage.util.SectionUtils;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/common/validate")
|
||||
public class CommonControllor {
|
||||
|
||||
@RequestMapping("/section")
|
||||
@ResponseBody
|
||||
public Map<String, String> saveEngineNode(@RequestParam("sections[]") List<String> sections) {
|
||||
Map<String, String> resultMap = new HashMap<String, String>();
|
||||
// 验证区间完整性
|
||||
if (SectionUtils.checkSectionValid(sections)) {
|
||||
if (SectionUtils.checkSectionCoincide(sections)) {
|
||||
resultMap.put("result", "-1");
|
||||
resultMap.put("msg", "区间有重叠,请核准!");
|
||||
} else {
|
||||
resultMap.put("result", "1");
|
||||
resultMap.put("msg", "区间有效!");
|
||||
}
|
||||
} else {
|
||||
resultMap.put("result", "-1");
|
||||
resultMap.put("msg", "区间不完整,请核准!");
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.risk.riskmanage.common.enums;
|
||||
|
||||
public enum ErrorCodeEnum {
|
||||
|
||||
SERVER_ERROR(ErrorCodeEnum.ERROR_CODE + 101, "服务繁忙,请稍后再试!"),
|
||||
LOGIN_ERROR(ErrorCodeEnum.ERROR_CODE + 102, "登录失败"),
|
||||
ERROR_TOKEN_EXPIRE(ErrorCodeEnum.ERROR_CODE + 103, "登录授权码已过期"),
|
||||
FIELD_TYPE_REPEAT(ErrorCodeEnum.ERROR_CODE + 104, "字段类型已存在"),
|
||||
FIELD_EN_REPEAT(ErrorCodeEnum.ERROR_CODE + 105, "字段英文名已存在"),
|
||||
FIELD_CN_REPEAT(ErrorCodeEnum.ERROR_CODE + 106, "字段中文名已存在"),
|
||||
FIELD_BE_USERD(ErrorCodeEnum.ERROR_CODE + 107, "字段被使用,无法修改"),
|
||||
LIST_DB_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 108, "黑白名单名称已存在"),
|
||||
RULE_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 109, "规则名称已存在"),
|
||||
RULE_CODE_REPEAT(ErrorCodeEnum.ERROR_CODE + 110, "规则代码已存在"),
|
||||
SCORECARD_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 111, "评分卡名称已存在"),
|
||||
SCORECARD_CODE_REPEAT(ErrorCodeEnum.ERROR_CODE + 112, "评分卡代码已存在"),
|
||||
UN_PERMISSION(ErrorCodeEnum.ERROR_CODE + 113, "没有访问权限"),
|
||||
CREATE_USER_NAME_ERROR(ErrorCodeEnum.ERROR_CODE + 114, "姓名不能为超级管理员"),
|
||||
CREATE_USER_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 115, "账号或员工编号已存在"),
|
||||
CREATE_ROLE_ADMIN_REPEAT(ErrorCodeEnum.ERROR_CODE + 116, "每个公司只能创建一个公司管理员"),
|
||||
CREATE_ROLE_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 117, "角色名已存在"),
|
||||
CREATE_MENU_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 118, "名称或编号已存在"),
|
||||
CREATE_ORGAN_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 119, "名称或编号已存在"),
|
||||
|
||||
UPDATE_RULE_ERROR(ErrorCodeEnum.ERROR_CODE+120,"修改规则内容失败"),
|
||||
RULE_CONDITION_TYPE_ERROR(ErrorCodeEnum.ERROR_CODE+121,"规则条件类型错误"),
|
||||
RULE_SAVE_ERROR(ErrorCodeEnum.ERROR_CODE+122,"规则保存失败"),
|
||||
|
||||
RULE_UPLOAD_ERROR(ErrorCodeEnum.ERROR_CODE+123,"规则导入失败"),
|
||||
DECISION_TABLES_CODE_REPEAT(ErrorCodeEnum.ERROR_CODE + 124, "决策表代码已存在"),
|
||||
DECISION_TABLES_SAVE_ERROR(ErrorCodeEnum.ERROR_CODE+125,"决策表保存失败"),
|
||||
DECISION_TABLES_UPDATE_ERROR(ErrorCodeEnum.ERROR_CODE+126,"决策表修改状态失败"),
|
||||
DECISION_TABLES_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 127, "决策表名称已存在"),
|
||||
DECISION_TREE_SAVE_ERROR(ErrorCodeEnum.ERROR_CODE+130,"决策树保存失败"),
|
||||
DECISION_TREE_UPDATE_ERROR(ErrorCodeEnum.ERROR_CODE+131,"决策树修改状态失败"),
|
||||
LIST_OPERATION_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE+132,"集合操作名称重复"),
|
||||
LIST_OPERATION_Code_REPEAT(ErrorCodeEnum.ERROR_CODE+133,"集合操作代码重复"),
|
||||
|
||||
PARAMS_EXCEPTION(ErrorCodeEnum.ERROR_CODE + 555, "参数异常"),
|
||||
CLASS_CAST_EXCEPTION(ErrorCodeEnum.ERROR_CODE + 556, "类型转换异常"),
|
||||
JSON_CAST_EXCEPTION(ErrorCodeEnum.ERROR_CODE + 557, "JSON转换异常"),
|
||||
NULL_POINT_EREXCEPTION(ErrorCodeEnum.ERROR_CODE + 558, "NPE问题,请联系管理员"),
|
||||
DATA_IS_NOT_EXIST(ErrorCodeEnum.ERROR_CODE + 559, "数据不存在"),
|
||||
SECTION_ERROR(ErrorCodeEnum.ERROR_CODE + 560, "区间有误"),
|
||||
|
||||
SCORECARD_NOT_SESECT(ErrorCodeEnum.ERROR_CODE + 561, "在本条路径上,评分卡节点有空值"),
|
||||
NODECHILD_NOT_SESECT(ErrorCodeEnum.ERROR_CODE + 562, "在本条路径上,子引擎节点有空值"),
|
||||
DECISION_TABLES_NOT_SELECT(ErrorCodeEnum.ERROR_CODE + 563, "在本条路径上,决策表节点有空值"),
|
||||
FOLDER_NOT_EXIST(ErrorCodeEnum.ERROR_CODE+564,"文件夹不存在"),
|
||||
|
||||
UPDATE_INTERFACE_ERROR(ErrorCodeEnum.ERROR_CODE+565,"修改接口内容失败"),
|
||||
INTERFACE_CONDITION_TYPE_ERROR(ErrorCodeEnum.ERROR_CODE+566,"接口条件类型错误"),
|
||||
INTERFACE_SAVE_ERROR(ErrorCodeEnum.ERROR_CODE+567,"接口保存失败"),
|
||||
INTERFACE_NAME_REPEAT(ErrorCodeEnum.ERROR_CODE + 568, "接口名称已存在"),
|
||||
FAIL_IN_LINK(ErrorCodeEnum.ERROR_CODE+600,"失败"),
|
||||
SQL_FIELD_HAVE_RISK(ErrorCodeEnum.ERROR_CODE+601,"存在有风险sql关键词" ),
|
||||
|
||||
FILE_UPLOAD_ERROR(ErrorCodeEnum.ERROR_CODE+602,"导入失败");
|
||||
|
||||
/**
|
||||
* 默认ERROR_CODE.<br>
|
||||
* 按公司要求8位长度,前两位产品。
|
||||
*/
|
||||
public static final String ERROR_CODE = "01000";
|
||||
|
||||
private String code;
|
||||
private String message;
|
||||
|
||||
private ErrorCodeEnum(String code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.risk.riskmanage.common.exception;
|
||||
|
||||
|
||||
/**
|
||||
* 自定义异常消息处理
|
||||
*/
|
||||
public class ApiException extends RuntimeException {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1136843834946392402L;
|
||||
|
||||
/**
|
||||
* 异常编码
|
||||
*/
|
||||
public final String errCode;
|
||||
|
||||
/**
|
||||
* 异常消息
|
||||
*/
|
||||
public final String message;
|
||||
|
||||
/**
|
||||
* data
|
||||
*/
|
||||
public final Object data;
|
||||
|
||||
public ApiException(Throwable e) {
|
||||
super(e);
|
||||
errCode = "";
|
||||
message = "";
|
||||
data = null;
|
||||
}
|
||||
|
||||
public ApiException(String errCode, String message) {
|
||||
super(message);
|
||||
this.errCode = errCode;
|
||||
this.message = message;
|
||||
this.data = null;
|
||||
}
|
||||
|
||||
public ApiException(String errCode, String message, Object data) {
|
||||
super(message);
|
||||
this.errCode = errCode;
|
||||
this.message = message;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public ApiException(String errCode, String message, Throwable e) {
|
||||
super(message, e);
|
||||
this.errCode = errCode;
|
||||
this.message = message;
|
||||
this.data = null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.risk.riskmanage.common.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @ClassName: BaseMapper
|
||||
* @Description: 公共的BaseMapper接口
|
||||
*/
|
||||
public abstract interface BaseMapper<IdEntity> {
|
||||
|
||||
/**
|
||||
* @Description: 根据对象删除数据
|
||||
* @param entity 对象
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
int deleteByExample(IdEntity entity);
|
||||
|
||||
/**
|
||||
* @Description: 根据对象主键ID删除数据
|
||||
* @param id 对象id编号
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
int deleteByPrimaryKey(Long id);
|
||||
|
||||
/**
|
||||
* @Description: 插入一条新的数据
|
||||
* @param entity 对象
|
||||
* @return 是否插入成功
|
||||
*/
|
||||
int insertSelective(IdEntity entity);
|
||||
|
||||
/**
|
||||
* @Description: 根据对象主键更新对象信息
|
||||
* @param entity 对象
|
||||
* @return 是否修改成功标志
|
||||
*/
|
||||
int updateByPrimaryKeySelective(IdEntity entity);
|
||||
|
||||
/**
|
||||
* @Description: 根据对象获取数据条数
|
||||
* @param entity 对象
|
||||
* @return 返回行数
|
||||
*/
|
||||
int countByExample(IdEntity entity);
|
||||
|
||||
/**
|
||||
* @Description: 根据对象主键ID获取指定数据(多个)
|
||||
* @param entity 对象
|
||||
* @return 对象列表
|
||||
*/
|
||||
List<IdEntity> selectByExample(IdEntity entity);
|
||||
|
||||
/**
|
||||
* @Description: 根据对象主键ID获取指定数据(单个)
|
||||
* @param id id编号
|
||||
* @return 返回单个对象
|
||||
*/
|
||||
IdEntity selectByPrimaryKey(Long id);
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
/**
|
||||
*
|
||||
* @ClassName: BasePageVo <br/>
|
||||
* @Description: 分页公共基础bean. <br/>
|
||||
*/
|
||||
public class BasePage {
|
||||
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
private int page;
|
||||
|
||||
/**
|
||||
* 每页显示的行数
|
||||
*/
|
||||
private int rows;
|
||||
|
||||
/**
|
||||
* 开始行数
|
||||
*/
|
||||
private Integer curRow;
|
||||
|
||||
/**
|
||||
* 结束行数
|
||||
*/
|
||||
private Integer endRow;
|
||||
|
||||
/**
|
||||
* 总行数
|
||||
*/
|
||||
private Integer total;
|
||||
|
||||
public BasePage() {
|
||||
|
||||
}
|
||||
|
||||
public Integer getTotal() {
|
||||
return total;
|
||||
}
|
||||
|
||||
public void setTotal(Integer total) {
|
||||
this.total = total;
|
||||
}
|
||||
|
||||
/**
|
||||
* setPagination:(设置当前页面和每页显示行数). <br/>
|
||||
* @author wz
|
||||
* @param page 当前页数
|
||||
* @param rows 每页显示的行数
|
||||
*/
|
||||
public void setPagination(int page,int rows){
|
||||
this.page = page;
|
||||
this.rows = rows;
|
||||
this.curRow = (page-1)*rows;
|
||||
this.endRow = (page)*rows;
|
||||
}
|
||||
|
||||
|
||||
public int getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(int page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public int getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
public void setRows(int rows) {
|
||||
this.rows = rows;
|
||||
}
|
||||
|
||||
public void setCurRow(Integer curRow) {
|
||||
this.curRow = curRow;
|
||||
}
|
||||
|
||||
public void setEndRow(Integer endRow) {
|
||||
this.endRow = endRow;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class BaseParam extends PageDto {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ExcelModel {
|
||||
private String name;//excel文件名
|
||||
private String type;//类型:xlsx,xls
|
||||
private List<ExcelSheetModel> sheets;//工作簿
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ExcelSheetModel {
|
||||
private String sheetName;//sheet名
|
||||
private List<String> headers;//sheet中第一行内容
|
||||
private List<List> data;//sheet数据
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class PageDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer pageNo = 1;
|
||||
|
||||
private Integer pageSize = 10;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.risk.riskmanage.common.model;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
@ApiModel("返回对象统一封装")
|
||||
public class ResponseEntityDto<T> implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -720807478055084231L;
|
||||
|
||||
@ApiModelProperty("状态:1成功, 0失败")
|
||||
private String status;
|
||||
@ApiModelProperty("错误码")
|
||||
private String error;
|
||||
@ApiModelProperty("错误消息")
|
||||
private String msg;
|
||||
@ApiModelProperty("返回数据")
|
||||
private T data;
|
||||
|
||||
public ResponseEntityDto() {
|
||||
|
||||
}
|
||||
|
||||
public ResponseEntityDto(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public ResponseEntityDto(String status, String error) {
|
||||
this.status = status;
|
||||
this.error = error;
|
||||
}
|
||||
|
||||
public ResponseEntityDto(String status, T data) {
|
||||
this.status = status;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public ResponseEntityDto(String status, String error, String msg, T data) {
|
||||
this.status = status;
|
||||
this.error = error;
|
||||
this.msg = msg;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public ResponseEntityDto<T> setStatus(String status) {
|
||||
this.status = status;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getError() {
|
||||
return error;
|
||||
}
|
||||
|
||||
public ResponseEntityDto<T> setError(String error) {
|
||||
this.error = error;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public ResponseEntityDto<T> setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public T getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public ResponseEntityDto<T> setData(T data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.risk.riskmanage.common.model.requestParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class QueryListParam<T> {
|
||||
private Integer pageNum = 1; // 第几页
|
||||
private Integer pageSize = 10; // 每页的数量
|
||||
private T entity;//查询实体对象
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.risk.riskmanage.common.model.requestParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class StatusParam<T> {
|
||||
private static final long serialVersionUID = 8131487634836541557L;
|
||||
|
||||
private Integer status;//状态
|
||||
|
||||
private List<Long> ids;//主键id
|
||||
|
||||
private Long tacticsId;//相关策略id
|
||||
|
||||
private List<T> list;//针对需要指定类型的需要传入实体类
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.risk.riskmanage.common.model.requestParam;
|
||||
|
||||
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.exception.ApiException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors
|
||||
public class UpdateFolderParam {
|
||||
private List<Long> ids;//规则id
|
||||
private Long folderId;//文件夹id
|
||||
|
||||
public static boolean checkNotNull(UpdateFolderParam param){
|
||||
if (param==null||param.ids==null||param.ids.isEmpty()||param.folderId==null){
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),"id或者文件夹id为空");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.risk.riskmanage.common.model.requestParam;
|
||||
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.exception.ApiException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors
|
||||
public class UpdateStatusParam {
|
||||
private String ids;
|
||||
private Integer status;
|
||||
private List<Long> list;
|
||||
|
||||
public static boolean checkParam(UpdateStatusParam param) {
|
||||
try {
|
||||
String[] split = param.getIds().split(",");
|
||||
Integer status = param.getStatus();
|
||||
if (split == null || split.length == 0 || status == null) {
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(), ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
|
||||
}
|
||||
param.list = new ArrayList<>();
|
||||
for (String s : split) {
|
||||
param.list.add(Long.valueOf(s));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(), ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,311 @@
|
||||
package com.risk.riskmanage.common.utils;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.risk.riskmanage.common.model.ExcelModel;
|
||||
import com.risk.riskmanage.common.model.ExcelSheetModel;
|
||||
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
/**
|
||||
* ClassName:ExcelUtil</br>
|
||||
* Description: Excel实用类
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
public class ExcelUtil {
|
||||
|
||||
/**
|
||||
* exportExcel:导出excel
|
||||
*
|
||||
* @param out 输出流
|
||||
* @param exlType 导出格式
|
||||
* @param headers 表头信息
|
||||
* @param list 要导出的数据
|
||||
* @return cell
|
||||
*
|
||||
*/
|
||||
public static <T> void exportExcel(OutputStream out, String exlType, String[] headers, String[] classNames, List<T> list) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
|
||||
Workbook workbook;
|
||||
if (exlType.equalsIgnoreCase("xlsx")) {
|
||||
// 2007以上
|
||||
workbook = new SXSSFWorkbook(200);
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
|
||||
Sheet sheet = workbook.createSheet("title");
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
if (i == headers.length - 1 || i == headers.length - 2) {
|
||||
sheet.setColumnWidth(i, 50 * 256);
|
||||
} else {
|
||||
sheet.setColumnWidth(i, 25 * 256);
|
||||
}
|
||||
}
|
||||
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(headers[i]);
|
||||
}
|
||||
Iterator<T> it = list.iterator();
|
||||
int index = 0;
|
||||
while (it.hasNext()) {
|
||||
index++;
|
||||
row = sheet.createRow(index);
|
||||
row.setHeight((short) 800);
|
||||
T t = it.next();
|
||||
if (null != t) {
|
||||
for (int j = 0; j < headers.length; j++) {
|
||||
Cell cell = row.createCell(j);
|
||||
Field field = t.getClass().getDeclaredField(classNames[j]);
|
||||
field.setAccessible(true);
|
||||
Class valType = field.getType();
|
||||
|
||||
cell.setCellStyle(cellStyle1);
|
||||
if ("java.lang.String"
|
||||
.equalsIgnoreCase(valType.getName())) {
|
||||
cell.setCellValue((String) field.get(t));
|
||||
} else if ("java.lang.Integer"
|
||||
.equalsIgnoreCase(valType.getName())
|
||||
|| "int".equalsIgnoreCase(valType.getName())) {
|
||||
cell.setCellValue((Integer) field.get(t));
|
||||
} else if ("java.lang.Double"
|
||||
.equalsIgnoreCase(valType.getName())
|
||||
|| "double".equalsIgnoreCase(valType.getName())) {
|
||||
cell.setCellValue((Double) field.get(t) == null
|
||||
? 0
|
||||
: (Double) field.get(t));
|
||||
} else if ("java.lang.Long"
|
||||
.equalsIgnoreCase(valType.getName())
|
||||
|| "long".equalsIgnoreCase(valType.getName())) {
|
||||
cell.setCellValue((Long) field.get(t) == null
|
||||
? 0
|
||||
: (Long) field.get(t));
|
||||
} else if ("java.util.Date"
|
||||
.equalsIgnoreCase(valType.getName())) {
|
||||
if (null == field.get(t)) {
|
||||
cell.setCellValue("");
|
||||
} else {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(
|
||||
"yyyy/MM/dd");
|
||||
cell.setCellValue(sdf.format((Date) field.get(t)));
|
||||
}
|
||||
}
|
||||
field.setAccessible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
out.close();
|
||||
out = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (out != null)
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理单元格格式
|
||||
*
|
||||
* @param cell
|
||||
* @return
|
||||
*
|
||||
*/
|
||||
public static String formatCell(Cell cell) {
|
||||
if (cell == null) {
|
||||
return "";
|
||||
}
|
||||
switch (cell.getCellType()) {
|
||||
case Cell.CELL_TYPE_NUMERIC:
|
||||
//日期格式的处理
|
||||
if (HSSFDateUtil.isCellDateFormatted(cell)) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
return sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())).toString();
|
||||
}
|
||||
|
||||
return String.valueOf(cell.getNumericCellValue());
|
||||
|
||||
//字符串
|
||||
case Cell.CELL_TYPE_STRING:
|
||||
return cell.getStringCellValue();
|
||||
|
||||
// 公式
|
||||
case Cell.CELL_TYPE_FORMULA:
|
||||
return cell.getCellFormula();
|
||||
|
||||
// 空白
|
||||
case Cell.CELL_TYPE_BLANK:
|
||||
return "";
|
||||
|
||||
// 布尔取值
|
||||
case Cell.CELL_TYPE_BOOLEAN:
|
||||
return cell.getBooleanCellValue() + "";
|
||||
|
||||
//错误类型
|
||||
case Cell.CELL_TYPE_ERROR:
|
||||
return cell.getErrorCellValue() + "";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
public static void exportExcelTemplate(OutputStream out, ExcelModel model) throws SecurityException, IllegalArgumentException {
|
||||
Workbook workbook;
|
||||
if ("xlsx".equalsIgnoreCase(model.getType())) {
|
||||
// 2007以上
|
||||
workbook = new XSSFWorkbook();
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
List<ExcelSheetModel> sheets = model.getSheets();
|
||||
if (sheets == null && sheets.size() == 0) {
|
||||
return;
|
||||
}
|
||||
for (ExcelSheetModel info : sheets) {
|
||||
Sheet sheet = workbook.createSheet(info.getSheetName());
|
||||
int headerSize = info.getHeaders().size();
|
||||
for (short i = 0; i < headerSize; i++) {
|
||||
if (i == headerSize - 1 || i == headerSize - 2) {
|
||||
sheet.setColumnWidth(i, 50 * 256);
|
||||
} else {
|
||||
sheet.setColumnWidth(i, 25 * 256);
|
||||
}
|
||||
}
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headerSize; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(info.getHeaders().get(i));
|
||||
}
|
||||
List<List> data = info.getData();
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
List oneRow = data.get(i);
|
||||
row = sheet.createRow(i+1);
|
||||
for (int j = 0; j < oneRow.size(); j++) {
|
||||
Object cellData = oneRow.get(j);
|
||||
Cell cell = row.createCell(j);
|
||||
cell.setCellStyle(cellStyle1);
|
||||
cell.setCellValue(cellData.toString());
|
||||
}
|
||||
}
|
||||
try {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
out.close();
|
||||
out = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (out != null)
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
package com.risk.riskmanage.common.utils;
|
||||
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.model.ResponseEntityDto;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public final class ResponseEntityBuilder {
|
||||
/**
|
||||
* 返回成功.
|
||||
*/
|
||||
public static final String RESPONSE_OK = "1";
|
||||
/**
|
||||
* 返回失败.
|
||||
*/
|
||||
public static final String RESPONSE_FAIL = "0";
|
||||
|
||||
/**
|
||||
* 构造一个失败响应.<br>
|
||||
* 用于构造一个比较用见或是常用的失败响应。<br>
|
||||
*
|
||||
* @param enums
|
||||
* 常见错误枚举类的一个实例.<br>
|
||||
* @return
|
||||
*/
|
||||
public static <T> ResponseEntityDto<T> buildErrorResponse(ErrorCodeEnum enums) {
|
||||
ResponseEntityDto<T> entity = new ResponseEntityDto<>();
|
||||
entity.setStatus(RESPONSE_FAIL);
|
||||
entity.setError(String.valueOf(enums.getCode()));
|
||||
entity.setMsg(enums.getMessage());
|
||||
return entity;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 构造一个失败响应.<br>
|
||||
// *
|
||||
// * @param enums
|
||||
// * @return
|
||||
// */
|
||||
// @Deprecated
|
||||
// public static ResponseEntity<String> buildErrorResponse(ErrorCodeEnum enums) {
|
||||
// ResponseEntity<String> model = new ResponseEntity<String>();
|
||||
// model.setStatus(RESPONSE_FAIL);
|
||||
// model.setError(String.valueOf(enums.getVersionCode()));
|
||||
// model.setMsg(enums.getMessage());
|
||||
// return model;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 构造一个失败响应.<br>
|
||||
*
|
||||
* @param error
|
||||
* 失败错误编码.<br>
|
||||
* @param message
|
||||
* 失败错误说明.<br>
|
||||
* @return
|
||||
*
|
||||
*/
|
||||
public static <T> ResponseEntityDto<T> buildErrorResponse(String error, String message) {
|
||||
ResponseEntityDto<T> entity = new ResponseEntityDto<>();
|
||||
entity.setStatus(RESPONSE_FAIL);
|
||||
if(StringUtils.isBlank(error) || !StringUtils.isNumeric(error)){
|
||||
error = "401";
|
||||
}
|
||||
entity.setError(error);
|
||||
entity.setMsg(message);
|
||||
return entity;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造一个正常响应.<br>
|
||||
*
|
||||
* 响应数据.<br>
|
||||
* @return
|
||||
*/
|
||||
public static <T> ResponseEntityDto<T> buildNormalResponse() {
|
||||
//规范:所有正常请求(status="1",error="01000000"),code与pageCount属性被废弃.
|
||||
return new ResponseEntityDto<T>(RESPONSE_OK, "00000000");
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造一个正常响应.<br>
|
||||
*
|
||||
* @param data
|
||||
* 响应数据.<br>
|
||||
* @return
|
||||
*/
|
||||
public static <T> ResponseEntityDto<T> buildNormalResponse(T data) {
|
||||
ResponseEntityDto<T> entity = buildNormalResponse();
|
||||
entity.setData(data);
|
||||
return entity;
|
||||
}
|
||||
/**
|
||||
* 构造一个错误响应.<br>
|
||||
*
|
||||
* @param data
|
||||
* 响应数据.<br>
|
||||
* @return
|
||||
*/
|
||||
public static <T> ResponseEntityDto<T> buildUnNormalResponse(T data,ErrorCodeEnum enums) {
|
||||
ResponseEntityDto<T> entity = buildErrorResponse(enums);
|
||||
entity.setData(data);
|
||||
return entity;
|
||||
}
|
||||
// public static <T> ResponseEntityDto<Map<String,T>> buildNormalResponse(String key,T data) {
|
||||
// Map<String,T> result = new HashMap<>();
|
||||
// result.put(key, data);
|
||||
//
|
||||
// ResponseEntityDto<Map<String,T>> model = buildNormalResponse();
|
||||
// model.setData(result);
|
||||
// return model;
|
||||
// }
|
||||
|
||||
public static <T> Boolean isSuccess(ResponseEntityDto<T> entity){
|
||||
return entity.getStatus().equals(RESPONSE_OK);
|
||||
}
|
||||
|
||||
public static <T> Boolean isSuccess2(ResponseEntityDto<T> entity){
|
||||
return entity.getStatus().equals(RESPONSE_OK) && entity.getError().equals("00000000");
|
||||
}
|
||||
|
||||
/**
|
||||
* 适用于接口返回data为null时业务不成功的场景
|
||||
*/
|
||||
public static <T> Boolean isSuccess3(ResponseEntityDto<T> entity){
|
||||
return entity.getStatus().equals(RESPONSE_OK) && entity.getError().equals("200") && entity.getData() != null;
|
||||
}
|
||||
|
||||
public static <T extends Serializable> T getEntity(ResponseEntityDto<T> entity){
|
||||
if(isSuccess(entity)){
|
||||
return (T) entity.getData();
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.risk.riskmanage.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@Data
|
||||
public class ConfigHolder {
|
||||
|
||||
//redisConfig
|
||||
@Value("${redis.host}")
|
||||
private String redisHost;
|
||||
@Value("${redis.port}")
|
||||
private int redisPort;
|
||||
@Value("${redis.db}")
|
||||
private int redisDb;
|
||||
@Value("${redis.password}")
|
||||
private String redisPwd;
|
||||
@Value("${redis.pool.maxTotal}")
|
||||
private int redisMaxTotal;
|
||||
@Value("${redis.pool.maxIdle}")
|
||||
private int redisMaxIdle;
|
||||
@Value("${redis.pool.maxWait}")
|
||||
private int redisMaxWait;
|
||||
@Value("${redis.pool.timeout}")
|
||||
private int redisTimeout;
|
||||
|
||||
@Value("${monitor.data.storage.type}")
|
||||
private String monitorStoreType;
|
||||
//jdbcConfig
|
||||
/*@Value("${jdbc.url}")
|
||||
private String jdbcUrl;
|
||||
@Value("${jdbc.driver}")
|
||||
private String DriverName;
|
||||
@Value("${pool.maxPoolSize}")
|
||||
private int maxPoolSize;
|
||||
@Value("${jdbc.username}")
|
||||
private String jdbcUserName;
|
||||
@Value("${jdbc.password}")
|
||||
private String jdbcPwd;
|
||||
@Value("${pool.maxWait}")
|
||||
private int jdbcMaxWait;
|
||||
@Value("${pool.timeBetweenEvictionRunsMillis}")
|
||||
private int timeBetweenEvictionRunsMillis;
|
||||
@Value("${pool.minEvictableIdleTimeMillis}")
|
||||
private int minEvictableIdleTimeMillis;
|
||||
@Value("${pool.validationQuery}")
|
||||
private String validationQuery;
|
||||
|
||||
//rabbitconfig
|
||||
@Value("${rabbitMQ.host}")
|
||||
private String rabbitHost;
|
||||
@Value("${rabbitMQ.port}")
|
||||
private int rabbitPort;
|
||||
@Value("${rabbitMQ.username}")
|
||||
private String rabbitUsername;
|
||||
@Value("${rabbitMQ.password}")
|
||||
private String rabbitPassword;*/
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.risk.riskmanage.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
import redis.clients.jedis.JedisPoolConfig;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
@Configuration
|
||||
public class ConfigurationContainor {
|
||||
|
||||
@Resource
|
||||
private ConfigHolder configHolder;
|
||||
|
||||
@Bean(name = "threadPoolTaskExecutor")
|
||||
ThreadPoolTaskExecutor threadPoolTaskExecutor(){
|
||||
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
||||
executor.setCorePoolSize(500);
|
||||
executor.setMaxPoolSize(1000);
|
||||
executor.setQueueCapacity(200);
|
||||
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
|
||||
return executor;
|
||||
}
|
||||
|
||||
@Bean(name = "jedisPool")
|
||||
public JedisPool jedisPool(){
|
||||
JedisPoolConfig config = new JedisPoolConfig();
|
||||
config.setMaxTotal(configHolder.getRedisMaxTotal());
|
||||
config.setMaxIdle(configHolder.getRedisMaxIdle());
|
||||
config.setMaxWaitMillis(configHolder.getRedisMaxWait());
|
||||
config.setTestOnBorrow(true);
|
||||
// config.setTestOnReturn(true);
|
||||
|
||||
JedisPool pool = new JedisPool(config,
|
||||
configHolder.getRedisHost(),
|
||||
configHolder.getRedisPort(),
|
||||
configHolder.getRedisTimeout(),
|
||||
configHolder.getRedisPwd(),
|
||||
configHolder.getRedisDb());
|
||||
return pool;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.risk.riskmanage.config;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
@Configuration
|
||||
public class DataSourceConfig {
|
||||
|
||||
@Value("${spring.datasource.default.url}")
|
||||
private String defaultDBUrl;
|
||||
@Value("${spring.datasource.default.username}")
|
||||
private String defaultDBUser;
|
||||
@Value("${spring.datasource.default.password}")
|
||||
private String defaultDBPassword;
|
||||
@Value("${spring.datasource.default.driver-class-name}")
|
||||
private String defaultDBDreiverName;
|
||||
|
||||
@Bean
|
||||
public DruidDataSource druidDataSource(){
|
||||
DruidDataSource defaultDataSource = new DruidDataSource();
|
||||
defaultDataSource.setUrl(defaultDBUrl);
|
||||
defaultDataSource.setUsername(defaultDBUser);
|
||||
defaultDataSource.setPassword(defaultDBPassword);
|
||||
defaultDataSource.setDriverClassName(defaultDBDreiverName);
|
||||
|
||||
return defaultDataSource;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public SqlSessionFactory sqlSessionFactory(
|
||||
@Qualifier("druidDataSource") DataSource druidDataSource)
|
||||
throws Exception {
|
||||
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
|
||||
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
Resource[] mapperXmlResource = resolver.getResources("classpath*:**/*Mapper.xml");
|
||||
bean.setDataSource(druidDataSource);
|
||||
bean.setMapperLocations(mapperXmlResource);
|
||||
bean.setTypeAliasesPackage("com.risk.riskmanage.**.model");
|
||||
bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
|
||||
bean.getObject().getConfiguration().setCacheEnabled(false);
|
||||
return bean.getObject();
|
||||
}
|
||||
|
||||
@Bean(name = "sqlSessionTemplate")
|
||||
public SqlSessionTemplate sqlSessionTemplate(
|
||||
@Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory)
|
||||
throws Exception {
|
||||
return new SqlSessionTemplate(sqlSessionFactory);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.risk.riskmanage.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.client.ClientHttpRequestFactory;
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
* RestTemplate配置类
|
||||
*/
|
||||
@Configuration
|
||||
public class RestTemplateConfig {
|
||||
|
||||
@Bean
|
||||
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
|
||||
return new RestTemplate(factory);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
|
||||
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
||||
factory.setReadTimeout(300000000);//单位为ms
|
||||
factory.setConnectTimeout(500000000);//单位为ms
|
||||
return factory;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.risk.riskmanage.config;
|
||||
|
||||
import com.risk.riskmanage.spring.interceptor.SessionInterceptor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
@Configuration
|
||||
public class WebMvcConfig implements WebMvcConfigurer {
|
||||
|
||||
@Autowired
|
||||
private SessionInterceptor sessionInterceptor;
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
// 添加拦截器
|
||||
registry.addInterceptor(sessionInterceptor)
|
||||
.excludePathPatterns("") // 排除拦截器要拦截的路径
|
||||
.addPathPatterns("/**"); // 添加拦截器需要要拦截的路径
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.risk.riskmanage.datamanage.common;
|
||||
|
||||
public class ExcelHeader {
|
||||
|
||||
public static final String[] fieldExcelHeader = { "字段编号", "字段名", "字段中文名", "字段类型", "字段值类型", "字段值范围", "是否衍生", "是否输出", "创建人" };
|
||||
|
||||
public static final String[] fieldExcelClass = { "id", "fieldEn", "fieldCn", "fieldType", "valueTypeName", "valueScope", "isDerivativeName", "isOutputName", "nickName" };
|
||||
}
|
||||
@@ -0,0 +1,666 @@
|
||||
package com.risk.riskmanage.datamanage.common;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||
|
||||
public class ExcelUtil<T> {
|
||||
|
||||
public static <T> void exportFieldExcel(OutputStream out ,String exlType,String[] headers,String[] classNames, List<T> list ) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
|
||||
Workbook workbook;
|
||||
if (exlType.equalsIgnoreCase("xlsx")) {
|
||||
// 2007以上
|
||||
workbook = new SXSSFWorkbook(200);
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
Sheet sheet = workbook.createSheet("title");
|
||||
sheet.setColumnWidth((short)0, 10* 256);
|
||||
sheet.setColumnWidth((short)1, 20* 256);
|
||||
sheet.setColumnWidth((short)2, 20* 256);
|
||||
sheet.setColumnWidth((short)3, 10* 256);
|
||||
sheet.setColumnWidth((short)4, 10* 256);
|
||||
sheet.setColumnWidth((short)5, 75* 256);
|
||||
// sheet.setColumnWidth((short)6, 75* 256);
|
||||
|
||||
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(headers[i]);
|
||||
}
|
||||
Iterator<T> it = list.iterator();
|
||||
int index = 0;
|
||||
while (it.hasNext()) {
|
||||
index++;
|
||||
row = sheet.createRow(index);
|
||||
row.setHeight((short) 400);
|
||||
T t = it.next();
|
||||
if(null!=t){
|
||||
for (int j = 0; j < headers.length; j++) {
|
||||
Cell cell = row.createCell(j);
|
||||
Field field = t.getClass().getDeclaredField(classNames[j]);
|
||||
field.setAccessible(true);
|
||||
Class valType = field.getType();
|
||||
cell.setCellStyle(cellStyle1);
|
||||
//数据转类型
|
||||
if("java.lang.String".equalsIgnoreCase( valType.getName())){
|
||||
cell.setCellValue((String) field.get(t));
|
||||
}else if("java.lang.Integer".equalsIgnoreCase(valType.getName())||"int".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Integer) field.get(t));
|
||||
}else if("java.lang.Double".equalsIgnoreCase(valType.getName())||"double".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Double) field.get(t)==null?0:(Double) field.get(t));
|
||||
}else if("java.lang.Long".equalsIgnoreCase(valType.getName())||"long".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Long) field.get(t)==null?0:(Long) field.get(t));
|
||||
}else if("java.util.Date".equalsIgnoreCase(valType.getName())) {
|
||||
if(null==field.get(t)){
|
||||
cell.setCellValue("");
|
||||
}else {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
|
||||
cell.setCellValue(sdf.format((Date) field.get(t)));
|
||||
}
|
||||
}
|
||||
field.setAccessible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
out.close();
|
||||
out = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (out != null)
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出黑白名单库里的客户列表到excel(兼容黑白名单库的导入模版)
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static <T> void exportCustListExcel(OutputStream out ,String exlType,String[] headers,String[] classNames, List<T> list ) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
|
||||
Workbook workbook;
|
||||
if (exlType.equalsIgnoreCase("xlsx")) {
|
||||
// 2007以上
|
||||
workbook = new SXSSFWorkbook(200);
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
Sheet sheet = workbook.createSheet("title");
|
||||
//默认20列
|
||||
sheet.setColumnWidth((short)0, 10* 256);
|
||||
sheet.setColumnWidth((short)1, 10* 256);
|
||||
sheet.setColumnWidth((short)2, 10* 256);
|
||||
sheet.setColumnWidth((short)3, 10* 256);
|
||||
sheet.setColumnWidth((short)4, 10* 256);
|
||||
sheet.setColumnWidth((short)5, 10* 256);
|
||||
sheet.setColumnWidth((short)6, 10* 256);
|
||||
sheet.setColumnWidth((short)7, 10* 256);
|
||||
sheet.setColumnWidth((short)8, 10* 256);
|
||||
sheet.setColumnWidth((short)9, 10* 256);
|
||||
sheet.setColumnWidth((short)10, 10* 256);
|
||||
sheet.setColumnWidth((short)11, 10* 256);
|
||||
sheet.setColumnWidth((short)12, 10* 256);
|
||||
sheet.setColumnWidth((short)13, 10* 256);
|
||||
sheet.setColumnWidth((short)14, 10* 256);
|
||||
sheet.setColumnWidth((short)15, 10* 256);
|
||||
sheet.setColumnWidth((short)16, 10* 256);
|
||||
sheet.setColumnWidth((short)17, 10* 256);
|
||||
sheet.setColumnWidth((short)18, 10* 256);
|
||||
sheet.setColumnWidth((short)19, 10* 256);
|
||||
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(headers[i]);
|
||||
}
|
||||
Iterator<T> it = list.iterator();
|
||||
int index = 0;
|
||||
while (it.hasNext()) {
|
||||
index++;
|
||||
row = sheet.createRow(index);
|
||||
row.setHeight((short) 400);
|
||||
T t = it.next();
|
||||
if(null!=t){
|
||||
for (int j = 0; j < headers.length; j++) {
|
||||
Cell cell = row.createCell(j);
|
||||
Field field = t.getClass().getDeclaredField(classNames[j]);
|
||||
field.setAccessible(true);
|
||||
Class valType = field.getType();
|
||||
cell.setCellStyle(cellStyle1);
|
||||
//数据转类型
|
||||
if("java.lang.String".equalsIgnoreCase( valType.getName())){
|
||||
cell.setCellValue((String) field.get(t));
|
||||
}else if("java.lang.Integer".equalsIgnoreCase(valType.getName())||"int".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Integer) field.get(t));
|
||||
}else if("java.lang.Double".equalsIgnoreCase(valType.getName())||"double".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Double) field.get(t)==null?0:(Double) field.get(t));
|
||||
}else if("java.lang.Long".equalsIgnoreCase(valType.getName())||"long".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Long) field.get(t)==null?0:(Long) field.get(t));
|
||||
}else if("java.util.Date".equalsIgnoreCase(valType.getName())) {
|
||||
if(null==field.get(t)){
|
||||
cell.setCellValue("");
|
||||
}else {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
|
||||
cell.setCellValue(sdf.format((Date) field.get(t)));
|
||||
}
|
||||
}
|
||||
field.setAccessible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
out.close();
|
||||
out = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (out != null)
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出黑白名单库里的客户列表到excel(兼容黑白名单库的导入模版)
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static <T> void createCustListExcel(String path, String exlType,String[] headers,String[] classNames, List<T> list ) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
|
||||
Workbook workbook;
|
||||
if (exlType.equalsIgnoreCase("xlsx")) {
|
||||
// 2007以上
|
||||
workbook = new SXSSFWorkbook(200);
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
Sheet sheet = workbook.createSheet("title");
|
||||
//默认20列
|
||||
sheet.setColumnWidth((short)0, 10* 256);
|
||||
sheet.setColumnWidth((short)1, 10* 256);
|
||||
sheet.setColumnWidth((short)2, 10* 256);
|
||||
sheet.setColumnWidth((short)3, 10* 256);
|
||||
sheet.setColumnWidth((short)4, 10* 256);
|
||||
sheet.setColumnWidth((short)5, 10* 256);
|
||||
sheet.setColumnWidth((short)6, 10* 256);
|
||||
sheet.setColumnWidth((short)7, 10* 256);
|
||||
sheet.setColumnWidth((short)8, 10* 256);
|
||||
sheet.setColumnWidth((short)9, 10* 256);
|
||||
sheet.setColumnWidth((short)10, 10* 256);
|
||||
sheet.setColumnWidth((short)11, 10* 256);
|
||||
sheet.setColumnWidth((short)12, 10* 256);
|
||||
sheet.setColumnWidth((short)13, 10* 256);
|
||||
sheet.setColumnWidth((short)14, 10* 256);
|
||||
sheet.setColumnWidth((short)15, 10* 256);
|
||||
sheet.setColumnWidth((short)16, 10* 256);
|
||||
sheet.setColumnWidth((short)17, 10* 256);
|
||||
sheet.setColumnWidth((short)18, 10* 256);
|
||||
sheet.setColumnWidth((short)19, 10* 256);
|
||||
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(headers[i]);
|
||||
}
|
||||
Iterator<T> it = list.iterator();
|
||||
int index = 0;
|
||||
while (it.hasNext()) {
|
||||
index++;
|
||||
row = sheet.createRow(index);
|
||||
row.setHeight((short) 400);
|
||||
T t = it.next();
|
||||
if(null!=t){
|
||||
for (int j = 0; j < headers.length; j++) {
|
||||
Cell cell = row.createCell(j);
|
||||
Field field = t.getClass().getDeclaredField(classNames[j]);
|
||||
field.setAccessible(true);
|
||||
Class valType = field.getType();
|
||||
cell.setCellStyle(cellStyle1);
|
||||
//数据转类型
|
||||
if("java.lang.String".equalsIgnoreCase( valType.getName())){
|
||||
cell.setCellValue((String) field.get(t));
|
||||
}else if("java.lang.Integer".equalsIgnoreCase(valType.getName())||"int".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Integer) field.get(t));
|
||||
}else if("java.lang.Double".equalsIgnoreCase(valType.getName())||"double".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Double) field.get(t)==null?0:(Double) field.get(t));
|
||||
}else if("java.lang.Long".equalsIgnoreCase(valType.getName())||"long".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Long) field.get(t)==null?0:(Long) field.get(t));
|
||||
}else if("java.util.Date".equalsIgnoreCase(valType.getName())) {
|
||||
if(null==field.get(t)){
|
||||
cell.setCellValue("");
|
||||
}else {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
|
||||
cell.setCellValue(sdf.format((Date) field.get(t)));
|
||||
}
|
||||
}
|
||||
field.setAccessible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
FileOutputStream output=new FileOutputStream(path);
|
||||
workbook.write(output);
|
||||
output.close();
|
||||
output = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出引擎批量测试结果到excel
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static <T> void exportEngineTestResultExcel(OutputStream out ,String exlType,String[] headers,String[] classNames, List<T> list ) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
|
||||
Workbook workbook;
|
||||
if (exlType.equalsIgnoreCase("xlsx")) {
|
||||
// 2007以上
|
||||
workbook = new SXSSFWorkbook(200);
|
||||
} else {
|
||||
// 97-2003
|
||||
workbook = new HSSFWorkbook();
|
||||
}
|
||||
Sheet sheet = workbook.createSheet("title");
|
||||
|
||||
sheet.setColumnWidth((short)0, 10* 256);
|
||||
sheet.setColumnWidth((short)1, 15* 256);
|
||||
sheet.setColumnWidth((short)2, 15* 256);
|
||||
sheet.setColumnWidth((short)3, 15* 256);
|
||||
sheet.setColumnWidth((short)4, 15* 256);
|
||||
sheet.setColumnWidth((short)5, 15* 256);
|
||||
sheet.setColumnWidth((short)6, 20* 256);
|
||||
sheet.setColumnWidth((short)7, 20* 256);
|
||||
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
CellStyle cellStyle1 = workbook.createCellStyle();
|
||||
|
||||
Font font = workbook.createFont();
|
||||
Font font1 = workbook.createFont();
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font.setFontName("微软雅黑");
|
||||
font.setFontHeight((short) 240);
|
||||
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
|
||||
cellStyle.setFont(font);
|
||||
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 指定单元格居中对齐
|
||||
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
|
||||
cellStyle.setWrapText(true);
|
||||
cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
//微软雅黑,字体10,加粗,背景灰色
|
||||
font1.setFontName("微软雅黑");
|
||||
font1.setFontHeight((short) 240);
|
||||
cellStyle1.setFont(font1);
|
||||
cellStyle1.setAlignment(CellStyle.ALIGN_LEFT); // 指定单元格居中对齐
|
||||
cellStyle1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
|
||||
cellStyle1.setWrapText(true);
|
||||
cellStyle1.setBorderBottom(CellStyle.BORDER_THIN); // 设置单无格的边框为粗体
|
||||
cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
|
||||
cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
|
||||
|
||||
Row row = sheet.createRow(0);
|
||||
row.setHeight((short) 400);
|
||||
|
||||
for (short i = 0; i < headers.length; i++) {
|
||||
Cell cell = row.createCell(i);
|
||||
cell.setCellStyle(cellStyle);
|
||||
cell.setCellValue(headers[i]);
|
||||
}
|
||||
Iterator<T> it = list.iterator();
|
||||
int index = 0;
|
||||
while (it.hasNext()) {
|
||||
index++;
|
||||
row = sheet.createRow(index);
|
||||
row.setHeight((short) 400);
|
||||
T t = it.next();
|
||||
if(null!=t){
|
||||
for (int j = 0; j < headers.length; j++) {
|
||||
Cell cell = row.createCell(j);
|
||||
Field field = t.getClass().getDeclaredField(classNames[j]);
|
||||
field.setAccessible(true);
|
||||
Class valType = field.getType();
|
||||
cell.setCellStyle(cellStyle1);
|
||||
//数据转类型
|
||||
if("java.lang.String".equalsIgnoreCase( valType.getName())){
|
||||
cell.setCellValue((String) field.get(t));
|
||||
}else if("java.lang.Integer".equalsIgnoreCase(valType.getName())||"int".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Integer) field.get(t));
|
||||
}else if("java.lang.Double".equalsIgnoreCase(valType.getName())||"double".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Double) field.get(t)==null?0:(Double) field.get(t));
|
||||
}else if("java.lang.Long".equalsIgnoreCase(valType.getName())||"long".equalsIgnoreCase(valType.getName())){
|
||||
cell.setCellValue((Long) field.get(t)==null?0:(Long) field.get(t));
|
||||
}else if("java.util.Date".equalsIgnoreCase(valType.getName())) {
|
||||
if(null==field.get(t)){
|
||||
cell.setCellValue("");
|
||||
}else {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
|
||||
cell.setCellValue(sdf.format((Date) field.get(t)));
|
||||
}
|
||||
}
|
||||
field.setAccessible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
out.close();
|
||||
out = null;
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (out != null)
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取合并单元格的值
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static String getMergedRegionValue(Sheet sheet, int row, int column) {
|
||||
int sheetMergeCount = sheet.getNumMergedRegions();
|
||||
|
||||
for (int i = 0; i < sheetMergeCount; i++) {
|
||||
CellRangeAddress ca = sheet.getMergedRegion(i);
|
||||
int firstColumn = ca.getFirstColumn();
|
||||
int lastColumn = ca.getLastColumn();
|
||||
int firstRow = ca.getFirstRow();
|
||||
int lastRow = ca.getLastRow();
|
||||
|
||||
if (row >= firstRow && row <= lastRow) {
|
||||
|
||||
if (column >= firstColumn && column <= lastColumn) {
|
||||
Row fRow = sheet.getRow(firstRow);
|
||||
Cell fCell = fRow.getCell(firstColumn);
|
||||
return getCellValue(fCell);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断合并行
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static boolean isMergedRow(Sheet sheet, int row, int column) {
|
||||
int sheetMergeCount = sheet.getNumMergedRegions();
|
||||
for (int i = 0; i < sheetMergeCount; i++) {
|
||||
CellRangeAddress range = sheet.getMergedRegion(i);
|
||||
int firstColumn = range.getFirstColumn();
|
||||
int lastColumn = range.getLastColumn();
|
||||
int firstRow = range.getFirstRow();
|
||||
int lastRow = range.getLastRow();
|
||||
if (row == firstRow && row == lastRow) {
|
||||
if (column >= firstColumn && column <= lastColumn) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断合并列
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public static boolean isMergedCol(Sheet sheet, int row, int column) {
|
||||
int sheetMergeCount = sheet.getNumMergedRegions();
|
||||
for (int i = 0; i < sheetMergeCount; i++) {
|
||||
CellRangeAddress range = sheet.getMergedRegion(i);
|
||||
int firstColumn = range.getFirstColumn();
|
||||
int lastColumn = range.getLastColumn();
|
||||
int firstRow = range.getFirstRow();
|
||||
int lastRow = range.getLastRow();
|
||||
if(column== firstColumn && column==lastColumn){
|
||||
if (row>=firstRow&& row<=lastRow){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断指定的单元格是否是合并单元格
|
||||
*
|
||||
* @param sheet
|
||||
* @param row
|
||||
* 行下标
|
||||
* @param column
|
||||
* 列下标
|
||||
* @return
|
||||
*/
|
||||
public static boolean isMergedRegion(Sheet sheet, int row, int column) {
|
||||
int sheetMergeCount = sheet.getNumMergedRegions();
|
||||
for (int i = 0; i < sheetMergeCount; i++) {
|
||||
CellRangeAddress range = sheet.getMergedRegion(i);
|
||||
int firstColumn = range.getFirstColumn();
|
||||
int lastColumn = range.getLastColumn();
|
||||
int firstRow = range.getFirstRow();
|
||||
int lastRow = range.getLastRow();
|
||||
if (row >= firstRow && row <= lastRow) {
|
||||
if (column >= firstColumn && column <= lastColumn) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单元格的值
|
||||
*
|
||||
* @param cell
|
||||
* @return
|
||||
*/
|
||||
public static String getCellValue(Cell cell) {
|
||||
|
||||
if (cell == null)
|
||||
return "";
|
||||
|
||||
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
|
||||
|
||||
return cell.getStringCellValue();
|
||||
|
||||
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
|
||||
|
||||
return String.valueOf(cell.getBooleanCellValue());
|
||||
|
||||
} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
|
||||
|
||||
return cell.getCellFormula();
|
||||
|
||||
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
|
||||
|
||||
return String.valueOf(cell.getNumericCellValue());
|
||||
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.risk.riskmanage.datamanage.common;
|
||||
|
||||
public enum Status {
|
||||
|
||||
enable(1), disable(0), delete(-1), yes(1), no(0);
|
||||
public final int value;
|
||||
|
||||
private Status(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.risk.riskmanage.datamanage.common;
|
||||
|
||||
public enum ValueType {
|
||||
|
||||
// 待选:0, 数值型:1, 字符型:2, 枚举型:3, 小数型:4, 数组型:5
|
||||
Unknown(0), Num(1), Char(2), Enum(3), Dec(4), Array(5);
|
||||
|
||||
public final int value;
|
||||
|
||||
private ValueType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue(){
|
||||
return value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,870 @@
|
||||
package com.risk.riskmanage.datamanage.controller.v2;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.risk.riskmanage.common.basefactory.BaseController;
|
||||
import com.risk.riskmanage.common.constants.CommonConst;
|
||||
import com.risk.riskmanage.common.constants.OpTypeConst;
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.exception.ApiException;
|
||||
import com.risk.riskmanage.common.model.ResponseEntityDto;
|
||||
import com.risk.riskmanage.common.utils.ResponseEntityBuilder;
|
||||
import com.risk.riskmanage.datamanage.common.ValueType;
|
||||
import com.risk.riskmanage.datamanage.model.Field;
|
||||
import com.risk.riskmanage.datamanage.model.FieldCond;
|
||||
import com.risk.riskmanage.datamanage.model.FieldType;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldSaveParam;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldTreeParam;
|
||||
import com.risk.riskmanage.datamanage.vo.FieldEnumVo;
|
||||
import com.risk.riskmanage.datamanage.vo.FieldFormulaVo;
|
||||
import com.risk.riskmanage.datamanage.vo.FieldSubCondVo;
|
||||
import com.risk.riskmanage.logger.ArchivesLog;
|
||||
import com.risk.riskmanage.system.model.User;
|
||||
import com.risk.riskmanage.util.CollectionUtil;
|
||||
import com.risk.riskmanage.util.SessionManager;
|
||||
import com.risk.riskmanage.util.StringUtil;
|
||||
import com.risk.riskmanage.common.model.requestParam.UpdateFolderParam;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* 提供field相关接口
|
||||
*
|
||||
* @apiDefine field 2.指标管理
|
||||
*/
|
||||
@Controller("fieldControllerV2")
|
||||
@RequestMapping("/v2/datamanage/field")
|
||||
@ResponseBody
|
||||
public class FieldController extends BaseController {
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/listTree 2.01. 获取节点树
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} parentId parentId, 值为 0或 空字符串都行(此时获取的是所有文件夹目录)
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {}
|
||||
* @apiSuccessExample {json} Success-Response:
|
||||
* {"data":[{"userId":135,"organId":46,"status":1,"isCommon":1,"parentId":303,"children":[{"children":[{"children":[],"fieldType":"信用卡","icon":"../resource/images/authority/folder.png","id":306,"isCommon":1,"isParent":"true","page":0,"parentId":305,"rows":0}],"fieldType":"银行","icon":"../resource/images/authority/folder.png","id":305,"isCommon":1,"isParent":"true","page":0,"parentId":0,"rows":0},{"children":[{"children":[],"fieldType":"网点余额不足风险","icon":"../resource/images/authority/folder.png","id":304,"isCommon":1,"isParent":"true","page":0,"parentId":302,"rows":0},{"children":[],"fieldType":"代收货款与到付","icon":"../resource/images/authority/folder.png","id":303,"isCommon":1,"isParent":"true","page":0,"parentId":302,"rows":0}],"fieldType":"物流","icon":"../resource/images/authority/folder.png","id":302,"isCommon":1,"isParent":"true","page":0,"parentId":0,"rows":0}],"fieldType":"通用字段","id":99999999}],"error":"00000000","status":"1"}
|
||||
*/
|
||||
@RequestMapping(value = "/listTree", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> listTree(@RequestBody Map<String, Object> paramMap) {
|
||||
|
||||
User loginAccount = SessionManager.getLoginAccount();
|
||||
paramMap.put("userId", loginAccount.getUserId());
|
||||
paramMap.put("organId", loginAccount.getOrganId());
|
||||
paramMap.put("status", 1);
|
||||
|
||||
Integer isCommon = 1;
|
||||
Integer engineId = null;
|
||||
if (paramMap.containsKey("engineId") && !paramMap.get("engineId").equals("")) {
|
||||
isCommon = null;
|
||||
engineId = Integer.valueOf((String) paramMap.get("engineId")).intValue();
|
||||
paramMap.put("engineId", engineId);
|
||||
} else {
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
paramMap.put("isCommon", isCommon);
|
||||
|
||||
List<FieldType> klist = s.fieldTypeService.getFieldTypeList(paramMap);
|
||||
for (FieldType fieldTypeVo : klist) {
|
||||
if (engineId != null && fieldTypeVo.getIsCommon() == 1) {
|
||||
String fieldType = fieldTypeVo.getFieldType();
|
||||
fieldTypeVo.setFieldType(fieldType + "(通用)");
|
||||
}
|
||||
paramMap.put("parentId", fieldTypeVo.getId());
|
||||
fieldTypeVo.setChildren(getChildren(paramMap));
|
||||
}
|
||||
FieldType[] kArray = new FieldType[klist.size()];
|
||||
kArray = klist.toArray(kArray);
|
||||
paramMap.put("children", kArray);
|
||||
paramMap.put("fieldType", "通用字段");
|
||||
paramMap.put("id", 99999999);
|
||||
|
||||
ArrayList<Map> list = new ArrayList<>();
|
||||
list.add(paramMap);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(list);
|
||||
}
|
||||
@RequestMapping(value = "/newListTree", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> newListTree(@RequestBody FieldTreeParam param) {
|
||||
if (param==null||param.getType()==null){
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
|
||||
}
|
||||
List<FieldType> list = s.fieldTypeService.getTreeList(param);
|
||||
Map paramMap=new HashMap<>();
|
||||
paramMap.put("children", list);
|
||||
paramMap.put("fieldType", "通用字段");
|
||||
paramMap.put("id", 99999999);
|
||||
List response= new ArrayList<>();
|
||||
response.add(paramMap);
|
||||
return ResponseEntityBuilder.buildNormalResponse(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* getChildren:(获取树形节点的子节点信息)
|
||||
*
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
private FieldType[] getChildren(Map<String, Object> paramMap) {
|
||||
List<FieldType> klist = s.fieldTypeService.getFieldTypeList(paramMap);
|
||||
for (FieldType fieldTreeVo : klist) {
|
||||
paramMap.put("parentId", fieldTreeVo.getId());
|
||||
fieldTreeVo.setChildren(getChildren(paramMap));
|
||||
}
|
||||
FieldType[] kArray = new FieldType[klist.size()];
|
||||
kArray = klist.toArray(kArray);
|
||||
return kArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/addTree 2.02. 添加树节点
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {String} fieldType 文件夹的名字
|
||||
* @apiParam {String} parentId parentId
|
||||
* @apiParam {Integer} [id] id可传可不传,无实际意义
|
||||
* @apiParamExample {json} Request:
|
||||
* {
|
||||
* "parentId": "302",
|
||||
* "fieldType": "测试类型"
|
||||
* }
|
||||
* @apiSuccessExample {json} Success-Response:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"parentId":"302","fieldType":"测试类型","userId":135,"organId":46,"engineId":null,"isCommon":1,"fieldTypeId":365,"id":2810,"result":1}}
|
||||
*/
|
||||
@RequestMapping(value = "/addTree", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.SAVE_FILED_TREE)
|
||||
public ResponseEntityDto<Object> addTree(@RequestBody Map<String, Object> paramMap) {
|
||||
|
||||
// fieldTypeId, parentId, id
|
||||
|
||||
User loginAccount = SessionManager.getLoginAccount();
|
||||
paramMap.put("userId", loginAccount.getUserId());
|
||||
paramMap.put("organId", loginAccount.getOrganId());
|
||||
|
||||
Integer isCommon = 1;
|
||||
Integer engineId = null;
|
||||
if (paramMap.containsKey("engineId") && !paramMap.get("engineId").equals("")) {
|
||||
isCommon = 0;
|
||||
engineId = Integer.valueOf((String) paramMap.get("engineId")).intValue();
|
||||
paramMap.put("engineId", engineId);
|
||||
} else {
|
||||
isCommon = 1;
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
paramMap.put("isCommon", isCommon);
|
||||
|
||||
FieldType fieldTypeVo = new FieldType();
|
||||
fieldTypeVo.setIsCommon(isCommon);
|
||||
fieldTypeVo.setParentId(Integer.valueOf( paramMap.get("parentId").toString()));
|
||||
fieldTypeVo.setFieldType((String) paramMap.get("fieldType"));
|
||||
fieldTypeVo.setType(Integer.valueOf(paramMap.get("type").toString()));
|
||||
boolean flag = s.fieldTypeService.createFieldType(fieldTypeVo, paramMap);
|
||||
if (flag) {
|
||||
paramMap.put("result", 1);
|
||||
} else {
|
||||
paramMap.put("result", -1);
|
||||
}
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/updateTree 2.03. 修改树节点
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} id id
|
||||
* @apiParam {String} fieldType 文件夹的名称
|
||||
* @apiParam {Integer} fieldType 文件夹的名称
|
||||
* @apiParam {String} [status] -1表示删除
|
||||
* @apiParamExample {json} Request:
|
||||
* {
|
||||
* "parentId":302,
|
||||
* "fieldType": "测试哈哈类型",
|
||||
* "id": 365,
|
||||
* "status": 1
|
||||
* }
|
||||
* @apiSuccessExample {json} Success-Response:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"parentId":302,"fieldType":"测试哈哈类型","id":365,"status":1,"userId":135,"engineId":null,"organId":46,"isCommon":1,"result":1}}
|
||||
*/
|
||||
@RequestMapping(value = "/updateTree", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_FILED_TREE)
|
||||
public ResponseEntityDto<Object> updateTree(@RequestBody FieldTreeParam param) {
|
||||
Integer status = param.getStatus();
|
||||
|
||||
boolean b = s.fieldTypeService.updateFieldType(param);
|
||||
if (b){
|
||||
return ResponseEntityBuilder.buildNormalResponse();
|
||||
}
|
||||
return ResponseEntityBuilder.buildErrorResponse("修改指标文件夹错误","修改指标文件夹错误");
|
||||
// int num = this.fieldTypeAjaxValidate(paramMap);
|
||||
// if (num > 0) {
|
||||
// throw new ApiException(ErrorCodeEnum.FIELD_TYPE_REPEAT.getVersionCode(), ErrorCodeEnum.FIELD_TYPE_REPEAT.getMessage());
|
||||
// }
|
||||
|
||||
// User loginAccount = SessionManager.getLoginAccount();
|
||||
// paramMap.put("userId", loginAccount.getUserId());
|
||||
// paramMap.put("organId", loginAccount.getOrganId());
|
||||
//
|
||||
// Integer isCommon = 1;
|
||||
// Integer engineId = null;
|
||||
// if (paramMap.containsKey("engineId") && paramMap.get("engineId") != null && !paramMap.get("engineId").equals("")) {
|
||||
// isCommon = 0;
|
||||
// engineId = Integer.valueOf((String) paramMap.get("engineId")).intValue();
|
||||
// paramMap.put("engineId", engineId);
|
||||
// } else {
|
||||
// isCommon = 1;
|
||||
// paramMap.put("engineId", null);
|
||||
// }
|
||||
//
|
||||
// paramMap.put("isCommon", isCommon);
|
||||
//
|
||||
// boolean flag = s.fieldTypeService.updateFieldType(paramMap);
|
||||
// if (flag) {
|
||||
// paramMap.put("result", 1);
|
||||
// } else {
|
||||
// paramMap.put("result", -1);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
private int fieldTypeAjaxValidate(Map<String, Object> paramMap) {
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
paramMap.put("userId", userId);
|
||||
|
||||
if (!paramMap.containsKey("engineId")) {
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
|
||||
return s.fieldService.isExistsFieldType(paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/list 2.04. 获取指标列表
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} isCommon isCommon 值为1时查询通用字段, 数据库管理不用传isCommon
|
||||
* @apiParam {String} [fieldTypeId] 指标类型id,当fieldTypeId为空或不传时,查询的时整个通用字段下面的所有指标
|
||||
* @apiParam {Integer} pageNo 第几页,默认为 1
|
||||
* @apiParam {Integer} [pageSize] 每页的条数,默认为 10
|
||||
* @apiParamExample {json} Request:
|
||||
* {
|
||||
* "isCommon": 1,
|
||||
* "fieldTypeId": 99999999,
|
||||
* "pageNo": 1,
|
||||
* "pageSize": 2
|
||||
* }
|
||||
* @apiSuccessExample {json} Success-Response:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"fieldVos":[{"page":0,"rows":0,"total":null,"id":876,"fieldEn":"network_real_amount_derive","fieldCn":"网点余额衍生字段","fieldTypeId":302,"fieldType":"物流","valueType":1,"valueTypeName":null,"valueScope":"[-1,9999999)","isDerivative":1,"isDerivativeName":null,"isOutput":0,"isOutputName":null,"isCommon":1,"formula":"","formulaShow":"","usedFieldId":null,"origFieldId":null,"author":135,"nickName":"管理员","created":1615535468000,"engineId":null,"engineName":null,"status":"1","fieldCondList":null,"fieldRelId":null,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":873,"fieldEn":"ziduan111733","fieldCn":"字段111733","fieldTypeId":327,"fieldType":"ddd","valueType":2,"valueTypeName":null,"valueScope":"qwer","isDerivative":0,"isDerivativeName":null,"isOutput":0,"isOutputName":null,"isCommon":1,"formula":"","formulaShow":"","usedFieldId":null,"origFieldId":null,"author":135,"nickName":"管理员","created":1615455268000,"engineId":null,"engineName":null,"status":"1","fieldCondList":null,"fieldRelId":null,"dataSourceId":null,"sqlStatement":null,"useSql":null}],"pager":{"pageNum":1,"pageSize":2,"size":2,"startRow":1,"endRow":2,"total":261,"pages":131,"list":[{"page":0,"rows":0,"total":null,"id":876,"fieldEn":"network_real_amount_derive","fieldCn":"网点余额衍生字段","fieldTypeId":302,"fieldType":"物流","valueType":1,"valueTypeName":null,"valueScope":"[-1,9999999)","isDerivative":1,"isDerivativeName":null,"isOutput":0,"isOutputName":null,"isCommon":1,"formula":"","formulaShow":"","usedFieldId":null,"origFieldId":null,"author":135,"nickName":"管理员","created":1615535468000,"engineId":null,"engineName":null,"status":"1","fieldCondList":null,"fieldRelId":null,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":873,"fieldEn":"ziduan111733","fieldCn":"字段111733","fieldTypeId":327,"fieldType":"ddd","valueType":2,"valueTypeName":null,"valueScope":"qwer","isDerivative":0,"isDerivativeName":null,"isOutput":0,"isOutputName":null,"isCommon":1,"formula":"","formulaShow":"","usedFieldId":null,"origFieldId":null,"author":135,"nickName":"管理员","created":1615455268000,"engineId":null,"engineName":null,"status":"1","fieldCondList":null,"fieldRelId":null,"dataSourceId":null,"sqlStatement":null,"useSql":null}],"prePage":0,"nextPage":2,"isFirstPage":true,"isLastPage":false,"hasPreviousPage":false,"hasNextPage":true,"navigatePages":8,"navigatepageNums":[1,2,3,4,5,6,7,8],"navigateFirstPage":1,"navigateLastPage":8,"firstPage":1,"lastPage":8},"searchKey":null,"fieldTypeId":null,"engineId":null}}
|
||||
*/
|
||||
@RequestMapping(value = "/list", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> list(@RequestBody HashMap<String, Object> paramMap) {
|
||||
|
||||
if (paramMap.get("fieldTypeId") != null && paramMap.get("fieldTypeId").toString().equals("99999999")) {
|
||||
paramMap.put("fieldTypeId", null);
|
||||
}
|
||||
|
||||
Integer pageNo = paramMap.get("pageNo") == null ? 1 : Integer.valueOf(paramMap.get("pageNo").toString());
|
||||
Integer pageSize = paramMap.get("pageSize") == null ? 10 : Integer.valueOf(paramMap.get("pageSize").toString());
|
||||
|
||||
User loginAccount = SessionManager.getLoginAccount();
|
||||
paramMap.put("userId", loginAccount.getUserId());
|
||||
paramMap.put("organId", loginAccount.getOrganId());
|
||||
|
||||
String searchKey = (String) paramMap.get("searchKey");
|
||||
paramMap.put("searchKey", null);
|
||||
|
||||
if (!paramMap.containsKey("status"))
|
||||
paramMap.put("status", null);
|
||||
if (!paramMap.containsKey("engineId"))
|
||||
paramMap.put("engineId", null);
|
||||
|
||||
PageHelper.startPage(pageNo, pageSize);
|
||||
List<Field> fieldList = s.fieldService.findByFieldType(paramMap);
|
||||
PageInfo<Field> pageInfo = new PageInfo<>(fieldList);
|
||||
|
||||
if (fieldList == null) {
|
||||
return ResponseEntityBuilder.buildNormalResponse(null);
|
||||
}
|
||||
|
||||
HashMap<String, Object> modelMap = new HashMap<>();
|
||||
modelMap.put("pager", pageInfo);
|
||||
modelMap.put("engineId", null);
|
||||
modelMap.put("klist",pageInfo.getList());
|
||||
modelMap.put("searchKey", searchKey);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(modelMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/updateStatus 2.05. 指标停用、启用、删除
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} status 0表示停用, 1表示启用, -1表示删除
|
||||
* @apiParam {String} ids id组成的字符串,用逗号分隔
|
||||
* @apiParam {Integer} fieldTypeId fieldTypeId 文件夹的id
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {"status":0,"ids":"820,819,818","fieldTypeId":303}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"status":0,"ids":"820,819,818","fieldTypeId":"303","userId":135,"organId":46,"engineId":null,"Ids":[820,819,818],"fieldId":818,"fieldIds":[818],"fieldList":[],"listDbList":[],"ruleList":[],"scorecardList":[],"nodelistDbList":[],"beUsed":false,"result":true}}
|
||||
*/
|
||||
@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_FILED_STATUS)
|
||||
public ResponseEntityDto<Object> updateStatus(@RequestBody Map<String, Object> param) {
|
||||
|
||||
User loginAccount = SessionManager.getLoginAccount();
|
||||
param.put("userId", loginAccount.getUserId());
|
||||
param.put("organId", loginAccount.getOrganId());
|
||||
|
||||
param.put("engineId", null);
|
||||
|
||||
String idsStr = (String) param.get("ids");
|
||||
List<Long> Ids = StringUtil.toLongList(idsStr);
|
||||
param.put("Ids", Ids);
|
||||
|
||||
String strFieldTypeId = String.valueOf(param.get("fieldTypeId"));
|
||||
if (strFieldTypeId == null) {
|
||||
strFieldTypeId = "";
|
||||
}
|
||||
//Long fieldTypeId = s.fieldService.findFieldTypeId(param);
|
||||
|
||||
s.fieldService.updateStatus(param);
|
||||
|
||||
param.put("fieldTypeId", strFieldTypeId);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/save 2.06. 添加指标
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {String} searchKey searchKey
|
||||
* @apiParam {Long} [id] 指标ID
|
||||
* @apiParam {String} formula 衍生字段公式
|
||||
* @apiParam {String} formulaShow 衍生字段公式回显信息
|
||||
* @apiParam {Long} engineId 归属的引擎ID
|
||||
* @apiParam {String} fieldEn 指标英文名:拼接前缀"f_"
|
||||
* @apiParam {String} fieldCn 指标中文名
|
||||
* @apiParam {Long} fieldTypeId 字段类型编号
|
||||
* @apiParam {Integer} valueType 字段存值类型,待选(0),数值型(1),字符型(2),枚举型(3),小数型(4)
|
||||
* @apiParam {Integer} isDerivative 是否衍生字段,0代表不是,1代表是
|
||||
* @apiParam {Integer} isOutput 是否输出字段,0代表不是,1代表是
|
||||
* @apiParam {String} valueScope 字段约束范围
|
||||
* @apiParam {JSONArray} fieldCondList 条件区域内容(传字符串)
|
||||
* @apiParam (fieldCondList) {String} conditionValue 字段条件值
|
||||
* @apiParam (fieldCondList) {JSONArray} fieldSubCond 字段列表
|
||||
* @apiParam (fieldSubCond) {String} fieldId 条件字段编号
|
||||
* @apiParam (fieldSubCond) {String} operator 条件字段的运算符
|
||||
* @apiParam (fieldSubCond) {String} fieldValue 条件字段的条件设置值
|
||||
* @apiParam (fieldSubCond) {String} logical 条件字段间的逻辑符
|
||||
* @apiParam {JSONArray} formulaHidden 公式编辑、groovy脚本内容(传字符串)
|
||||
* @apiParam (formulaHidden) {String} formula 衍生字段公式
|
||||
* @apiParam (formulaHidden) {String} idx 下标
|
||||
* @apiParam (formulaHidden) {JSONArray} farr 字段列表
|
||||
* @apiParam (farr) {String} fieldCN 字段中文名
|
||||
* @apiParam (farr) {String} fieldCond 字段条件区域
|
||||
* @apiParam {Boolean} isUseSql 是否使用sql获取指标
|
||||
* @apiParam {Integer} dataSourceId 使用sql获取指标时对应的数据源
|
||||
* @apiParam {String} sqlStatement 使用sql获取指标时对应的sql语句
|
||||
* @apiSuccess {String} status 状态: 1成功, 0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {"searchKey":"","fieldTypeId":"302","id":"","formula":"","formulaShow":"","engineId":"","fieldEn":"f_f_f_network_real_amount_derive","fieldCn":"网点余额衍生字段","valueType":"1","isDerivative":"1","isOutput":"0","valueScope":"[-1,9999999)","fieldCondList":[{"fieldSubCond":[{"fieldId":"824","operator":">","fieldValue":"2000","logical":"&&"},{"fieldId":"826","operator":"<","fieldValue":"5000"}],"conditionValue":"666"},{"fieldSubCond":[{"fieldId":"824","operator":"<=","fieldValue":"2000","logical":"&&"},{"fieldId":"826","operator":"<","fieldValue":"5000"}],"conditionValue":"888"}],"formulaHidden":[{"fvalue":"","formula":"@同盾_评分@ - @第三方分值@ ","idx":"0","farr":[{"fieldCN":"同盾_评分","fieldCond":""},{"fieldCN":"第三方分值 ","fieldCond":""}]}],"isUseSql":"0","dataSourceId":null,"sqlStatement":""}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {}
|
||||
*/
|
||||
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.SAVE_FILED)
|
||||
public ResponseEntityDto<Object> save(@RequestBody FieldSaveParam fieldSaveParam) {
|
||||
|
||||
Field fieldVo = new Field();
|
||||
BeanUtils.copyProperties(fieldSaveParam, fieldVo);
|
||||
fieldVo.setUseSql(fieldSaveParam.getIsUseSql());
|
||||
fieldVo.setInterface(fieldSaveParam.getIsInterface());//是否使用接口
|
||||
Map param = JSONObject.parseObject(JSONObject.toJSONString(fieldSaveParam), Map.class);
|
||||
s.fieldService.sqlFieldCheck(param);
|
||||
// 校验
|
||||
HashMap<String, Object> fieldEnValidateMap = new HashMap<>();
|
||||
fieldEnValidateMap.put("fieldEn", param.get("fieldEn"));
|
||||
fieldEnValidateMap.put("engineId", param.get("engineId"));
|
||||
fieldEnValidateMap.put("Id", param.get("id"));
|
||||
int fieldEnNum = fieldEnAjaxValidate(fieldEnValidateMap);
|
||||
if (fieldEnNum > 0) {
|
||||
throw new ApiException(ErrorCodeEnum.FIELD_EN_REPEAT.getCode(), ErrorCodeEnum.FIELD_EN_REPEAT.getMessage());
|
||||
}
|
||||
|
||||
HashMap<String, Object> fieldCnValidateMap = new HashMap<>();
|
||||
fieldCnValidateMap.put("fieldCn", param.get("fieldCn"));
|
||||
fieldCnValidateMap.put("engineId", param.get("engineId"));
|
||||
fieldCnValidateMap.put("Id", param.get("id"));
|
||||
int fieldCnNum = fieldCnAjaxValidate(fieldCnValidateMap);
|
||||
if (fieldCnNum > 0) {
|
||||
throw new ApiException(ErrorCodeEnum.FIELD_CN_REPEAT.getCode(), ErrorCodeEnum.FIELD_CN_REPEAT.getMessage());
|
||||
}
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
param.put("userId", userId);
|
||||
fieldVo.setAuthor(userId);
|
||||
fieldVo.setOrganId(organId);
|
||||
|
||||
//校验字段英文名命名
|
||||
String fieldEn = fieldVo.getFieldEn();
|
||||
Pattern.matches("\\[A-z]|_|d+", fieldEn);
|
||||
|
||||
param.put("fieldEn", fieldVo.getFieldEn());
|
||||
param.put("fieldCn", fieldVo.getFieldCn());
|
||||
param.put("organId", organId);
|
||||
param.put("engineId", null);
|
||||
//组织通用字段
|
||||
Integer isCommon = 1;
|
||||
fieldVo.setIsCommon(isCommon);
|
||||
// String formulaFields = "1,2,3,4";
|
||||
// param.put("formulaFields", formulaFields);
|
||||
|
||||
s.fieldService.createField(fieldVo, param);
|
||||
|
||||
// model.addAttribute("engineId", null);
|
||||
// model.addAttribute("fieldTypeId", Long.valueOf(fieldVo.getFieldTypeId()));
|
||||
// model.addAttribute("isCommon", 1);
|
||||
HashMap<String, Object> modelMap = new HashMap<>();
|
||||
modelMap.put("engineId", null);
|
||||
modelMap.put("fieldTypeId", Long.valueOf(fieldVo.getFieldTypeId()));
|
||||
modelMap.put("isCommon", 1);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(modelMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/getFieldInfo/{id} 2.07. 获取指标详情
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} id 路径参数{id}:指标的id
|
||||
* @apiSuccess {String} status 状态: 1成功, 0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"hasGroovy":null,"fieldFormulaList":[],"fieldVo":{"page":0,"rows":0,"total":null,"id":876,"fieldEn":"network_real_amount_derive","fieldCn":"网点余额衍生字段","fieldTypeId":302,"fieldType":"物流","valueType":1,"valueTypeName":null,"valueScope":"[-1,9999999)","isDerivative":1,"isDerivativeName":null,"isOutput":0,"isOutputName":null,"isCommon":1,"formula":"","formulaShow":"","usedFieldId":"824,826","origFieldId":"824,826","author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":[{"page":0,"rows":0,"total":null,"id":null,"fieldId":876,"conditionValue":"777","content":"[{\"fieldId\":\"824\",\"operator\":\">\",\"fieldValue\":\"2000\",\"logical\":\"&&\"},{\"fieldId\":\"826\",\"operator\":\"<\",\"fieldValue\":\"5000\"}]","condFieldId":null,"condFieldOperator":null,"condFieldValue":null,"condFieldLogical":null,"created":null,"fieldSubCond":[{"fieldId":824,"operator":">","fieldValue":"2000","logical":"&&","valueType":1,"valueScope":"[-1,9999999)","values":["[-1,9999999)"],"fieldCn":"网点实际余额"},{"fieldId":826,"operator":"<","fieldValue":"5000","logical":null,"valueType":1,"valueScope":"[-1,9999999)","values":["[-1,9999999)"],"fieldCn":"网点关闭余额"}]},{"page":0,"rows":0,"total":null,"id":null,"fieldId":876,"conditionValue":"999","content":"[{\"fieldId\":\"824\",\"operator\":\"<=\",\"fieldValue\":\"2000\",\"logical\":\"&&\"},{\"fieldId\":\"826\",\"operator\":\"<\",\"fieldValue\":\"5000\"}]","condFieldId":null,"condFieldOperator":null,"condFieldValue":null,"condFieldLogical":null,"created":null,"fieldSubCond":[{"fieldId":824,"operator":"<=","fieldValue":"2000","logical":"&&","valueType":1,"valueScope":"[-1,9999999)","values":["[-1,9999999)"],"fieldCn":"网点实际余额"},{"fieldId":826,"operator":"<","fieldValue":"5000","logical":null,"valueType":1,"valueScope":"[-1,9999999)","values":["[-1,9999999)"],"fieldCn":"网点关闭余额"}]}],"fieldRelId":null,"dataSourceId":null,"sqlStatement":null,"useSql":null},"scopeList":["[-1","9999999)"],"searchKey":null,"fieldTypeId":302,"hasFormula":null,"engineId":null}}
|
||||
*/
|
||||
@RequestMapping(value = "/getFieldInfo/{id}", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> getFieldInfo(@PathVariable long id, @RequestBody Map<String, Object> param) {
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
paramMap.put("userId", userId);
|
||||
paramMap.put("organId", organId);
|
||||
paramMap.put("engineId", null);
|
||||
paramMap.put("id", id);
|
||||
paramMap.put("searchKey", param.get("searchKey"));
|
||||
|
||||
Field fieldVo = s.fieldService.findByFieldId(paramMap);
|
||||
|
||||
String fieldEn = fieldVo.getFieldEn();
|
||||
if (!fieldEn.equals("") && fieldEn != null) {
|
||||
// fieldEn = fieldEn.replace("f_", "");
|
||||
fieldVo.setFieldEn(fieldEn);
|
||||
}
|
||||
|
||||
for (FieldCond f : fieldVo.getFieldCondList()) {
|
||||
|
||||
List<FieldSubCondVo> fieldSubCondList = JSONObject.parseArray(f.getContent(), FieldSubCondVo.class);
|
||||
for (FieldSubCondVo fs : fieldSubCondList) {
|
||||
Map<String, Object> paramMap2 = new HashMap<String, Object>();
|
||||
paramMap2.put("userId", userId);
|
||||
paramMap2.put("organId", organId);
|
||||
paramMap2.put("id", fs.getFieldId());
|
||||
|
||||
Field subField = s.fieldService.findByFieldId(paramMap2);
|
||||
|
||||
fs.setValueType(subField.getValueType());
|
||||
fs.setValueScope(subField.getValueScope());
|
||||
fs.setFieldCn(subField.getFieldCn());
|
||||
}
|
||||
f.setFieldSubCond(fieldSubCondList);
|
||||
}
|
||||
|
||||
//编辑页面返回字段列表时去掉自己
|
||||
paramMap.put("fieldId", id);
|
||||
// List<Field> flist = s.fieldService.findByUser(paramMap);
|
||||
String valueScope = fieldVo.getValueScope();
|
||||
List<String> scopeList = null;
|
||||
if(StringUtils.isNotBlank(valueScope)){
|
||||
scopeList = Arrays.asList(valueScope.split(","));
|
||||
}
|
||||
|
||||
List<FieldFormulaVo> fieldFormulaList = new ArrayList<FieldFormulaVo>();
|
||||
String hasGroovy = null;
|
||||
if (fieldVo.getFormulaShow() != null && !fieldVo.getFormulaShow().equals("")) {
|
||||
fieldFormulaList = JSONObject.parseArray(fieldVo.getFormulaShow(), FieldFormulaVo.class);
|
||||
|
||||
for (FieldFormulaVo fieldFormulaVo : fieldFormulaList) {
|
||||
if (fieldFormulaVo.getFormula() != null && fieldFormulaVo.getFormula().contains("def main")) {
|
||||
hasGroovy = "y";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String hasFormula = null;
|
||||
if (StringUtils.isNotBlank(fieldVo.getFormula())) {
|
||||
hasFormula = "y";
|
||||
}
|
||||
|
||||
// model.addAttribute("fieldVo", fieldVo);
|
||||
// model.addAttribute("hasFormula", hasFormula);
|
||||
// model.addAttribute("hasGroovy", hasGroovy);
|
||||
// model.addAttribute("engineId", null);
|
||||
// model.addAttribute("fieldTypeId", Long.valueOf(fieldVo.getFieldTypeId()));
|
||||
// model.addAttribute("searchKey", param.get("searchKey"));
|
||||
// model.addAttribute("flist", flist);
|
||||
// model.addAttribute("scopeList", scopeList);
|
||||
// model.addAttribute("fieldFormulaList", fieldFormulaList);
|
||||
HashMap<String, Object> modelMap = new HashMap<>();
|
||||
modelMap.put("fieldVo", fieldVo);
|
||||
modelMap.put("hasFormula", hasFormula);
|
||||
modelMap.put("hasGroovy", hasGroovy);
|
||||
modelMap.put("engineId", null);
|
||||
modelMap.put("fieldTypeId", Long.valueOf(fieldVo.getFieldTypeId()));
|
||||
modelMap.put("searchKey", param.get("searchKey"));
|
||||
// modelMap.put("flist", flist);
|
||||
modelMap.put("scopeList", scopeList);
|
||||
modelMap.put("fieldFormulaList", fieldFormulaList);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(modelMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/update 2.08. 编辑指标
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {String} searchKey searchKey
|
||||
* @apiParam {Long} id 指标ID
|
||||
* @apiParam {String} formula 衍生字段公式
|
||||
* @apiParam {String} formulaShow 衍生字段公式回显信息
|
||||
* @apiParam {Long} engineId 归属的引擎ID
|
||||
* @apiParam {String} fieldEn 指标英文名:拼接前缀"f_"
|
||||
* @apiParam {String} fieldCn 指标中文名
|
||||
* @apiParam {Long} fieldTypeId 字段类型编号
|
||||
* @apiParam {Integer} valueType 字段存值类型,待选(0),数值型(1),字符型(2),枚举型(3),小数型(4)
|
||||
* @apiParam {Integer} isDerivative 是否衍生字段,0代表不是,1代表是
|
||||
* @apiParam {Integer} isOutput 是否输出字段,0代表不是,1代表是
|
||||
* @apiParam {String} valueScope 字段约束范围
|
||||
* @apiParam {JSONArray} fieldCondList 条件区域内容(传字符串)
|
||||
* @apiParam (fieldCondList) {String} conditionValue 字段条件值
|
||||
* @apiParam (fieldCondList) {JSONArray} fieldSubCond 字段列表
|
||||
* @apiParam (fieldSubCond) {String} fieldId 条件字段编号
|
||||
* @apiParam (fieldSubCond) {String} operator 条件字段的运算符
|
||||
* @apiParam (fieldSubCond) {String} fieldValue 条件字段的条件设置值
|
||||
* @apiParam (fieldSubCond) {String} logical 条件字段间的逻辑符
|
||||
* @apiParam {JSONArray} formulaHidden 公式编辑、groovy脚本内容(传字符串)
|
||||
* @apiParam (formulaHidden) {String} formula 衍生字段公式
|
||||
* @apiParam (formulaHidden) {String} idx 下标
|
||||
* @apiParam (formulaHidden) {JSONArray} farr 字段列表
|
||||
* @apiParam (farr) {String} fieldCN 字段中文名
|
||||
* @apiParam (farr) {String} fieldCond 字段条件区域
|
||||
* @apiParam {Boolean} isUseSql 是否使用sql获取指标
|
||||
* @apiParam {Integer} dataSourceId 使用sql获取指标时对应的数据源
|
||||
* @apiParam {String} sqlStatement 使用sql获取指标时对应的sql语句
|
||||
* @apiSuccess {String} status 状态: 1成功, 0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {"searchKey":"","fieldTypeId":"302","id":876,"formula":"","formulaShow":"","engineId":"","fieldEn":"f_f_f_network_real_amount_derive","fieldCn":"网点余额衍生字段","valueType":"1","isDerivative":"1","isOutput":"0","valueScope":"[-1,9999999)","fieldCondList":[{"fieldSubCond":[{"fieldId":"824","operator":">","fieldValue":"2000","logical":"&&"},{"fieldId":"826","operator":"<","fieldValue":"5000"}],"conditionValue":"666"},{"fieldSubCond":[{"fieldId":"824","operator":"<=","fieldValue":"2000","logical":"&&"},{"fieldId":"826","operator":"<","fieldValue":"5000"}],"conditionValue":"888"}],"formulaHidden":[{"fvalue":"","formula":"@同盾_评分@ - @第三方分值@ ","idx":"0","farr":[{"fieldCN":"同盾_评分","fieldCond":""},{"fieldCN":"第三方分值 ","fieldCond":""}]}],"isUseSql":"0","dataSourceId":null,"sqlStatement":""}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {}
|
||||
*/
|
||||
@RequestMapping(value = "/update", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_FILED)
|
||||
public ResponseEntityDto<Object> update(@RequestBody FieldSaveParam fieldSaveParam) {
|
||||
|
||||
Map paramMap = JSONObject.parseObject(JSONObject.toJSONString(fieldSaveParam), Map.class);
|
||||
|
||||
// 校验
|
||||
HashMap<String, Object> fieldEnValidateMap = new HashMap<>();
|
||||
fieldEnValidateMap.put("fieldEn", paramMap.get("fieldEn"));
|
||||
fieldEnValidateMap.put("engineId", paramMap.get("engineId"));
|
||||
fieldEnValidateMap.put("Id", paramMap.get("id"));
|
||||
int fieldEnNum = fieldEnAjaxValidate(fieldEnValidateMap);
|
||||
if (fieldEnNum > 0) {
|
||||
throw new ApiException(ErrorCodeEnum.FIELD_EN_REPEAT.getCode(), ErrorCodeEnum.FIELD_EN_REPEAT.getMessage());
|
||||
}
|
||||
s.fieldService.sqlFieldCheck(paramMap);
|
||||
HashMap<String, Object> fieldCnValidateMap = new HashMap<>();
|
||||
fieldCnValidateMap.put("fieldCn", paramMap.get("fieldCn"));
|
||||
fieldCnValidateMap.put("engineId", paramMap.get("engineId"));
|
||||
fieldCnValidateMap.put("Id", paramMap.get("id"));
|
||||
int fieldCnNum = fieldCnAjaxValidate(fieldCnValidateMap);
|
||||
if (fieldCnNum > 0) {
|
||||
throw new ApiException(ErrorCodeEnum.FIELD_CN_REPEAT.getCode(), ErrorCodeEnum.FIELD_CN_REPEAT.getMessage());
|
||||
}
|
||||
|
||||
HashMap<String, Object> checkFieldMap = new HashMap<>();
|
||||
checkFieldMap.put("fieldId", paramMap.get("id").toString());
|
||||
Map<String, Object> checkFieldresult = checkField(checkFieldMap);
|
||||
boolean beUsed = (boolean) checkFieldresult.get("beUsed");
|
||||
if (beUsed) {
|
||||
throw new ApiException(ErrorCodeEnum.FIELD_BE_USERD.getCode(), ErrorCodeEnum.FIELD_BE_USERD.getMessage());
|
||||
}
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
paramMap.put("userId", userId);
|
||||
paramMap.put("organId", organId);
|
||||
|
||||
paramMap.put("engineId", null);
|
||||
//组织通用字段
|
||||
Integer isCommon = 1;
|
||||
paramMap.put("isCommon", isCommon);
|
||||
// String formulaFields = "50,70,90";
|
||||
// paramMap.put("formulaFields", formulaFields);
|
||||
|
||||
s.fieldService.updateField(paramMap);
|
||||
|
||||
// model.addAttribute("engineId", null);
|
||||
// model.addAttribute("fieldTypeId", fieldTypeId);
|
||||
// model.addAttribute("searchKey", paramMap.get("searchKey"));
|
||||
// model.addAttribute("isCommon", 1);
|
||||
|
||||
HashMap<String, Object> modelMap = new HashMap<>();
|
||||
modelMap.put("engineId", null);
|
||||
//modelMap.put("fieldTypeId",fieldTypeId);
|
||||
modelMap.put("searchKey", paramMap.get("searchKey"));
|
||||
modelMap.put("isCommon", 1);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(modelMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/findFieldByUser 2.09. 获当前用户的所有指标
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {String} [searchKey] searchKey
|
||||
* @apiParam {String} [engineId] engineId
|
||||
* @apiParam {String} [fieldId] fieldId
|
||||
* @apiSuccess {String} status 状态: 1成功, 0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"organId":46,"isCommon":1,"searchKey":"","userId":135,"fieldList":[{"page":0,"rows":0,"total":null,"id":587,"fieldEn":"f_hr_age","fieldCn":"年龄准入","fieldTypeId":270,"fieldType":"准入","valueType":1,"valueTypeName":null,"valueScope":"(-1,999999]","isDerivative":null,"isDerivativeName":null,"isOutput":null,"isOutputName":null,"isCommon":null,"formula":null,"formulaShow":null,"usedFieldId":null,"origFieldId":null,"author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":null,"fieldRelId":8739,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":871,"fieldEn":"f_ziduan111428","fieldCn":"字段111428","fieldTypeId":362,"fieldType":"3月11日测试","valueType":2,"valueTypeName":null,"valueScope":"qwer","isDerivative":null,"isDerivativeName":null,"isOutput":null,"isOutputName":null,"isCommon":null,"formula":null,"formulaShow":null,"usedFieldId":null,"origFieldId":null,"author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":null,"fieldRelId":10294,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":872,"fieldEn":"f_ziduan111518","fieldCn":"字段111518","fieldTypeId":327,"fieldType":"ddd","valueType":2,"valueTypeName":null,"valueScope":"qwer","isDerivative":null,"isDerivativeName":null,"isOutput":null,"isOutputName":null,"isCommon":null,"formula":null,"formulaShow":null,"usedFieldId":null,"origFieldId":null,"author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":null,"fieldRelId":10295,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":873,"fieldEn":"f_ziduan111733","fieldCn":"字段111733","fieldTypeId":327,"fieldType":"ddd","valueType":2,"valueTypeName":null,"valueScope":"qwer","isDerivative":null,"isDerivativeName":null,"isOutput":null,"isOutputName":null,"isCommon":null,"formula":null,"formulaShow":null,"usedFieldId":null,"origFieldId":null,"author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":null,"fieldRelId":10296,"dataSourceId":null,"sqlStatement":null,"useSql":null},{"page":0,"rows":0,"total":null,"id":876,"fieldEn":"f_f_f_network_real_amount_derive","fieldCn":"网点余额衍生字段","fieldTypeId":302,"fieldType":"物流","valueType":1,"valueTypeName":null,"valueScope":"[-1,9999999)","isDerivative":null,"isDerivativeName":null,"isOutput":null,"isOutputName":null,"isCommon":null,"formula":null,"formulaShow":null,"usedFieldId":null,"origFieldId":null,"author":null,"nickName":null,"created":null,"engineId":null,"engineName":null,"status":null,"fieldCondList":null,"fieldRelId":10299,"dataSourceId":null,"sqlStatement":null,"useSql":null}],"engineId":null,"fieldId":""}}
|
||||
*/
|
||||
@RequestMapping(value = "/findFieldByUser", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> findFieldByUser(@RequestBody HashMap<String, Object> paramMap) {
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
paramMap.put("userId", userId);
|
||||
paramMap.put("organId", organId);
|
||||
|
||||
Integer isCommon = 1;
|
||||
Integer engineId = null;
|
||||
if (paramMap.containsKey("engineId") && !paramMap.get("engineId").equals("")) {
|
||||
isCommon = 0;
|
||||
engineId = Integer.valueOf((String) paramMap.get("engineId")).intValue();
|
||||
paramMap.put("engineId", engineId);
|
||||
} else {
|
||||
isCommon = 1;
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
paramMap.put("isCommon", isCommon);
|
||||
|
||||
if (!paramMap.containsKey("fieldId")) {
|
||||
paramMap.put("fieldId", null);
|
||||
}
|
||||
|
||||
List<Field> fieldList = s.fieldService.findByUser(paramMap);
|
||||
|
||||
paramMap.put("fieldList", fieldList);
|
||||
|
||||
return ResponseEntityBuilder.buildNormalResponse(paramMap);
|
||||
}
|
||||
|
||||
private Map<String, Object> checkField(Map<String, Object> param) {
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
param.put("userId", userId);
|
||||
param.put("organId", organId);
|
||||
param.put("engineId", null);
|
||||
|
||||
return s.fieldService.checkField(param);
|
||||
}
|
||||
|
||||
public int fieldEnAjaxValidate(HashMap<String, Object> paramMap) {
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
paramMap.put("userId", userId);
|
||||
|
||||
if ("".equals(paramMap.get("engineId"))) {
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
|
||||
if ("".equals(paramMap.get("Id"))) {
|
||||
paramMap.put("Id", null);
|
||||
}
|
||||
|
||||
paramMap.put("fieldCn", null);
|
||||
|
||||
return s.fieldService.isExists(paramMap);
|
||||
}
|
||||
|
||||
public int fieldCnAjaxValidate(HashMap<String, Object> paramMap) {
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
paramMap.put("userId", userId);
|
||||
|
||||
if ("".equals(paramMap.get("engineId"))) {
|
||||
paramMap.put("engineId", null);
|
||||
}
|
||||
|
||||
if ("".equals(paramMap.get("Id"))) {
|
||||
paramMap.put("Id", null);
|
||||
}
|
||||
|
||||
paramMap.put("fieldEn", null);
|
||||
|
||||
return s.fieldService.isExists(paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/downTemplate 2.10. 指标导入模板下载
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
*/
|
||||
@RequestMapping("downTemplate")
|
||||
public ResponseEntity<byte[]> downExcelTemplate() throws IOException {
|
||||
ClassPathResource classPathResource = new ClassPathResource("excleTemplate/field.xlsx");
|
||||
InputStream inputStream = classPathResource.getInputStream();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
String fileName = new String("基础指标导入模板.xlsx".getBytes("UTF-8"), "iso-8859-1");//为了解决中文名称乱码问题
|
||||
headers.setContentDispositionFormData("attachment", fileName);
|
||||
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
|
||||
return new ResponseEntity<byte[]>(IOUtils.toByteArray(inputStream), headers, HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/upload 2.11. 批量导入指标
|
||||
* @apiGroup field
|
||||
* @apiVersion 2.0.0
|
||||
*/
|
||||
@RequestMapping(value = "upload", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> upload(HttpServletRequest request) throws Exception {
|
||||
//将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
|
||||
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
|
||||
//检查form中是否有enctype="multipart/form-data"
|
||||
|
||||
String accessUrl = "";
|
||||
String fileName = "";
|
||||
if (multipartResolver.isMultipart(request)) {
|
||||
//将request变成多部分request
|
||||
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
|
||||
//获取multiRequest 中所有的文件名
|
||||
Iterator iter = multiRequest.getFileNames();
|
||||
while (iter.hasNext()) {
|
||||
//一次遍历所有文件
|
||||
MultipartFile file = multiRequest.getFile(iter.next().toString());
|
||||
if (file != null) {
|
||||
|
||||
String uploadDir = request.getSession().getServletContext().getRealPath("/") + "upload/fieldUpload/";
|
||||
if (!new File(uploadDir).exists()) {
|
||||
File dir = new File(uploadDir);
|
||||
dir.mkdirs();
|
||||
}
|
||||
fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
|
||||
String path = uploadDir + fileName;
|
||||
//上传
|
||||
file.transferTo(new File(path));
|
||||
accessUrl = path;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Long userId = SessionManager.getLoginAccount().getUserId();
|
||||
Long organId = SessionManager.getLoginAccount().getOrganId();
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("userId", userId);
|
||||
paramMap.put("author", userId);
|
||||
paramMap.put("organId", organId);
|
||||
Integer isCommon = 0;
|
||||
if (paramMap.get("engineId") == null) {
|
||||
isCommon = 1;
|
||||
} else {
|
||||
isCommon = 0;
|
||||
}
|
||||
paramMap.put("isCommon", isCommon);
|
||||
|
||||
Map<String, Object> resultMap = s.fieldService.importExcel(accessUrl, paramMap);
|
||||
return ResponseEntityBuilder.buildNormalResponse(resultMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v2/datamanage/field/getEngineFields 2.xx. 获取引擎可用字段
|
||||
* @apiGroup zzzzz01
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Integer} isOutput 是否输出字段,0代表不是,1代表是,默认不是(0)
|
||||
* @apiParam {Integer} [engineId] 引擎id
|
||||
* @apiSuccess {String} status 状态:1成功,0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {"isOutput":0}
|
||||
* {"isOutput":1}
|
||||
* {"isOutput":0,"engineId":211}
|
||||
* {"isOutput":1,"engineId":211}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {待完善}
|
||||
*/
|
||||
@RequestMapping(value = "/getEngineFields", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> getEngineFields(@RequestBody Map<String, Object> paramMap) {
|
||||
//通过引擎编号查询可用字段,后面可以放到缓存中
|
||||
User user = SessionManager.getLoginAccount();
|
||||
paramMap.put("userId", user.getUserId());
|
||||
paramMap.put("organId", user.getOrganId());
|
||||
List<Field> fields = s.fieldService.getFieldList(paramMap);
|
||||
if (CollectionUtil.isNotNullOrEmpty(fields)) {
|
||||
List<FieldEnumVo> fieldEnumVos = new ArrayList<FieldEnumVo>();
|
||||
FieldEnumVo fieldEnumVo = null;
|
||||
for (Field field : fields) {
|
||||
fieldEnumVo = new FieldEnumVo();
|
||||
fieldEnumVo.setField(field);
|
||||
if (field.getValueType() == ValueType.Enum.getValue()) {
|
||||
//如果是枚举
|
||||
String valueScope = field.getValueScope();
|
||||
if (StringUtil.isValidStr(valueScope)) {
|
||||
//获取枚举值
|
||||
fieldEnumVo.setEnums(Arrays.asList(valueScope.split(CommonConst.SYMBOL_COMMA)));
|
||||
}
|
||||
}
|
||||
fieldEnumVos.add(fieldEnumVo);
|
||||
}
|
||||
return ResponseEntityBuilder.buildNormalResponse(fieldEnumVos);
|
||||
}
|
||||
return ResponseEntityBuilder.buildNormalResponse(new ArrayList<FieldEnumVo>());
|
||||
}
|
||||
|
||||
@PostMapping(value = "/updateFieldFolder")
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_FIELD_FOLDER)
|
||||
public ResponseEntityDto<Object> updateFieldFolder(@RequestBody UpdateFolderParam param){
|
||||
UpdateFolderParam.checkNotNull(param);
|
||||
int result = s.fieldService.updateFieldFolder(param);
|
||||
if (result>0){
|
||||
return ResponseEntityBuilder.buildNormalResponse("成功移动"+result+"条数据");
|
||||
}
|
||||
return ResponseEntityBuilder.buildErrorResponse("移动失败","");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.risk.riskmanage.datamanage.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.FieldCond;
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
|
||||
public interface FieldCondMapper extends BaseMapper<FieldCond> {
|
||||
|
||||
/**
|
||||
* createFieldCond:(生成条件关系). <br/>
|
||||
*
|
||||
* @param
|
||||
* @return 字段列表
|
||||
*/
|
||||
public boolean createFieldCond(List<FieldCond> fieldCondVoList);
|
||||
|
||||
/**
|
||||
* getFieldCondList:(找出字段条件设置(去重)). <br/>
|
||||
*
|
||||
* @param
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<FieldCond> getFieldCondList(Long fieldId);
|
||||
|
||||
/**
|
||||
* deleteFieldCondById:(删除字段的条件设置). <br/>
|
||||
*
|
||||
* @param
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
public boolean deleteFieldCondById(Long id);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,270 @@
|
||||
package com.risk.riskmanage.datamanage.mapper;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.datamanage.model.Field;
|
||||
import com.risk.riskmanage.common.model.requestParam.UpdateFolderParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
public interface FieldMapper extends BaseMapper<Field> {
|
||||
|
||||
/**
|
||||
* findByFieldType:(根据字段类型名找出该用户可用的字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findByFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* checkField:(查找引用该字段的所有字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段id逗号分隔字符串
|
||||
*/
|
||||
public String checkField(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* getSourceField:(查找构成该字段的子字段及原生字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public String getSourceField(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldByIds:(找出一批字段id对应的字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findFieldByIds(Map<String,Object> paramMap);
|
||||
/**
|
||||
* findFieldByIds:(找出一批字段id对应的字段列表). <br/>
|
||||
* @author caowenyu
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findFieldByIdsbyorganId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldIdsByTypeIds:(找出一批字段类型id对应的字段id列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段id逗号分隔字符串
|
||||
*/
|
||||
public String findFieldIdsByTypeIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldTypeIdsByFieldId:(在引擎里找出一批字段id对应的唯一字段类型id串). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型id逗号分隔字符串
|
||||
*/
|
||||
public String findFieldTypeIdsByFieldId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findOrgFieldTypeIdsByIds:(在通用字段里找出一批字段id对应的唯一字段类型id串). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型id逗号分隔字符串
|
||||
*/
|
||||
public String findOrgFieldTypeIdsByIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldByIdsForCheckField:(找出一批字段id的字段列表(包含引擎引用的通用字段,engineId为空是不加engineId=null条件)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findFieldByIdsForCheckField(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findOrgFieldIdsByTypeIds:(在通用字段里找出一批字段类型id的字段id列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public String findOrgFieldIdsByTypeIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldName:(根据字段英文或中文名找出字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldName(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldEn:(根据引擎和字段英文名找出引擎所用字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldEn(Map<String,Object> paramMap);
|
||||
/**
|
||||
* findByFieldEn:(根据引擎和字段英文名找出引擎所用字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldEnbyorganId(Map<String,Object> paramMap);
|
||||
|
||||
|
||||
/**
|
||||
* findByFieldCn:(根据字段中文名找出字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldCn(Map<String,Object> paramMap);
|
||||
/**
|
||||
* findByFieldCn:(根据字段中文名找出字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldCnbyorganId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldCn:(按中文名查找通用字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldCnNoEngineId(Map<String,Object> paramMap);
|
||||
/**
|
||||
* findByFieldCn:(按中文名查找通用字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldCnNoEngineIdbyorganId(Map<String,Object> paramMap);
|
||||
|
||||
|
||||
/**
|
||||
* findByUser:(找出该用户可用字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<Field> findByUser(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* searchByName:(模糊查找该用户可用字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<Field> searchByName(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldTypeId:(根据批量选择的字段ID查找出它们的字段类型ID). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return fieldTypeId
|
||||
* */
|
||||
public Long findFieldTypeId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* countByParams:(字段列表记录数). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表记录条数
|
||||
*/
|
||||
public int countByParams(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldId:(根据字段Id查找字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldId:(根据字段Id查找字段对象). <br/>
|
||||
* @author caowenyu
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldIdbyorganId(Map<String,Object> paramMap);
|
||||
|
||||
|
||||
/**
|
||||
* findByFieldIdNoEngineId:(根据字段Id查找组织通用字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldIdNoEngineId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* createField:(添加字段). <br/>
|
||||
*
|
||||
* @param fieldVo 字段实体对象
|
||||
* @return 插入是否成功
|
||||
*/
|
||||
public boolean createField(Field fieldVo);
|
||||
|
||||
/**
|
||||
* batchCreateField:(批量添加字段). <br/>
|
||||
*
|
||||
* @param fieldVoList 字段实体对象list集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public boolean batchCreateField(List<Field > fieldVoList);
|
||||
|
||||
/**
|
||||
* updateField:(修改字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新是否成功
|
||||
*/
|
||||
|
||||
public boolean updateField(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* isExists:(根据字段英文或中文名查找字段是否存在). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExists(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* getFieldList:(获取组织的所有字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public List<Field> getFieldList(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldByIds:(找出一批字段id对应的字段,并且为衍生字段列表). <br/>
|
||||
* @author caowenyu
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findFieldByIdsAndIsderivative(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findExcelByFieldType:(获取导出Excel需要的字段信息). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public List<Field> findExcelByFieldType(Map<String,Object> paramMap);
|
||||
|
||||
public String findFieldNameById(Long fieldId);
|
||||
|
||||
int updateFieldFolder(UpdateFolderParam param);
|
||||
|
||||
List<Field> selectByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
List<Field> selectByEns(@Param("ens") Collection<String> ens);
|
||||
|
||||
List<Field> selectByOrganCns(@Param("cns")Collection<String> cns,@Param("organId")Long organId);
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
package com.risk.riskmanage.datamanage.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.datamanage.model.FieldType;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldTreeParam;
|
||||
|
||||
public interface FieldTypeMapper extends BaseMapper<FieldType> {
|
||||
|
||||
/**
|
||||
* getFieldTypeList:(查找用户的字段类型列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<FieldType> getFieldTypeList(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* getSubFieldTypeList:(根据传入的字段父类型查找子类型列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<FieldType> getSubFieldTypeList(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldTypeById:(根据传入的字段类型ID查找字段类型名). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public FieldType findFieldTypeById(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findTypeIdByParentId:(根据传入的字段类型父ID查找子类型ID). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 子字段类型ID
|
||||
*/
|
||||
public String findTypeIdByParentId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findTypeIdByParentId:(根据传入的字段类型类型ID查找父ID). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 子字段类型ID
|
||||
*/
|
||||
public String findParentIdByTypeId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldType:(查找用户可用的字段类型列表,通用组织所有,引擎只有自定义). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<FieldType> findFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* createFieldType:(新增字段类型). <br/>
|
||||
*
|
||||
* @param fieldTypeVo 字段类型实体类
|
||||
* @return 插入成功
|
||||
*/
|
||||
public boolean createFieldType(FieldType fieldTypeVo);
|
||||
|
||||
/**
|
||||
* findIdByFieldType:(新增字段类型). <br/>
|
||||
*
|
||||
* @param paramMap paramMap
|
||||
* @return 字段类型编号
|
||||
*/
|
||||
public long findIdByFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateFieldType:(更新字段类型名). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean updateFieldType(FieldTreeParam param);
|
||||
|
||||
/**
|
||||
* updateFieldTypeByTypeIds:(更新字段类型为删除状态(-1)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean updateFieldTypeByTypeIds(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* deleteFieldTypeByTypeIds:(删除字段类型下没有字段的空节点)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean deleteFieldTypeByTypeIds(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* backFieldTypeByTypeIds:(更新字段类型状态为启用状态(1)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean backFieldTypeByTypeIds(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* isExists:(查找字段名是否存在). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExists(Map<String,Object> paramMap);
|
||||
|
||||
|
||||
/**
|
||||
* isExistsDefaultTreeName:(查找默认节点名是否存在). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExistsDefaultTreeName(Map<String,Object> paramMap);
|
||||
|
||||
List<FieldType> selectFieldTypeList(FieldTreeParam param);
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.risk.riskmanage.datamanage.mapper;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.datamanage.model.FieldTypeUser;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldTreeParam;
|
||||
|
||||
public interface FieldTypeUserMapper extends BaseMapper<FieldTypeUser> {
|
||||
|
||||
/**
|
||||
* createFieldTypeUserRel:(新增字段类型). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
*/
|
||||
public boolean createFieldTypeUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* batchBindEngineFieldTypeUserRel:(把一批通用字段类型id中不存在的类型id批量绑定到引擎). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
*/
|
||||
public boolean batchBindEngineFieldTypeUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* deleteFieldTypeUserRel:(取消字段类型). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 删除成功
|
||||
*/
|
||||
public boolean deleteFieldTypeUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateFieldTypeUserRel:(更新字段类型名). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean updateFieldTypeUserRel(FieldTreeParam param);
|
||||
|
||||
/**
|
||||
* findNodeIds:(查找引擎在用的节点集合). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public String findNodeIds(Map<String, Object> paramMap);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.risk.riskmanage.datamanage.mapper;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.FieldUser;
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
|
||||
public interface FieldUserMapper extends BaseMapper<FieldUser> {
|
||||
|
||||
/**
|
||||
* createFieldUserRel:(绑定字段和用户关系). <br/>
|
||||
*
|
||||
* @param fieldUser 用户字段实体类
|
||||
* @return 插入成功
|
||||
* */
|
||||
public boolean createFieldUserRel(FieldUser fieldUserVo);
|
||||
|
||||
/**
|
||||
* batchCreateFieldUserRel:(批量导入字段信息后批量绑定字段和用户关系). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
* */
|
||||
public boolean batchCreateFieldUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* batchBindEngineFieldUserRel:(把一批通用字段id中未绑定的字段id批量绑定到引擎). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
* */
|
||||
public boolean batchBindEngineFieldUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* batchCreateEngineFieldUserRel:(把id、英文名、中文名不重复的组织字段批量绑定到引擎). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
* */
|
||||
public boolean batchCreateEngineFieldUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateFieldUserRel:(更新字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
* */
|
||||
public boolean updateFieldUserRel(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateStatus:(单个或批量更新用户字段关系). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
* */
|
||||
public boolean updateStatus(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* deleteFieldByIds:(批量修改字段启用状态为删除状态(-1)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新是否成功
|
||||
*/
|
||||
public boolean deleteFieldByIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* deleteFieldByIds:(批量修改字段删除状态为启用状态(1)). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新是否成功
|
||||
*/
|
||||
public boolean backFieldByIds(Map<String,Object> paramMap);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,456 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class Field extends BasePage implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* */
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 字段英文名
|
||||
* */
|
||||
private String fieldEn;
|
||||
|
||||
/**
|
||||
* 字段中文名
|
||||
* */
|
||||
private String fieldCn;
|
||||
|
||||
/**
|
||||
* 字段类型编号
|
||||
* */
|
||||
private Long fieldTypeId;
|
||||
|
||||
/**
|
||||
* 字段类型名
|
||||
* */
|
||||
private String fieldType;
|
||||
|
||||
/**
|
||||
* 字段存值类型
|
||||
* */
|
||||
private Integer valueType;
|
||||
|
||||
/**
|
||||
* 字段存值类型中文
|
||||
* */
|
||||
private String valueTypeName;
|
||||
|
||||
/**
|
||||
* 字段约束范围
|
||||
* */
|
||||
private String valueScope;
|
||||
|
||||
/**
|
||||
* 是否衍生字段
|
||||
* */
|
||||
private Integer isDerivative;
|
||||
|
||||
/**
|
||||
* 是否衍生字段
|
||||
* */
|
||||
private String isDerivativeName;
|
||||
|
||||
/**
|
||||
* 是否输出字段
|
||||
* */
|
||||
private Integer isOutput;
|
||||
|
||||
/**
|
||||
* 是否输出字段
|
||||
* */
|
||||
private String isOutputName;
|
||||
|
||||
/**
|
||||
* 是否组织定义的通用字段
|
||||
* */
|
||||
private Integer isCommon;
|
||||
|
||||
/**
|
||||
* 衍生字段公式
|
||||
* */
|
||||
private String formula;
|
||||
|
||||
/**
|
||||
* 衍生字段公式回显信息
|
||||
* */
|
||||
private String formulaShow;
|
||||
|
||||
/**
|
||||
* 衍生字段引用的字段id
|
||||
* */
|
||||
private String usedFieldId;
|
||||
|
||||
/**
|
||||
* 衍生字段引用的原生字段id
|
||||
* */
|
||||
private String origFieldId;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
* */
|
||||
private Long author;
|
||||
|
||||
/**
|
||||
* 创建人昵称
|
||||
* */
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* */
|
||||
private Date created;
|
||||
|
||||
/**
|
||||
* 归属的引擎ID
|
||||
* */
|
||||
private Long engineId;
|
||||
|
||||
/**
|
||||
* 归属的引擎名称
|
||||
* */
|
||||
private String engineName;
|
||||
|
||||
/**
|
||||
* 字段状态(启用、停用、删除、未知)
|
||||
* */
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 字段条件设置集合
|
||||
* */
|
||||
private List<FieldCond> fieldCondList;
|
||||
|
||||
/**
|
||||
* 字段用户关系编号
|
||||
* */
|
||||
private Long fieldRelId;
|
||||
|
||||
/**
|
||||
* 是否使用sql获取指标
|
||||
*/
|
||||
private Boolean isUseSql;
|
||||
|
||||
/**
|
||||
* 使用sql获取指标时对应的数据源
|
||||
*/
|
||||
private Integer dataSourceId;
|
||||
|
||||
/**
|
||||
* 使用sql获取指标时对应的sql语句
|
||||
*/
|
||||
private String sqlStatement;
|
||||
|
||||
/**
|
||||
* sql变量配置
|
||||
*/
|
||||
private String sqlVariable;
|
||||
|
||||
//是否使用接口
|
||||
private Boolean isInterface;
|
||||
|
||||
//接口id
|
||||
private Integer interfaceId;
|
||||
|
||||
//接口解析指标
|
||||
private String interfaceParseField;
|
||||
|
||||
//json类型对应的json值
|
||||
private String jsonValue;
|
||||
//字典变量如:日期字符串
|
||||
private String dictVariable;
|
||||
|
||||
public String getDictVariable() {
|
||||
return dictVariable;
|
||||
}
|
||||
|
||||
public void setDictVariable(String dicVariable) {
|
||||
this.dictVariable = dicVariable;
|
||||
}
|
||||
|
||||
/**
|
||||
* 该字段归属的组织编号
|
||||
* */
|
||||
private Long organId;
|
||||
|
||||
public String getInterfaceParseField() {
|
||||
return interfaceParseField;
|
||||
}
|
||||
|
||||
public void setInterfaceParseField(String interfaceParseField) {
|
||||
this.interfaceParseField = interfaceParseField;
|
||||
}
|
||||
|
||||
public String getJsonValue() {
|
||||
return jsonValue;
|
||||
}
|
||||
|
||||
public void setJsonValue(String jsonValue) {
|
||||
this.jsonValue = jsonValue;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getFieldEn() {
|
||||
return fieldEn;
|
||||
}
|
||||
public void setFieldEn(String fieldEn) {
|
||||
this.fieldEn = fieldEn;
|
||||
}
|
||||
public String getFieldCn() {
|
||||
return fieldCn;
|
||||
}
|
||||
public void setFieldCn(String fieldCn) {
|
||||
this.fieldCn = fieldCn;
|
||||
}
|
||||
public Long getFieldTypeId() {
|
||||
return fieldTypeId;
|
||||
}
|
||||
public void setFieldTypeId(Long fieldTypeId) {
|
||||
this.fieldTypeId = fieldTypeId;
|
||||
}
|
||||
public Integer getValueType() {
|
||||
return valueType;
|
||||
}
|
||||
public void setValueType(Integer valueType) {
|
||||
this.valueType = valueType;
|
||||
}
|
||||
public String getValueScope() {
|
||||
return valueScope;
|
||||
}
|
||||
public void setValueScope(String valueScope) {
|
||||
this.valueScope = valueScope;
|
||||
}
|
||||
|
||||
public Integer getIsDerivative() {
|
||||
return isDerivative;
|
||||
}
|
||||
public void setIsDerivative(Integer isDerivative) {
|
||||
this.isDerivative = isDerivative;
|
||||
}
|
||||
|
||||
public Integer getIsOutput() {
|
||||
return isOutput;
|
||||
}
|
||||
public void setIsOutput(Integer isOutput) {
|
||||
this.isOutput = isOutput;
|
||||
}
|
||||
public Integer getIsCommon() {
|
||||
return isCommon;
|
||||
}
|
||||
public void setIsCommon(Integer isCommon) {
|
||||
this.isCommon = isCommon;
|
||||
}
|
||||
public String getFormula() {
|
||||
return formula;
|
||||
}
|
||||
public void setFormula(String formula) {
|
||||
this.formula = formula;
|
||||
}
|
||||
public String getFormulaShow() {
|
||||
return formulaShow;
|
||||
}
|
||||
public void setFormulaShow(String formulaShow) {
|
||||
this.formulaShow = formulaShow;
|
||||
}
|
||||
public String getUsedFieldId() {
|
||||
return usedFieldId;
|
||||
}
|
||||
public void setUsedFieldId(String usedFieldId) {
|
||||
this.usedFieldId = usedFieldId;
|
||||
}
|
||||
public String getOrigFieldId() {
|
||||
return origFieldId;
|
||||
}
|
||||
public void setOrigFieldId(String origFieldId) {
|
||||
this.origFieldId = origFieldId;
|
||||
}
|
||||
public Long getAuthor() {
|
||||
return author;
|
||||
}
|
||||
public void setAuthor(Long author) {
|
||||
this.author = author;
|
||||
}
|
||||
public String getNickName() {
|
||||
return nickName;
|
||||
}
|
||||
public void setNickName(String nickName) {
|
||||
this.nickName = nickName;
|
||||
}
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
public Long getEngineId() {
|
||||
return engineId;
|
||||
}
|
||||
public void setEngineId(Long engineId) {
|
||||
this.engineId = engineId;
|
||||
}
|
||||
public String getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
public void setFieldType(String fieldType) {
|
||||
this.fieldType = fieldType;
|
||||
}
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
public Long getFieldRelId() {
|
||||
return fieldRelId;
|
||||
}
|
||||
public void setFieldRelId(Long fieldRelId) {
|
||||
this.fieldRelId = fieldRelId;
|
||||
}
|
||||
public List<FieldCond> getFieldCondList() {
|
||||
return fieldCondList;
|
||||
}
|
||||
public void setFieldCondList(List<FieldCond> fieldCondList) {
|
||||
this.fieldCondList = fieldCondList;
|
||||
}
|
||||
public String getEngineName() {
|
||||
return engineName;
|
||||
}
|
||||
public void setEngineName(String engineName) {
|
||||
this.engineName = engineName;
|
||||
}
|
||||
|
||||
public String getValueTypeName() {
|
||||
return valueTypeName;
|
||||
}
|
||||
|
||||
public void setValueTypeName(String valueTypeName) {
|
||||
this.valueTypeName = valueTypeName;
|
||||
}
|
||||
|
||||
public String getIsDerivativeName() {
|
||||
return isDerivativeName;
|
||||
}
|
||||
|
||||
public void setIsDerivativeName(String isDerivativeName) {
|
||||
this.isDerivativeName = isDerivativeName;
|
||||
}
|
||||
|
||||
public String getIsOutputName() {
|
||||
return isOutputName;
|
||||
}
|
||||
|
||||
public void setIsOutputName(String isOutputName) {
|
||||
this.isOutputName = isOutputName;
|
||||
}
|
||||
|
||||
public Boolean getUseSql() {
|
||||
return isUseSql;
|
||||
}
|
||||
|
||||
public void setUseSql(Boolean useSql) {
|
||||
isUseSql = useSql;
|
||||
}
|
||||
|
||||
public Integer getDataSourceId() {
|
||||
return dataSourceId;
|
||||
}
|
||||
|
||||
public void setDataSourceId(Integer dataSourceId) {
|
||||
this.dataSourceId = dataSourceId;
|
||||
}
|
||||
|
||||
public String getSqlStatement() {
|
||||
return sqlStatement;
|
||||
}
|
||||
|
||||
public void setSqlStatement(String sqlStatement) {
|
||||
this.sqlStatement = sqlStatement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Field{" +
|
||||
"id=" + id +
|
||||
", fieldEn='" + fieldEn + '\'' +
|
||||
", fieldCn='" + fieldCn + '\'' +
|
||||
", fieldTypeId=" + fieldTypeId +
|
||||
", fieldType='" + fieldType + '\'' +
|
||||
", valueType=" + valueType +
|
||||
", valueTypeName='" + valueTypeName + '\'' +
|
||||
", valueScope='" + valueScope + '\'' +
|
||||
", isDerivative=" + isDerivative +
|
||||
", isDerivativeName='" + isDerivativeName + '\'' +
|
||||
", isOutput=" + isOutput +
|
||||
", isOutputName='" + isOutputName + '\'' +
|
||||
", isCommon=" + isCommon +
|
||||
", formula='" + formula + '\'' +
|
||||
", formulaShow='" + formulaShow + '\'' +
|
||||
", usedFieldId='" + usedFieldId + '\'' +
|
||||
", origFieldId='" + origFieldId + '\'' +
|
||||
", author=" + author +
|
||||
", nickName='" + nickName + '\'' +
|
||||
", created=" + created +
|
||||
", engineId=" + engineId +
|
||||
", engineName='" + engineName + '\'' +
|
||||
", status='" + status + '\'' +
|
||||
", fieldCondList=" + fieldCondList +
|
||||
", fieldRelId=" + fieldRelId +
|
||||
", isUseSql=" + isUseSql +
|
||||
", dataSourceId=" + dataSourceId +
|
||||
", sqlStatement='" + sqlStatement + '\'' +
|
||||
", isInterface=" + isInterface +
|
||||
", interfaceId=" + interfaceId +
|
||||
'}';
|
||||
}
|
||||
|
||||
public static long getSerialVersionUID() {
|
||||
return serialVersionUID;
|
||||
}
|
||||
|
||||
public Boolean getInterface() {
|
||||
return isInterface;
|
||||
}
|
||||
|
||||
public void setInterface(Boolean anInterface) {
|
||||
isInterface = anInterface;
|
||||
}
|
||||
|
||||
public Integer getInterfaceId() {
|
||||
return interfaceId;
|
||||
}
|
||||
|
||||
public void setInterfaceId(Integer interfaceId) {
|
||||
this.interfaceId = interfaceId;
|
||||
}
|
||||
|
||||
public String getSqlVariable() {
|
||||
return sqlVariable;
|
||||
}
|
||||
|
||||
public void setSqlVariable(String sqlVariable) {
|
||||
this.sqlVariable = sqlVariable;
|
||||
}
|
||||
|
||||
public Long getOrganId() {
|
||||
return organId;
|
||||
}
|
||||
|
||||
public void setOrganId(Long organId) {
|
||||
this.organId = organId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
import com.risk.riskmanage.datamanage.vo.FieldSubCondVo;
|
||||
|
||||
public class FieldCond extends BasePage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 条件编号
|
||||
* */
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 字段编号
|
||||
* */
|
||||
private Long fieldId;
|
||||
|
||||
/**
|
||||
* 字段条件值
|
||||
* */
|
||||
private String conditionValue;
|
||||
|
||||
/**
|
||||
* 字段条件区域设置json格式
|
||||
* */
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 条件字段编号
|
||||
* */
|
||||
private Long condFieldId;
|
||||
|
||||
/**
|
||||
* 条件字段的运算符
|
||||
* */
|
||||
private String condFieldOperator;
|
||||
|
||||
/**
|
||||
* 条件字段的条件设置值
|
||||
* */
|
||||
private String condFieldValue;
|
||||
|
||||
/**
|
||||
* 条件字段间的逻辑符
|
||||
* */
|
||||
private String condFieldLogical;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* */
|
||||
private Date created;
|
||||
|
||||
private List<FieldSubCondVo> fieldSubCond;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getFieldId() {
|
||||
return fieldId;
|
||||
}
|
||||
|
||||
public void setFieldId(Long fieldId) {
|
||||
this.fieldId = fieldId;
|
||||
}
|
||||
|
||||
public String getConditionValue() {
|
||||
return conditionValue;
|
||||
}
|
||||
|
||||
public void setConditionValue(String conditionValue) {
|
||||
this.conditionValue = conditionValue;
|
||||
}
|
||||
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
public Long getCondFieldId() {
|
||||
return condFieldId;
|
||||
}
|
||||
|
||||
public void setCondFieldId(Long condFieldId) {
|
||||
this.condFieldId = condFieldId;
|
||||
}
|
||||
|
||||
public String getCondFieldOperator() {
|
||||
return condFieldOperator;
|
||||
}
|
||||
|
||||
public void setCondFieldOperator(String condFieldOperator) {
|
||||
this.condFieldOperator = condFieldOperator;
|
||||
}
|
||||
|
||||
public String getCondFieldValue() {
|
||||
return condFieldValue;
|
||||
}
|
||||
|
||||
public void setCondFieldValue(String condFieldValue) {
|
||||
this.condFieldValue = condFieldValue;
|
||||
}
|
||||
|
||||
public String getCondFieldLogical() {
|
||||
return condFieldLogical;
|
||||
}
|
||||
|
||||
public void setCondFieldLogical(String condFieldLogical) {
|
||||
this.condFieldLogical = condFieldLogical;
|
||||
}
|
||||
|
||||
public List<FieldSubCondVo> getFieldSubCond() {
|
||||
return fieldSubCond;
|
||||
}
|
||||
|
||||
public void setFieldSubCond(List<FieldSubCondVo> fieldSubCond) {
|
||||
this.fieldSubCond = fieldSubCond;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class FieldType extends BasePage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 字段类型名
|
||||
*/
|
||||
private String fieldType;
|
||||
|
||||
/**
|
||||
* 父节点编号
|
||||
*/
|
||||
private Integer parentId;
|
||||
|
||||
/**
|
||||
* 是否组织定义的通用字段类型
|
||||
*/
|
||||
private Integer isCommon;
|
||||
|
||||
private Integer type;
|
||||
|
||||
public Integer getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(Integer type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 字段类型的子类集合
|
||||
*/
|
||||
private FieldType[] children;
|
||||
|
||||
/**
|
||||
* 是否为父类
|
||||
*/
|
||||
private String isParent = "true";
|
||||
|
||||
/**
|
||||
* 引擎编号
|
||||
*/
|
||||
private Integer engineId;
|
||||
|
||||
/**
|
||||
* 文件夹图片路径
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public void setFieldType(String fieldType) {
|
||||
this.fieldType = fieldType;
|
||||
}
|
||||
|
||||
public Integer getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Integer parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public Integer getIsCommon() {
|
||||
return isCommon;
|
||||
}
|
||||
|
||||
public void setIsCommon(Integer isCommon) {
|
||||
this.isCommon = isCommon;
|
||||
}
|
||||
|
||||
public FieldType[] getChildren() {
|
||||
return children;
|
||||
}
|
||||
|
||||
public void setChildren(FieldType[] children) {
|
||||
this.children = children;
|
||||
}
|
||||
|
||||
public String getIsParent() {
|
||||
return isParent;
|
||||
}
|
||||
|
||||
public void setIsParent(String isParent) {
|
||||
this.isParent = isParent;
|
||||
}
|
||||
|
||||
public Integer getEngineId() {
|
||||
return engineId;
|
||||
}
|
||||
|
||||
public void setEngineId(Integer engineId) {
|
||||
this.engineId = engineId;
|
||||
}
|
||||
|
||||
public String getIcon() {
|
||||
// if(engineId!=null)
|
||||
// icon = "../../resource/images/authority/folder.png";
|
||||
// else
|
||||
icon = "../resource/images/authority/folder.png";
|
||||
return icon;
|
||||
}
|
||||
|
||||
public void setIcon(String icon) {
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
|
||||
public class FieldTypeUser extends BasePage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* */
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 字段类型编号(表主键)
|
||||
* */
|
||||
private Integer fieldTypeId;
|
||||
|
||||
/**
|
||||
* 该字段类型归属的组织编号
|
||||
* */
|
||||
private Long organId;
|
||||
|
||||
/**
|
||||
* 该字段类型归属的引擎id(表主键)
|
||||
* */
|
||||
private Integer engineId;
|
||||
|
||||
/**
|
||||
* 创建或修改该字段的用户编号
|
||||
* */
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* */
|
||||
private Date created;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
public Integer getFieldTypeId() {
|
||||
return fieldTypeId;
|
||||
}
|
||||
public void setFieldTypeId(Integer fieldTypeId) {
|
||||
this.fieldTypeId = fieldTypeId;
|
||||
}
|
||||
public Long getOrganId() {
|
||||
return organId;
|
||||
}
|
||||
public void setOrganId(Long organId) {
|
||||
this.organId = organId;
|
||||
}
|
||||
public Integer getEngineId() {
|
||||
return engineId;
|
||||
}
|
||||
public void setEngineId(Integer engineId) {
|
||||
this.engineId = engineId;
|
||||
}
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
|
||||
public class FieldUser extends BasePage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* */
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 字段编号(表主键)
|
||||
* */
|
||||
private Long fieldId;
|
||||
|
||||
/**
|
||||
* 该字段归属的组织编号
|
||||
* */
|
||||
private Long organId;
|
||||
|
||||
/**
|
||||
* 该字段归属的引擎id(表主键)
|
||||
* */
|
||||
private Long engineId;
|
||||
|
||||
/**
|
||||
* 创建或修改该字段的用户编号
|
||||
* */
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 启用停用删除标志
|
||||
* */
|
||||
private int status;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* */
|
||||
private Date created;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
* */
|
||||
private Date updated;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public Long getFieldId() {
|
||||
return fieldId;
|
||||
}
|
||||
public void setFieldId(Long fieldId) {
|
||||
this.fieldId = fieldId;
|
||||
}
|
||||
public Long getOrganId() {
|
||||
return organId;
|
||||
}
|
||||
public void setOrganId(Long organId) {
|
||||
this.organId = organId;
|
||||
}
|
||||
public Long getEngineId() {
|
||||
return engineId;
|
||||
}
|
||||
public void setEngineId(Long engineId) {
|
||||
this.engineId = engineId;
|
||||
}
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
public Date getUpdated() {
|
||||
return updated;
|
||||
}
|
||||
public void setUpdated(Date updated) {
|
||||
this.updated = updated;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.risk.riskmanage.datamanage.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.risk.riskmanage.common.model.BasePage;
|
||||
|
||||
public class FormulaField extends BasePage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* */
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 字段编号(表主键)
|
||||
* */
|
||||
private Long fieldId;
|
||||
/**
|
||||
* 公式用到的字段编号(表主键)
|
||||
* */
|
||||
private Long formulaFieldId;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public Long getFieldId() {
|
||||
return fieldId;
|
||||
}
|
||||
public void setFieldId(Long fieldId) {
|
||||
this.fieldId = fieldId;
|
||||
}
|
||||
public Long getFormulaFieldId() {
|
||||
return formulaFieldId;
|
||||
}
|
||||
public void setFormulaFieldId(Long formulaFieldId) {
|
||||
this.formulaFieldId = formulaFieldId;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.risk.riskmanage.datamanage.model.request;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class FieldSaveParam implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// http://47.102.125.25/apidoc/index.html#api-field-PostV2DatamanageFieldSave
|
||||
|
||||
private String searchKey; //
|
||||
private Long id;
|
||||
private String formula;
|
||||
private String formulaShow;
|
||||
private Long engineId;
|
||||
private String fieldEn;
|
||||
private String fieldCn;
|
||||
private Long fieldTypeId;
|
||||
private Integer valueType;
|
||||
private Integer isDerivative;
|
||||
private Integer isOutput;
|
||||
private String valueScope;
|
||||
private String fieldCondList; //
|
||||
private String formulaHidden; //
|
||||
private Boolean isUseSql;
|
||||
private Integer dataSourceId;
|
||||
private String sqlStatement;
|
||||
private String sqlVariable;
|
||||
private Boolean isInterface;
|
||||
private Integer interfaceId;
|
||||
private String interfaceParseField;
|
||||
private String jsonValue;
|
||||
private String dictVariable;
|
||||
|
||||
//
|
||||
// public Field toField() {
|
||||
// Field field = new Field();
|
||||
//
|
||||
// field.setId(this.getId());
|
||||
// field.setFormula(this.getFormula());
|
||||
// field.setFormulaShow(this.getFormulaShow());
|
||||
// field.setEngineId(this.getEngineId());
|
||||
// field.setFieldEn(this.getFieldEn());
|
||||
// field.setFieldCn(this.getFieldCn());
|
||||
// field.setFieldTypeId(this.getFieldTypeId());
|
||||
// field.setValueType(this.getValueType());
|
||||
// field.setIsDerivative(this.getIsDerivative());
|
||||
// field.setIsOutput(this.getIsOutput());
|
||||
// field.setValueScope(this.getValueScope());
|
||||
//
|
||||
// field.setUseSql(this.getIsUseSql());
|
||||
// field.setDataSourceId(this.getDataSourceId());
|
||||
// field.setSqlStatement(this.getSqlStatement());
|
||||
//
|
||||
// return field;
|
||||
// }
|
||||
//
|
||||
// public Map toMap() {
|
||||
// HashMap<String, Object> hashMap = new HashMap<>();
|
||||
// hashMap.put("searchKey", this.getSearchKey());
|
||||
// hashMap.put("id", this.getId());
|
||||
// hashMap.put("formula", this.getFormula());
|
||||
// hashMap.put("formulaShow", this.getFormulaShow());
|
||||
// hashMap.put("engineId", this.getEngineId());
|
||||
// hashMap.put("formulaFields", this.getFormulaFields());
|
||||
// hashMap.put("fieldEn", this.getFieldEn());
|
||||
// hashMap.put("fieldCn", this.getFieldCn());
|
||||
// hashMap.put("fieldTypeId", this.getFieldId());
|
||||
// hashMap.put("valueType", this.getValueType());
|
||||
// hashMap.put("isDerivative", this.getIsDerivative());
|
||||
// hashMap.put("isOutput", this.getIsOutput());
|
||||
// hashMap.put("valueScope", this.getValueScope());
|
||||
// hashMap.put("fieldContent", this.getFieldContent());
|
||||
// hashMap.put("formulaHidden", this.getFormulaHidden());
|
||||
// hashMap.put("derType", this.getDerType());
|
||||
// hashMap.put("fieldContent2", this.getFieldContent2());
|
||||
// hashMap.put("conditionValue", this.getConditionValue());
|
||||
// hashMap.put("fieldId", this.getFieldId());
|
||||
// hashMap.put("operator", this.getOperator());
|
||||
// hashMap.put("fieldValue", this.getFieldValue());
|
||||
// hashMap.put("idx", this.getIdx());
|
||||
//
|
||||
// hashMap.put("isUseSql", this.getIsUseSql());
|
||||
// hashMap.put("dataSourceId", this.getDataSourceId());
|
||||
// hashMap.put("sqlStatement", this.getSqlStatement());
|
||||
//
|
||||
// return hashMap;
|
||||
// }
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.risk.riskmanage.datamanage.model.request;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class FieldTreeParam {
|
||||
//获取需要
|
||||
private Integer type;
|
||||
//删除需要
|
||||
private Long id;//文件夹的id
|
||||
private String fieldType;//文件夹名字
|
||||
private Integer status;//状态 -1 删除
|
||||
//新建时需要
|
||||
private String parentId;//上层文件夹id
|
||||
private Integer isCommon;//
|
||||
|
||||
private Long organId;//指标相关的组织id
|
||||
private Long userId;//用户id
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
package com.risk.riskmanage.datamanage.service;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.Field;
|
||||
import com.risk.riskmanage.common.model.requestParam.UpdateFolderParam;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface FieldService {
|
||||
|
||||
/**
|
||||
* createField:(插入新字段). <br/>
|
||||
*
|
||||
*
|
||||
* @param fieldVo
|
||||
* 字段实体类
|
||||
* @return 字段插入成功
|
||||
* */
|
||||
public boolean createField(Field fieldVo, Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* isExists:(查找字段是否存在). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExists(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* isExistsFieldType:(查找字段类型是否存在). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExistsFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* isExistsDefaultTreeName:(查找默认节点名是否存在). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 存在的记录条数
|
||||
*/
|
||||
public int isExistsDefaultTreeName(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateField:(修改字段内容). <br/>
|
||||
*
|
||||
*
|
||||
* @param fieldVo
|
||||
* 字段实体类
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean updateField(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldType:(按照字段类型查找字段列表). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public List<Field> findByFieldType(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldByIds:(找出一批字段id对应的字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public List<Field> findFieldByIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* searchByName:(模糊查找该用户可用字段列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<Field> searchByName(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findExcelByFieldType:(获取导出Excel需要的字段信息). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public List<Field> findExcelByFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldId:(根据Id查找字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public Field findByFieldId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldEn:(根据引擎和字段英文名找出引擎所用字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldEn(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldTypeId:(根据传入参数查找字段类型ID). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
* */
|
||||
public Long findFieldTypeId(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByUser:(查找用户可用字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<Field> findByUser(Map<String,Object> paramMap);
|
||||
|
||||
|
||||
/**
|
||||
* updateStatus:(单个或批量更新用户字段关系). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 插入成功
|
||||
* */
|
||||
//public boolean updateStatus(Map<String, Object> paramMap);
|
||||
public Map<String, Object> updateStatus(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* checkField:(公共方法:检查字段是否被引用). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 结果集合
|
||||
* */
|
||||
public Map<String, Object> checkField(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* getSourceField:(公共方法:检查字段的所有构成字段). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return
|
||||
* */
|
||||
public String getSourceField(String fieldIds,String fieldId);
|
||||
|
||||
/**
|
||||
* checkFieldType:(公共方法:检查字段类型及其下所有子类型的所有字段是否被引用). <br/>
|
||||
*
|
||||
*
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 结果集合
|
||||
* */
|
||||
public Map<String, Object> checkFieldType(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldIdsByTypeIds:(找出一批字段类型id对应的字段id列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段id逗号分隔字符串
|
||||
*/
|
||||
public String findFieldIdsByTypeIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findOrgFieldIdsByTypeIds:(在通用字段里找出一批字段类型id的字段id列表). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段列表
|
||||
*/
|
||||
public String findOrgFieldIdsByTypeIds(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* importExcel:(导入excel). <br/>
|
||||
*
|
||||
*
|
||||
* @param url
|
||||
* @param paramMap
|
||||
* 参数集合
|
||||
* @return 导入成功
|
||||
* */
|
||||
Map<String, Object> importExcel(String url,Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* getFieldList:(获取组织的所有字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public List<Field> getFieldList(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* createEngineField:(批量拷贝组织通用字段到引擎字段). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 是否创建成功
|
||||
*/
|
||||
public boolean createEngineField(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* bindEngineField:(根据传入的engineId和字段id找到一连串的字段并绑定关系). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 是否创建成功
|
||||
*/
|
||||
public boolean bindEngineField(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* findByFieldEn:(根据引擎和字段中文名找出引擎所用字段对象). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段对象
|
||||
*/
|
||||
public Field findByFieldCn(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* getField:(根据引擎和字段中文名找出引擎所用字段对象). <br/>
|
||||
*
|
||||
* @param
|
||||
* @return 字段对象
|
||||
*/
|
||||
public String getField(String fieldIds,String usedFieldId,String engineId);
|
||||
|
||||
/**
|
||||
* 查找某字段被引用的字段id并拼成逗号分隔的字符串
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getAllFieldTypeId(String ids,String pid,String engineId);
|
||||
|
||||
/**
|
||||
* 查找某字段类型所有的<父类型>拼成逗号分隔的字符串
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getAllParentFieldTypeId(String ids,String id,String engineId);
|
||||
|
||||
/**
|
||||
* 删除指定字段类型节点
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<String,Object> deleteNode(@RequestParam Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* 测试用:构造数据填写样本数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String createEngineTestData(@RequestParam Map<String,Object> paramMap);
|
||||
|
||||
// public String createEngineTestResultPdf(@RequestParam Map<String,Object> paramMap);
|
||||
|
||||
int fieldValidate(String fieldEn, String fieldCn, String engineId, Long fieldId);
|
||||
|
||||
int updateFieldFolder(UpdateFolderParam param);
|
||||
|
||||
String getFieldEnById(Long id);
|
||||
|
||||
List<Field> queryByIds(Collection<Long> ids );
|
||||
List<Field> queryByEns(Collection<String> ens );
|
||||
List<Field> queryByOrganAndCns(Collection<String> cns ,Long organId);
|
||||
void sqlFieldCheck(Map map);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.risk.riskmanage.datamanage.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.FieldType;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldTreeParam;
|
||||
|
||||
public interface FieldTypeService {
|
||||
|
||||
/**
|
||||
* getFieldTypeList:(查找用户的字段类型列表). 支持查询组织通用字段类型、子类型 支持查询引擎自定义字段类型、子类型 <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<FieldType> getFieldTypeList(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldTypeById:(根据传入的字段类型ID查找字段类型名). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public FieldType findFieldTypeById(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* findFieldType:(查找用户可用的字段类型列表,通用组织所有,引擎只有自定义). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 字段类型列表
|
||||
*/
|
||||
public List<FieldType> findFieldType(Map<String,Object> paramMap);
|
||||
|
||||
/**
|
||||
* createFieldType:(新增字段类型). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 插入成功
|
||||
*/
|
||||
public boolean createFieldType(FieldType fieldTypeVo,Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* updateFieldType:(更新字段类型名). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 更新成功
|
||||
*/
|
||||
public boolean updateFieldType(FieldTreeParam param);
|
||||
|
||||
/**
|
||||
* findNodeIds:(查找引擎在用的节点集合). <br/>
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return
|
||||
*/
|
||||
public String findNodeIds(Map<String, Object> paramMap);
|
||||
|
||||
List<FieldType> getTreeList(FieldTreeParam param);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,94 @@
|
||||
package com.risk.riskmanage.datamanage.service.imp;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.FieldType;
|
||||
import com.risk.riskmanage.datamanage.model.request.FieldTreeParam;
|
||||
import com.risk.riskmanage.util.SessionManager;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.risk.riskmanage.common.basefactory.BaseService;
|
||||
import com.risk.riskmanage.datamanage.service.FieldTypeService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
public class FieldTypeServiceImp extends BaseService implements
|
||||
FieldTypeService {
|
||||
@Resource
|
||||
|
||||
@Override
|
||||
public List<FieldType> getFieldTypeList(Map<String, Object> paramMap) {
|
||||
return fieldTypeMapper.getFieldTypeList(paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean createFieldType(FieldType fieldTypeVo,
|
||||
Map<String, Object> paramMap) {
|
||||
// 检查字段类型是否存在
|
||||
//if (fieldTypeMapper.findIdByFieldType(paramMap) == 0) {
|
||||
if (fieldTypeMapper.createFieldType(fieldTypeVo)) {
|
||||
paramMap.put("fieldTypeId", fieldTypeVo.getId());
|
||||
if (fieldTypeUserMapper.createFieldTypeUserRel(paramMap)) {
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
} else
|
||||
return false;
|
||||
// } else
|
||||
// return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateFieldType(FieldTreeParam param) {
|
||||
param.setOrganId(SessionManager.getLoginAccount().getOrganId());
|
||||
param.setUserId(SessionManager.getLoginAccount().getUserId());
|
||||
fieldTypeMapper.updateFieldType(param);
|
||||
fieldTypeUserMapper.updateFieldTypeUserRel(param);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FieldType findFieldTypeById(Map<String, Object> paramMap) {
|
||||
return fieldTypeMapper.findFieldTypeById(paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String findNodeIds(Map<String, Object> paramMap) {
|
||||
return fieldTypeUserMapper.findNodeIds(paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FieldType> findFieldType(Map<String, Object> paramMap) {
|
||||
return fieldTypeMapper.findFieldType(paramMap);
|
||||
}
|
||||
@Override
|
||||
public List<FieldType> getTreeList(FieldTreeParam param) {
|
||||
param.setOrganId(SessionManager.getLoginAccount().getOrganId());
|
||||
param.setUserId(SessionManager.getLoginAccount().getUserId());
|
||||
List<FieldType> fieldTypes = fieldTypeMapper.selectFieldTypeList(param);
|
||||
List<FieldType> collect = fieldTypes.stream().filter(fieldType -> fieldType.getParentId() == 0).collect(Collectors.toList());
|
||||
for (FieldType fieldType : collect) {
|
||||
fieldType.setChildren(this.assembleTreeList(fieldTypes,fieldType));
|
||||
}
|
||||
return collect;
|
||||
}
|
||||
|
||||
private FieldType[] assembleTreeList(List<FieldType> fieldTypes,FieldType root){
|
||||
List<FieldType> children = new ArrayList();
|
||||
for (FieldType fieldType : fieldTypes) {
|
||||
if (fieldType.getParentId().equals(root.getId())){
|
||||
fieldType.setChildren(this.assembleTreeList(fieldTypes,fieldType));
|
||||
children.add(fieldType);
|
||||
}
|
||||
}
|
||||
if (children.size()==0){
|
||||
return new FieldType[0];
|
||||
}
|
||||
return children.toArray( new FieldType[children.size()]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.risk.riskmanage.datamanage.vo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.risk.riskmanage.datamanage.model.Field;
|
||||
|
||||
/**
|
||||
* 字段枚举包装类
|
||||
* 主要用于决策选项中,选择字段要加载字段对应的枚举值(如果字段是枚举的话)
|
||||
*/
|
||||
public class FieldEnumVo {
|
||||
|
||||
private Field field;
|
||||
|
||||
private List<String> enums;
|
||||
|
||||
public Field getField() {
|
||||
return field;
|
||||
}
|
||||
|
||||
public void setField(Field field) {
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
public List<String> getEnums() {
|
||||
return enums;
|
||||
}
|
||||
|
||||
public void setEnums(List<String> enums) {
|
||||
this.enums = enums;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
package com.risk.riskmanage.datamanage.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class FieldExcelVo {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* */
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 字段英文名
|
||||
* */
|
||||
private String fieldEn;
|
||||
|
||||
/**
|
||||
* 字段中文名
|
||||
* */
|
||||
private String fieldCn;
|
||||
|
||||
/**
|
||||
* 字段类型名称
|
||||
* */
|
||||
private String fieldType;
|
||||
|
||||
/**
|
||||
* 字段存值类型
|
||||
* */
|
||||
private String valueType;
|
||||
|
||||
/**
|
||||
* 字段约束范围
|
||||
* */
|
||||
private String valueScope;
|
||||
|
||||
/**
|
||||
* 是否衍生字段
|
||||
* */
|
||||
private String isDerivative;
|
||||
|
||||
/**
|
||||
* 是否输出字段
|
||||
* */
|
||||
private String isOutput;
|
||||
|
||||
/**
|
||||
* 衍生字段公式
|
||||
* */
|
||||
private String formula;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
* */
|
||||
private String author;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* */
|
||||
private Date created;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getFieldEn() {
|
||||
return fieldEn;
|
||||
}
|
||||
|
||||
public void setFieldEn(String fieldEn) {
|
||||
this.fieldEn = fieldEn;
|
||||
}
|
||||
|
||||
public String getFieldCn() {
|
||||
return fieldCn;
|
||||
}
|
||||
|
||||
public void setFieldCn(String fieldCn) {
|
||||
this.fieldCn = fieldCn;
|
||||
}
|
||||
|
||||
public String getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public void setFieldType(String fieldType) {
|
||||
this.fieldType = fieldType;
|
||||
}
|
||||
|
||||
public String getValueType() {
|
||||
return valueType;
|
||||
}
|
||||
|
||||
public void setValueType(String valueType) {
|
||||
this.valueType = valueType;
|
||||
}
|
||||
|
||||
public String getValueScope() {
|
||||
return valueScope;
|
||||
}
|
||||
|
||||
public void setValueScope(String valueScope) {
|
||||
this.valueScope = valueScope;
|
||||
}
|
||||
|
||||
public String getIsDerivative() {
|
||||
return isDerivative;
|
||||
}
|
||||
|
||||
public void setIsDerivative(String isDerivative) {
|
||||
this.isDerivative = isDerivative;
|
||||
}
|
||||
|
||||
public String getIsOutput() {
|
||||
return isOutput;
|
||||
}
|
||||
|
||||
public void setIsOutput(String isOutput) {
|
||||
this.isOutput = isOutput;
|
||||
}
|
||||
|
||||
public String getFormula() {
|
||||
return formula;
|
||||
}
|
||||
|
||||
public void setFormula(String formula) {
|
||||
this.formula = formula;
|
||||
}
|
||||
|
||||
public String getAuthor() {
|
||||
return author;
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.risk.riskmanage.datamanage.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class FieldFormulaVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// [{fvalue: "0",formula: "a",farr: [{fieldCN:"引擎字段1-1",fieldCond:[{"inputOne":"c","inputThree":"5"},{"inputOne":"b","inputThree":"12"}]},{fieldCN:"通用字段2贷前",fieldCond:[{"inputOne":"(30,40]","inputThree":"5"},{"inputOne":"[45,51)","inputThree":"12"}]}]}];
|
||||
|
||||
/**
|
||||
* 衍生字段公式设置对应的值
|
||||
* */
|
||||
private String fvalue;
|
||||
|
||||
/**
|
||||
* 衍生字段公式
|
||||
* */
|
||||
private String formula;
|
||||
|
||||
/**
|
||||
* 衍生字段公式里字段的条件区域设置
|
||||
* */
|
||||
private Integer idx;
|
||||
|
||||
/**
|
||||
* 衍生字段公式里字段的条件区域设置
|
||||
* */
|
||||
private String farr;
|
||||
|
||||
/**
|
||||
* 衍生字段公式里条件区域设置的某个字段中文名
|
||||
* */
|
||||
private String fieldCN;
|
||||
|
||||
/**
|
||||
* 衍生字段公式里条件区域设置的某个字段的具体设置
|
||||
* */
|
||||
private String fieldCond;
|
||||
|
||||
public String getFvalue() {
|
||||
return fvalue;
|
||||
}
|
||||
|
||||
public void setFvalue(String fvalue) {
|
||||
this.fvalue = fvalue;
|
||||
}
|
||||
|
||||
public String getFormula() {
|
||||
return formula;
|
||||
}
|
||||
|
||||
public void setFormula(String formula) {
|
||||
this.formula = formula;
|
||||
}
|
||||
|
||||
public Integer getIdx() {
|
||||
return idx;
|
||||
}
|
||||
|
||||
public void setIdx(Integer idx) {
|
||||
this.idx = idx;
|
||||
}
|
||||
|
||||
public String getFarr() {
|
||||
return farr;
|
||||
}
|
||||
|
||||
public void setFarr(String farr) {
|
||||
this.farr = farr;
|
||||
}
|
||||
|
||||
public String getFieldCN() {
|
||||
return fieldCN;
|
||||
}
|
||||
|
||||
public void setFieldCN(String fieldCN) {
|
||||
this.fieldCN = fieldCN;
|
||||
}
|
||||
|
||||
public String getFieldCond() {
|
||||
return fieldCond;
|
||||
}
|
||||
|
||||
public void setFieldCond(String fieldCond) {
|
||||
this.fieldCond = fieldCond;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.risk.riskmanage.datamanage.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class FieldSubCondVo implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
//[{"fieldId":"43","operator":"in","fieldValue":"b","logical":"and"}]
|
||||
|
||||
/**
|
||||
* 条件字段编号
|
||||
* */
|
||||
private Integer fieldId;
|
||||
|
||||
/**
|
||||
* 条件字段的运算符
|
||||
* */
|
||||
private String operator;
|
||||
|
||||
/**
|
||||
* 条件字段的条件设置值
|
||||
* */
|
||||
private String fieldValue;
|
||||
|
||||
/**
|
||||
* 条件字段间的逻辑符
|
||||
* */
|
||||
private String logical;
|
||||
|
||||
/**
|
||||
* 条件字段的值类型
|
||||
* */
|
||||
private Integer valueType;
|
||||
|
||||
/**
|
||||
* 条件字段的取值范围
|
||||
* */
|
||||
private String valueScope;
|
||||
|
||||
/**
|
||||
* 条件字段的取值范围拆解后的数组
|
||||
* */
|
||||
private String[] values;
|
||||
|
||||
/**
|
||||
* 条件字段的字段名
|
||||
*/
|
||||
private String fieldCn;
|
||||
|
||||
|
||||
public Integer getFieldId() {
|
||||
return fieldId;
|
||||
}
|
||||
public void setFieldId(Integer fieldId) {
|
||||
this.fieldId = fieldId;
|
||||
}
|
||||
public String getOperator() {
|
||||
return operator;
|
||||
}
|
||||
public void setOperator(String operator) {
|
||||
this.operator = operator;
|
||||
}
|
||||
public String getFieldValue() {
|
||||
return fieldValue;
|
||||
}
|
||||
public void setFieldValue(String fieldValue) {
|
||||
this.fieldValue = fieldValue;
|
||||
}
|
||||
public String getLogical() {
|
||||
return logical;
|
||||
}
|
||||
public void setLogical(String logical) {
|
||||
this.logical = logical;
|
||||
}
|
||||
public Integer getValueType() {
|
||||
return valueType;
|
||||
}
|
||||
public void setValueType(Integer valueType) {
|
||||
this.valueType = valueType;
|
||||
}
|
||||
public String getValueScope() {
|
||||
return valueScope;
|
||||
}
|
||||
public void setValueScope(String valueScope) {
|
||||
this.valueScope = valueScope;
|
||||
}
|
||||
public String[] getValues() {
|
||||
if(valueType == 3){
|
||||
values = valueScope.split(",");
|
||||
}else{
|
||||
values = new String[]{valueScope};
|
||||
}
|
||||
return values;
|
||||
}
|
||||
public void setValues(String[] values) {
|
||||
this.values = values;
|
||||
}
|
||||
public String getFieldCn() {
|
||||
return fieldCn;
|
||||
}
|
||||
public void setFieldCn(String fieldCn) {
|
||||
this.fieldCn = fieldCn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.risk.riskmanage.datasource.controller;
|
||||
|
||||
import com.risk.riskmanage.common.constants.OpTypeConst;
|
||||
import com.risk.riskmanage.common.model.ResponseEntityDto;
|
||||
import com.risk.riskmanage.common.utils.ResponseEntityBuilder;
|
||||
import com.risk.riskmanage.datasource.model.request.DataSourceListParam;
|
||||
import com.risk.riskmanage.datasource.model.vo.DataSourceVo;
|
||||
import com.risk.riskmanage.datasource.service.DataSourceService;
|
||||
import com.risk.riskmanage.logger.ArchivesLog;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/datasource")
|
||||
public class DataSourceController {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
DataSourceService dataSourceService;
|
||||
|
||||
@RequestMapping(value = "save", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.DATA_SOURCE_SAVE)
|
||||
public ResponseEntityDto<Object> save(@RequestBody DataSourceVo dataSourceVo) {
|
||||
Integer result = dataSourceService.saveDataSource(dataSourceVo);
|
||||
return ResponseEntityBuilder.buildNormalResponse(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "update", method = RequestMethod.POST)
|
||||
@ArchivesLog(operationType = OpTypeConst.DATA_SOURCE_MODIFY)
|
||||
public ResponseEntityDto<Object> update(@RequestBody DataSourceVo dataSourceVo) {
|
||||
Integer result = dataSourceService.updateDataSource(dataSourceVo);
|
||||
return ResponseEntityBuilder.buildNormalResponse(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/getDataSource/{id}", method = RequestMethod.GET)
|
||||
public ResponseEntityDto<DataSourceVo> getDataSourceById(@PathVariable Integer id) {
|
||||
DataSourceVo dataSourceVo = dataSourceService.getDataSourceById(id);
|
||||
return ResponseEntityBuilder.buildNormalResponse(dataSourceVo);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "getDataSourceList", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<Object> getDataSourceList(@RequestBody DataSourceListParam param) {
|
||||
Map<String, Object> result = dataSourceService.getDataSourceList(param);
|
||||
return ResponseEntityBuilder.buildNormalResponse(result);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ArchivesLog(operationType = OpTypeConst.DATA_SOURCE_DELETE)
|
||||
public ResponseEntityDto<Object> deleteDataSourceById(@PathVariable Integer id) {
|
||||
Integer result = dataSourceService.deleteDataSourceById(id);
|
||||
return ResponseEntityBuilder.buildNormalResponse(result);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.risk.riskmanage.datasource.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.datasource.model.DataSource;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface DataSourceMapper extends BaseMapper<DataSource> {
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.risk.riskmanage.datasource.model;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("t_field_data_source")
|
||||
public class DataSource implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 连接名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据源类型:MySQL、Oracle、SQLServer、Hive、Spark、Redis
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 主机地址
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 端口
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* 数据库名称
|
||||
*/
|
||||
private String dbName;
|
||||
|
||||
/**
|
||||
* 状态 0:无效,1:有效
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Integer creator;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private Integer modifier;
|
||||
|
||||
/**
|
||||
* 企业编号
|
||||
*/
|
||||
private Integer organId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* spark路径
|
||||
*/
|
||||
private String sparkHome;
|
||||
|
||||
/**
|
||||
* spark应用程序的名称
|
||||
*/
|
||||
private String appName;
|
||||
|
||||
/**
|
||||
* spark地址
|
||||
*/
|
||||
private String masterUrl;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.risk.riskmanage.datasource.model.request;
|
||||
|
||||
import com.risk.riskmanage.common.model.PageDto;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DataSourceListParam extends PageDto {
|
||||
|
||||
/**
|
||||
* 数据源类型
|
||||
*/
|
||||
private List<String> typeList;
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
package com.risk.riskmanage.datasource.model.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class DataSourceVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 连接名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据源类型:MySQL、Oracle、SQLServer、Hive、Spark、Redis
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 主机地址
|
||||
*/
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 端口
|
||||
*/
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* 数据库名称
|
||||
*/
|
||||
private String dbName;
|
||||
|
||||
/**
|
||||
* 状态 0:无效,1:有效
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Integer creator;
|
||||
|
||||
/**
|
||||
* 创建人名称
|
||||
*/
|
||||
private String creatorName;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private Integer modifier;
|
||||
|
||||
/**
|
||||
* 修改人名称
|
||||
*/
|
||||
private String modifierName;
|
||||
|
||||
/**
|
||||
* 企业编号
|
||||
*/
|
||||
private Integer organId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* spark路径
|
||||
*/
|
||||
private String sparkHome;
|
||||
|
||||
/**
|
||||
* spark应用程序的名称
|
||||
*/
|
||||
private String appName;
|
||||
|
||||
/**
|
||||
* spark地址
|
||||
*/
|
||||
private String masterUrl;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.risk.riskmanage.datasource.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.risk.riskmanage.datasource.model.DataSource;
|
||||
import com.risk.riskmanage.datasource.model.request.DataSourceListParam;
|
||||
import com.risk.riskmanage.datasource.model.vo.DataSourceVo;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface DataSourceService extends IService<DataSource> {
|
||||
|
||||
Integer saveDataSource(DataSourceVo dataSource);
|
||||
|
||||
Integer updateDataSource(DataSourceVo dataSource);
|
||||
|
||||
DataSourceVo getDataSourceById(Integer id);
|
||||
|
||||
Map<String, Object> getDataSourceList(DataSourceListParam param);
|
||||
|
||||
Integer deleteDataSourceById(Integer id);
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.risk.riskmanage.datasource.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.risk.riskmanage.datasource.mapper.DataSourceMapper;
|
||||
import com.risk.riskmanage.datasource.model.DataSource;
|
||||
import com.risk.riskmanage.datasource.model.request.DataSourceListParam;
|
||||
import com.risk.riskmanage.datasource.model.vo.DataSourceVo;
|
||||
import com.risk.riskmanage.datasource.service.DataSourceService;
|
||||
import com.risk.riskmanage.system.mapper.UserMapper;
|
||||
import com.risk.riskmanage.system.model.User;
|
||||
import com.risk.riskmanage.util.SessionManager;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSource> implements DataSourceService {
|
||||
|
||||
@Resource
|
||||
public DataSourceMapper dataSourceMapper;
|
||||
|
||||
@Resource
|
||||
public UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
public Integer saveDataSource(DataSourceVo dataSourceVo) {
|
||||
User user = SessionManager.getLoginAccount();
|
||||
Long organId = user.getOrganId();
|
||||
DataSource dataSource = new DataSource();
|
||||
BeanUtils.copyProperties(dataSourceVo, dataSource);
|
||||
dataSource.setCreator(user.getUserId().intValue());
|
||||
dataSource.setModifier(user.getUserId().intValue());
|
||||
dataSource.setOrganId(organId.intValue());
|
||||
return dataSourceMapper.insert(dataSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer updateDataSource(DataSourceVo dataSourceVo) {
|
||||
User user = SessionManager.getLoginAccount();
|
||||
DataSource dataSource = new DataSource();
|
||||
BeanUtils.copyProperties(dataSourceVo, dataSource);
|
||||
dataSource.setModifier(user.getUserId().intValue());
|
||||
return dataSourceMapper.updateById(dataSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceVo getDataSourceById(Integer id) {
|
||||
DataSource dataSource = dataSourceMapper.selectById(id);
|
||||
DataSourceVo dataSourceVo = new DataSourceVo();
|
||||
BeanUtils.copyProperties(dataSource, dataSourceVo);
|
||||
User creator = userMapper.findUserById(dataSource.getCreator());
|
||||
User modifier = userMapper.findUserById(dataSource.getModifier());
|
||||
dataSourceVo.setCreatorName(creator.getAccount());
|
||||
dataSourceVo.setModifierName(modifier.getAccount());
|
||||
return dataSourceVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getDataSourceList(DataSourceListParam param) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
LambdaQueryWrapper<DataSource> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(DataSource::getStatus, 1);
|
||||
if(param.getTypeList()!=null&&!param.getTypeList().isEmpty()){
|
||||
queryWrapper.in(DataSource::getType, param.getTypeList());
|
||||
}
|
||||
queryWrapper.orderByDesc(DataSource::getUpdateTime);
|
||||
if (param.getPageNo()>0 && param.getPageSize()>0){
|
||||
PageHelper.startPage(param.getPageNo(), param.getPageSize());
|
||||
}
|
||||
List<DataSource> dataSourceList = dataSourceMapper.selectList(queryWrapper);
|
||||
PageInfo pageInfo = new PageInfo<>(dataSourceList);
|
||||
pageInfo.setList(null);
|
||||
result.put("pager", pageInfo);
|
||||
|
||||
List<DataSourceVo> dataSourceVoList = new ArrayList<>();
|
||||
for (DataSource dataSource : dataSourceList) {
|
||||
DataSourceVo dataSourceVo = new DataSourceVo();
|
||||
BeanUtils.copyProperties(dataSource, dataSourceVo);
|
||||
User creator = userMapper.findUserById(dataSource.getCreator());
|
||||
User modifier = userMapper.findUserById(dataSource.getModifier());
|
||||
dataSourceVo.setCreatorName(creator.getAccount());
|
||||
dataSourceVo.setModifierName(modifier.getAccount());
|
||||
dataSourceVoList.add(dataSourceVo);
|
||||
}
|
||||
result.put("data", dataSourceVoList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer deleteDataSourceById(Integer id) {
|
||||
DataSource dataSource = new DataSource();
|
||||
dataSource.setId(id);
|
||||
dataSource.setStatus(0);
|
||||
return dataSourceMapper.updateById(dataSource);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
/**
|
||||
*
|
||||
* 〈一句话功能简述〉
|
||||
* 〈功能详细描述〉
|
||||
*/
|
||||
@Data
|
||||
public class Engine implements Serializable {
|
||||
private static final long serialVersionUID = -6611916471057697499L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 引擎编号
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 引擎名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 引擎描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 引擎状态
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createDatetime;
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateDatetime;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Long creator;
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 公司编号
|
||||
*/
|
||||
private Long organId;
|
||||
|
||||
/**
|
||||
* 查询字段
|
||||
*/
|
||||
private String searchString;
|
||||
|
||||
/**
|
||||
* 引擎版本集合
|
||||
* */
|
||||
private List<EngineVersion> engineVersionList;
|
||||
|
||||
/**
|
||||
* 运行状态
|
||||
*/
|
||||
private int runState;
|
||||
|
||||
/**
|
||||
* 是否被选中
|
||||
*/
|
||||
private boolean checked;
|
||||
|
||||
/**
|
||||
* 调用方式 1:同步,2:异步
|
||||
*/
|
||||
private Integer callbackType;
|
||||
|
||||
/**
|
||||
* 回调地址
|
||||
*/
|
||||
private String callbackUrl;
|
||||
|
||||
/**
|
||||
* 异常回调地址
|
||||
*/
|
||||
private String exceptionCallbackUrl;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class EngineNode implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = -1867357850853531748L;
|
||||
|
||||
/**
|
||||
* 节点编号
|
||||
*/
|
||||
private Long nodeId;
|
||||
|
||||
/**
|
||||
* 父节点编号
|
||||
*/
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 版本编号
|
||||
*/
|
||||
private Long versionId;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 节点code
|
||||
*/
|
||||
private String nodeCode;
|
||||
|
||||
/**
|
||||
* 节点顺序
|
||||
*/
|
||||
private Integer nodeOrder;
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
private Integer nodeType;
|
||||
|
||||
/**
|
||||
* 节点X轴
|
||||
*/
|
||||
private double nodeX;
|
||||
|
||||
/**
|
||||
* 节点Y轴
|
||||
*/
|
||||
private double nodeY;
|
||||
|
||||
/**
|
||||
* 节点脚本
|
||||
*/
|
||||
private String nodeScript;
|
||||
|
||||
/**
|
||||
* 节点json
|
||||
*/
|
||||
private String nodeJson;
|
||||
|
||||
/**
|
||||
* 节点类型,图标等信息
|
||||
*/
|
||||
private String params;
|
||||
|
||||
/**
|
||||
* 下一节点
|
||||
*/
|
||||
private String nextNodes;
|
||||
|
||||
/**
|
||||
* 评分卡id
|
||||
*
|
||||
*/
|
||||
private Long cardId;
|
||||
|
||||
/**
|
||||
* 规则集合
|
||||
*/
|
||||
private List<Long> ruleList;
|
||||
|
||||
private Integer lastNextnode;
|
||||
/**
|
||||
* 快照信息
|
||||
*/
|
||||
private String snapshot;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class EngineRule {
|
||||
|
||||
private String refused;
|
||||
|
||||
private String code ;
|
||||
|
||||
private String policyName;
|
||||
|
||||
private String desc;
|
||||
|
||||
private String Strtus;
|
||||
|
||||
|
||||
private Map<String, String >fields;
|
||||
|
||||
|
||||
public String getStrtus() {
|
||||
return Strtus;
|
||||
}
|
||||
|
||||
public void setStrtus(String strtus) {
|
||||
Strtus = strtus;
|
||||
}
|
||||
|
||||
public String getRefused() {
|
||||
return refused;
|
||||
}
|
||||
|
||||
public void setRefused(String refused) {
|
||||
this.refused = refused;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getPolicyName() {
|
||||
return policyName;
|
||||
}
|
||||
|
||||
public void setPolicyName(String policyName) {
|
||||
this.policyName = policyName;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public Map<String, String> getFields() {
|
||||
return fields;
|
||||
}
|
||||
|
||||
public void setFields(Map<String, String> fields) {
|
||||
this.fields = fields;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
public class EngineVersion implements Comparable<EngineVersion>, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 2923432053414979455L;
|
||||
/**
|
||||
* 版本编号
|
||||
*/
|
||||
private Long versionId;
|
||||
|
||||
/**
|
||||
* 引擎编号
|
||||
*/
|
||||
private Long engineId;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
/**
|
||||
* 子版本
|
||||
*/
|
||||
private Integer subVersion;
|
||||
|
||||
/**
|
||||
* 部署状态
|
||||
*/
|
||||
private Integer bootState;
|
||||
|
||||
/**
|
||||
* 版本状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 布局方式
|
||||
*/
|
||||
private Integer layout;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private Long latestUser;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private String latestTime;
|
||||
|
||||
/**
|
||||
* 节点集合
|
||||
* */
|
||||
private List<EngineNode> engineNodeList;
|
||||
|
||||
/**
|
||||
* 引擎名称
|
||||
* */
|
||||
private String engineName;
|
||||
|
||||
/**
|
||||
* 引擎描述
|
||||
* */
|
||||
private String engineDesc;
|
||||
|
||||
public Long getVersionId() {
|
||||
return versionId;
|
||||
}
|
||||
|
||||
public void setVersionId(Long versionId) {
|
||||
this.versionId = versionId;
|
||||
}
|
||||
|
||||
public Long getEngineId() {
|
||||
return engineId;
|
||||
}
|
||||
|
||||
public void setEngineId(Long engineId) {
|
||||
this.engineId = engineId;
|
||||
}
|
||||
|
||||
public Integer getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(Integer version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public Integer getBootState() {
|
||||
return bootState;
|
||||
}
|
||||
|
||||
public void setBootState(Integer bootState) {
|
||||
this.bootState = bootState;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Integer getLayout() {
|
||||
return layout;
|
||||
}
|
||||
|
||||
public void setLayout(Integer layout) {
|
||||
this.layout = layout;
|
||||
}
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(String createTime) {
|
||||
this.createTime = createTime == null ? null : createTime.trim();
|
||||
}
|
||||
|
||||
public Long getLatestUser() {
|
||||
return latestUser;
|
||||
}
|
||||
|
||||
public void setLatestUser(Long latestUser) {
|
||||
this.latestUser = latestUser;
|
||||
}
|
||||
|
||||
public String getLatestTime() {
|
||||
return latestTime;
|
||||
}
|
||||
|
||||
public void setLatestTime(String latestTime) {
|
||||
this.latestTime = latestTime == null ? null : latestTime.trim();
|
||||
}
|
||||
|
||||
public List<EngineNode> getEngineNodeList() {
|
||||
return engineNodeList;
|
||||
}
|
||||
|
||||
public void setEngineNodeList(List<EngineNode> engineNodeList) {
|
||||
this.engineNodeList = engineNodeList;
|
||||
}
|
||||
|
||||
public Integer getSubVersion() {
|
||||
return subVersion;
|
||||
}
|
||||
|
||||
public void setSubVersion(Integer subVersion) {
|
||||
this.subVersion = subVersion;
|
||||
}
|
||||
|
||||
public String getEngineName() {
|
||||
return engineName;
|
||||
}
|
||||
|
||||
public void setEngineName(String engineName) {
|
||||
this.engineName = engineName;
|
||||
}
|
||||
|
||||
public String getEngineDesc() {
|
||||
return engineDesc;
|
||||
}
|
||||
|
||||
public void setEngineDesc(String engineDesc) {
|
||||
this.engineDesc = engineDesc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(EngineVersion o) {
|
||||
if(version!=o.getVersion()){
|
||||
return version-o.getVersion();
|
||||
}else if(!(subVersion == o.getSubVersion())){
|
||||
return subVersion - o.getSubVersion();
|
||||
}else {
|
||||
return version-o.getVersion();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class InputParam {
|
||||
private Map<String ,Object> inputParam;
|
||||
|
||||
private List<Result> result;
|
||||
|
||||
public Map<String, Object> getInputParam() {
|
||||
return inputParam;
|
||||
}
|
||||
|
||||
public void setInputParam(Map<String, Object> inputParam) {
|
||||
this.inputParam = inputParam;
|
||||
}
|
||||
|
||||
public List<Result> getResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setResult(List<Result> result) {
|
||||
this.result = result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 节点与知识库映射关系模型
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class NodeKnowledge implements Serializable {
|
||||
private static final long serialVersionUID = -55965399064577379L;
|
||||
/**
|
||||
* 主键编号
|
||||
*/
|
||||
private Long relId;
|
||||
|
||||
/**
|
||||
* 节点编号
|
||||
*/
|
||||
private Long nodeId;
|
||||
|
||||
/**
|
||||
* 知识库信息编号
|
||||
*/
|
||||
private Long knowledgeId;
|
||||
|
||||
/**
|
||||
* 知识库类型1规则2评分卡
|
||||
*/
|
||||
private Integer knowledgeType;
|
||||
|
||||
public Long getRelId() {
|
||||
return relId;
|
||||
}
|
||||
|
||||
public void setRelId(Long relId) {
|
||||
this.relId = relId;
|
||||
}
|
||||
|
||||
public Long getNodeId() {
|
||||
return nodeId;
|
||||
}
|
||||
|
||||
public void setNodeId(Long nodeId) {
|
||||
this.nodeId = nodeId;
|
||||
}
|
||||
|
||||
public Long getKnowledgeId() {
|
||||
return knowledgeId;
|
||||
}
|
||||
|
||||
public void setKnowledgeId(Long knowledgeId) {
|
||||
this.knowledgeId = knowledgeId;
|
||||
}
|
||||
|
||||
public Integer getKnowledgeType() {
|
||||
return knowledgeType;
|
||||
}
|
||||
|
||||
public void setKnowledgeType(Integer knowledgeType) {
|
||||
this.knowledgeType = knowledgeType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.risk.riskmanage.engine.model;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Result {
|
||||
private String resultType;//规则1代表加减法,2拒绝规则
|
||||
private Integer id;//规则编号
|
||||
private String code;//规则code
|
||||
private String name;
|
||||
private String value;
|
||||
private Map<String, Object> map;//评分
|
||||
private List<EngineRule> list;
|
||||
|
||||
|
||||
public Map<String, Object> getMap() {
|
||||
return map;
|
||||
}
|
||||
public void setMap(Map<String, Object> map) {
|
||||
this.map = map;
|
||||
}
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
public String getResultType() {
|
||||
return resultType;
|
||||
}
|
||||
public void setResultType(String resultType) {
|
||||
this.resultType = resultType;
|
||||
}
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public List<EngineRule> getList() {
|
||||
return list;
|
||||
}
|
||||
public void setList(List<EngineRule> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.risk.riskmanage.engine.model.request;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class KnowledgeTreeListParam {
|
||||
private String treeType;//树形分类:0:基础规则树 1:评分卡的树 2:回收站的树 3:决策表树,4:复杂规则树(逗号分割)
|
||||
private Long organId;//组织id
|
||||
private Long userId;//用户id
|
||||
private Integer status;//状态 -1删除
|
||||
private Integer type;//1组织通用
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 决策流输出内容 (节点类型-》节点列表-》节点输出字段)
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class DecisionFlowOutputResponse {
|
||||
|
||||
/**
|
||||
* 节点类型集合
|
||||
*/
|
||||
private List<NodeTypeResponse> nodeTypeList;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ListDbInfoOutputResponse {
|
||||
|
||||
/**
|
||||
* 名单库id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名单库名称
|
||||
*/
|
||||
private String listName;
|
||||
|
||||
/**
|
||||
* 节点策略输出字段集合
|
||||
*/
|
||||
private List<NodeStrategyOutputResponse> listDbOutputList;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ListDbOutputResponse {
|
||||
|
||||
/**
|
||||
* 名单库的统计信息
|
||||
*/
|
||||
private List<NodeStrategyOutputResponse> statisticsOutputList;
|
||||
|
||||
/**
|
||||
* 名单库信息
|
||||
*/
|
||||
private List<ListDbInfoOutputResponse> listDbInfoOutput;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 节点信息
|
||||
*/
|
||||
@Data
|
||||
public class NodeInfoResponse {
|
||||
|
||||
/**
|
||||
* 节点编号
|
||||
*/
|
||||
private Long nodeId;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 节点策略输出字段集合
|
||||
*/
|
||||
private List<NodeStrategyOutputResponse> strategyOutputList;
|
||||
|
||||
/**
|
||||
* 规则集输出信息
|
||||
*/
|
||||
private RuleOutputResponse ruleOutput;
|
||||
|
||||
/**
|
||||
* 名单库输出信息
|
||||
*/
|
||||
private ListDbOutputResponse listDbOutput;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 节点策略输出字段
|
||||
*/
|
||||
@Data
|
||||
public class NodeStrategyOutputResponse {
|
||||
|
||||
/**
|
||||
* 字段英文名
|
||||
* */
|
||||
private String fieldEn;
|
||||
|
||||
/**
|
||||
* 字段中文名
|
||||
* */
|
||||
private String fieldCn;
|
||||
/**
|
||||
* 字段类型 1数字,2字符串,6json
|
||||
*/
|
||||
private Integer valueType;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
@Data
|
||||
public class NodeTypeResponse {
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
private Integer nodeType;
|
||||
|
||||
/**
|
||||
* 节点类型名称
|
||||
*/
|
||||
private String nodeTypeName;
|
||||
|
||||
/**
|
||||
* 节点信息集合
|
||||
*/
|
||||
private List<NodeInfoResponse> nodeInfoList;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RuleInfoOutputResponse {
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
* */
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 代码
|
||||
* */
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 节点策略输出字段集合
|
||||
*/
|
||||
private List<NodeStrategyOutputResponse> ruleOutputList;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.risk.riskmanage.engine.model.response.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RuleOutputResponse {
|
||||
|
||||
/**
|
||||
* 规则的统计信息
|
||||
*/
|
||||
private List<NodeStrategyOutputResponse> statisticsOutputList;
|
||||
|
||||
/**
|
||||
* 规则信息
|
||||
*/
|
||||
private List<RuleInfoOutputResponse> ruleInfoList;
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.risk.riskmanage.interfacemanage.controller;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.risk.riskmanage.common.constants.OpTypeConst;
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.exception.ApiException;
|
||||
import com.risk.riskmanage.common.model.ResponseEntityDto;
|
||||
import com.risk.riskmanage.common.model.requestParam.QueryListParam;
|
||||
import com.risk.riskmanage.common.utils.ResponseEntityBuilder;
|
||||
import com.risk.riskmanage.interfacemanage.model.InterfaceInfo;
|
||||
import com.risk.riskmanage.interfacemanage.model.request.InterfaceListParam;
|
||||
import com.risk.riskmanage.interfacemanage.model.request.InterfaceUpdateStatusParam;
|
||||
import com.risk.riskmanage.interfacemanage.model.vo.InterfaceVo;
|
||||
import com.risk.riskmanage.interfacemanage.service.InterfaceService;
|
||||
import com.risk.riskmanage.logger.ArchivesLog;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* 提供interface相关接口
|
||||
*
|
||||
* @apiDefine interface 2.接口管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("v3/interface")
|
||||
public class InterfaceController {
|
||||
|
||||
@Autowired
|
||||
InterfaceService interfaceService;
|
||||
|
||||
@RequestMapping("testInterface")
|
||||
public String test(){
|
||||
String str = "{\n" +
|
||||
" \"status\": \"1\",\n" +
|
||||
" \"error\": \"00000000\",\n" +
|
||||
" \"msg\": null,\n" +
|
||||
" \"data\": {\n" +
|
||||
" \"name\": \"张三\",\n" +
|
||||
" \"age\": 25\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {POST} /v3/interface/getInterfaceInfo/{id} 3.19. V3获取Interface信息
|
||||
* @apiGroup knowledge
|
||||
* @apiVersion 2.0.0
|
||||
* @apiParam {Long} id : 规则id
|
||||
* @apiSuccess {String} status 状态:1成功,0失败
|
||||
* @apiParamExample {json} 请求示例:
|
||||
* {}
|
||||
* @apiSuccessExample {json} 成功返回数据示例:
|
||||
* {"status":"1","error":"00000000","msg":null,"data":{"id":666,"name":"2021_4_6测试接口","versionCode":"test2021_4_6第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":"2021-04-07T05:12:52.000+00:00","ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"id":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"id":15,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":666,"parentId":14,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"id":16,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":14,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"id":16,"fieldId":10000,"fieldValue":"test01","ruleId":666},{"id":17,"fieldId":10000,"fieldValue":"test02","ruleId":666}]}}
|
||||
*/
|
||||
@RequestMapping(value = "getInterfaceInfo/{id}", method = RequestMethod.POST)
|
||||
public ResponseEntityDto<InterfaceVo> getInterfaceById(@PathVariable Long id) {
|
||||
if (id==null){
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
|
||||
}
|
||||
InterfaceVo interfaceVo = interfaceService.getInterfaceById(id);
|
||||
ResponseEntityDto<InterfaceVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(interfaceVo);
|
||||
return ruleResponseEntityDto;
|
||||
}
|
||||
|
||||
//测试http请求,并获得响应
|
||||
@PostMapping("getHttpResponse")
|
||||
public ResponseEntityDto getHttpResponse(@RequestBody InterfaceInfo interfaceInfo) {
|
||||
String result = interfaceService.getHttpResponse(interfaceInfo);
|
||||
ResponseEntityDto interfaceResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(result);
|
||||
return interfaceResponseEntityDto;
|
||||
}
|
||||
|
||||
//查询所有接口
|
||||
@PostMapping("getInterfaceList")
|
||||
public ResponseEntityDto getInterfaceList(@RequestBody QueryListParam<InterfaceInfo> param) {
|
||||
// PageBean<InterfaceVo> pageBean = interfaceService.pageQuery(param.getPageNo(), param.getPageSize());
|
||||
// ResponseEntityDto ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(pageBean);
|
||||
|
||||
PageInfo pageInfo = interfaceService.queryByEntity(param);
|
||||
HashMap<String, Object> responseMap = new HashMap<>();
|
||||
responseMap.put("pageInfo",pageInfo);
|
||||
responseMap.put("klist",pageInfo.getList());
|
||||
pageInfo.setList(null);
|
||||
ResponseEntityDto interfaceResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(responseMap);
|
||||
|
||||
return interfaceResponseEntityDto;
|
||||
}
|
||||
|
||||
//添加接口
|
||||
@PostMapping("addInterface")
|
||||
@ArchivesLog(operationType = OpTypeConst.ADD_INTERFACE)
|
||||
public ResponseEntityDto<InterfaceVo> addInterface(@RequestBody InterfaceVo interfaceVo ) {
|
||||
InterfaceVo insert = interfaceService.inserInterfaceInfo(interfaceVo);
|
||||
ResponseEntityDto<InterfaceVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(insert);
|
||||
return ruleResponseEntityDto;
|
||||
}
|
||||
|
||||
//删除接口
|
||||
@PostMapping("deleteInterface")
|
||||
@ArchivesLog(operationType = OpTypeConst.DELETE_INTERFACE)
|
||||
public ResponseEntityDto<Boolean> deleteInterface(@RequestBody InterfaceVo interfaceVo ) {
|
||||
Boolean bool = interfaceService.deleteInterfaceInfo(interfaceVo);
|
||||
ResponseEntityDto<Boolean> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(bool);
|
||||
return ruleResponseEntityDto;
|
||||
}
|
||||
|
||||
//编辑接口
|
||||
@PostMapping("updateInterface")
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_INTERFACE)
|
||||
public ResponseEntityDto<InterfaceVo> updateInterface(@RequestBody InterfaceVo interfaceVo ) {
|
||||
InterfaceVo insert = interfaceService.updateInterfaceInfo(interfaceVo);
|
||||
ResponseEntityDto<InterfaceVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(insert);
|
||||
return ruleResponseEntityDto;
|
||||
}
|
||||
|
||||
//批量更新接口状态
|
||||
@PostMapping("updateInterfaceStatus")
|
||||
@ArchivesLog(operationType = OpTypeConst.UPDATE_INTERFACE_STATUS)
|
||||
public ResponseEntityDto updateStatus(@RequestBody InterfaceUpdateStatusParam param) {
|
||||
Long[] ids = param.getIds();
|
||||
Integer status = param.getStatus();
|
||||
if (ids==null||ids.length==0||status==null){
|
||||
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
|
||||
}
|
||||
boolean updateResult = interfaceService.updateStatus(ids, status);
|
||||
if (updateResult){
|
||||
return ResponseEntityBuilder.buildNormalResponse(updateResult);
|
||||
}else {
|
||||
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.SERVER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.risk.riskmanage.interfacemanage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.interfacemanage.model.InterfaceInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface InterfaceMapper extends BaseMapper<InterfaceInfo> {
|
||||
int updateStatus(@Param(value = "ids") Long[] ids, @Param(value = "status") Integer status);
|
||||
|
||||
List<InterfaceInfo> queryInterfaceList(InterfaceInfo interfaceInfo);
|
||||
|
||||
List<InterfaceInfo> queryLimit(@Param(value = "start")int start, @Param(value = "size")int size);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.risk.riskmanage.interfacemanage.model;
|
||||
|
||||
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 lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors
|
||||
@TableName("t_field_interface")
|
||||
public class InterfaceInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Integer id; //接口id
|
||||
|
||||
private String name; //接口名称
|
||||
|
||||
private String url; //请求地址
|
||||
|
||||
private String method; //请求方法
|
||||
|
||||
private String requestHeaders; //请求体类型
|
||||
|
||||
private String requestBody; //请求参数体
|
||||
|
||||
private String bindParam; //绑定参数
|
||||
|
||||
private String responseBody; //请求响应体
|
||||
|
||||
private Long creator; //创建者
|
||||
|
||||
private Long modifier; //修改者
|
||||
|
||||
private Long organId; //企业编号
|
||||
|
||||
private Integer status; //请求状态
|
||||
|
||||
private Date createTime; //创建时间
|
||||
|
||||
private Date updateTime; //更新时间
|
||||
|
||||
private String requestType;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String username; //用户名
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.risk.riskmanage.interfacemanage.model.request;
|
||||
|
||||
import com.risk.riskmanage.interfacemanage.model.InterfaceInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class InterfaceListParam {
|
||||
protected Integer pageNo = 1; // 第几页
|
||||
protected Integer pageSize = 10; // 每页的数量
|
||||
|
||||
|
||||
// protected Boolean search = false; // 是否搜索
|
||||
|
||||
protected InterfaceInfo interfaceInfo;//查询实体对象
|
||||
|
||||
// protected Integer parentId = 0; // 文件夹的id
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.risk.riskmanage.interfacemanage.model.request;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors
|
||||
public class InterfaceUpdateParent {
|
||||
private Long[] ids;//规则id
|
||||
private Long parentId;//文件夹id
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.risk.riskmanage.interfacemanage.model.request;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors
|
||||
public class InterfaceUpdateStatusParam {
|
||||
private Long[] ids;//id
|
||||
private Integer status;//状态
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.risk.riskmanage.interfacemanage.model.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors
|
||||
@TableName("t_field_interface")
|
||||
public class InterfaceVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer id; //接口id
|
||||
|
||||
private String name; //接口名称
|
||||
|
||||
private String url; //请求地址
|
||||
|
||||
private String method; //请求方法
|
||||
|
||||
private String requestHeaders; //请求体类型
|
||||
|
||||
private String requestBody; //请求参数体
|
||||
|
||||
private String bindParam; //绑定参数
|
||||
|
||||
private String responseBody; //请求响应体
|
||||
|
||||
private Long creator; //创建者
|
||||
|
||||
private Long modifier; //修改者
|
||||
|
||||
private Long organId; //企业编号
|
||||
|
||||
private Long status; //请求状态
|
||||
|
||||
private Date createTime; //创建时间
|
||||
|
||||
private Date updateTime; //更新时间
|
||||
|
||||
private String requestType;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String username; //用户名
|
||||
|
||||
@TableField(exist = false)
|
||||
private String creatorName; //创建者姓名
|
||||
|
||||
@TableField(exist = false)
|
||||
private String modifierName; //修改者姓名
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.risk.riskmanage.interfacemanage.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.risk.riskmanage.common.model.requestParam.QueryListParam;
|
||||
import com.risk.riskmanage.interfacemanage.model.InterfaceInfo;
|
||||
import com.risk.riskmanage.interfacemanage.model.request.InterfaceListParam;
|
||||
import com.risk.riskmanage.interfacemanage.model.vo.InterfaceVo;
|
||||
|
||||
public interface InterfaceService extends IService<InterfaceInfo> {
|
||||
InterfaceVo getInterfaceById(Long id);
|
||||
|
||||
// Map<String, Object> getInterfaceList(PageDto pageDto);
|
||||
|
||||
PageInfo queryByEntity( QueryListParam<InterfaceInfo> param);
|
||||
|
||||
InterfaceVo inserInterfaceInfo(InterfaceVo interfaceVo);
|
||||
|
||||
InterfaceVo updateInterfaceInfo(InterfaceVo interfaceVo);
|
||||
|
||||
//更新接口
|
||||
boolean updateStatus(Long[] ids, Integer status);
|
||||
|
||||
//删除接口
|
||||
Boolean deleteInterfaceInfo(InterfaceVo interfaceVo);
|
||||
|
||||
// public PageBean<InterfaceVo> pageQuery(int currentPage, int pageSize);
|
||||
|
||||
//http请求
|
||||
String getHttpResponse(InterfaceInfo interfaceInfo);
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
package com.risk.riskmanage.interfacemanage.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
|
||||
import com.risk.riskmanage.common.exception.ApiException;
|
||||
import com.risk.riskmanage.common.model.requestParam.QueryListParam;
|
||||
import com.risk.riskmanage.interfacemanage.mapper.InterfaceMapper;
|
||||
import com.risk.riskmanage.interfacemanage.model.InterfaceInfo;
|
||||
import com.risk.riskmanage.interfacemanage.model.request.InterfaceListParam;
|
||||
import com.risk.riskmanage.interfacemanage.model.vo.InterfaceVo;
|
||||
import com.risk.riskmanage.interfacemanage.service.InterfaceService;
|
||||
import com.risk.riskmanage.system.mapper.UserMapper;
|
||||
import com.risk.riskmanage.system.model.User;
|
||||
import com.risk.riskmanage.util.SessionManager;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class InterfaceServiceImpl extends ServiceImpl<InterfaceMapper,InterfaceInfo> implements InterfaceService {
|
||||
@Resource
|
||||
InterfaceMapper interfaceMapper;
|
||||
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
@Autowired
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
@Value("${runner.url}")
|
||||
private String runnerUrl;
|
||||
|
||||
@Override
|
||||
public String getHttpResponse(InterfaceInfo interfaceInfo) {
|
||||
HttpHeaders httpHeaders = new HttpHeaders();
|
||||
// 设置请求头
|
||||
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
|
||||
// 封装请求体
|
||||
JSONObject body = JSONObject.parseObject(JSONObject.toJSONString(interfaceInfo));
|
||||
// 封装参数和头信息
|
||||
HttpEntity<JSONObject> httpEntity = new HttpEntity(body, httpHeaders);
|
||||
String url = runnerUrl + "/manager/invokeInterface";
|
||||
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, httpEntity, String.class);
|
||||
return responseEntity.getBody();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteInterfaceInfo(InterfaceVo interfaceVo) {
|
||||
interfaceMapper.deleteById(interfaceVo.getId());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InterfaceVo updateInterfaceInfo(InterfaceVo interfaceVo) {
|
||||
InterfaceInfo interfaceInfo = new InterfaceInfo();
|
||||
BeanUtils.copyProperties(interfaceVo,interfaceInfo);
|
||||
User user = SessionManager.getLoginAccount();
|
||||
//设置创建者和修改者id
|
||||
interfaceInfo.setModifier(user.getUserId());
|
||||
interfaceMapper.updateById(interfaceInfo);
|
||||
return interfaceVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean updateStatus(Long[] ids, Integer status) {
|
||||
int updateNum = interfaceMapper.updateStatus(ids, status);
|
||||
if (updateNum>0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//添加接口信息
|
||||
@Override
|
||||
public InterfaceVo inserInterfaceInfo(InterfaceVo interfaceVo) {
|
||||
//拷贝VO到Info对象
|
||||
InterfaceInfo interfaceInfo = new InterfaceInfo();
|
||||
BeanUtils.copyProperties(interfaceVo, interfaceInfo);
|
||||
User user = SessionManager.getLoginAccount();
|
||||
//设置创建者和修改者id
|
||||
interfaceInfo.setCreator(user.getUserId());
|
||||
interfaceInfo.setModifier(user.getUserId());
|
||||
interfaceInfo.setOrganId(user.getOrganId());
|
||||
interfaceInfo.setStatus(1);
|
||||
//插入并获取insert后实体对象返回id
|
||||
boolean save = this.save(interfaceInfo);
|
||||
if (!save) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERFACE_SAVE_ERROR.getCode(), ErrorCodeEnum.INTERFACE_SAVE_ERROR.getMessage());
|
||||
}
|
||||
return interfaceVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo queryByEntity(QueryListParam<InterfaceInfo> interfaceListParam) {
|
||||
InterfaceInfo interfaceInfo = interfaceListParam.getEntity();
|
||||
|
||||
|
||||
Integer pageNo = interfaceListParam.getPageNum();
|
||||
Integer pageSize = interfaceListParam.getPageSize();
|
||||
if (pageNo > 0 && pageSize > 0) {
|
||||
PageHelper.startPage(pageNo, pageSize);
|
||||
}
|
||||
Wrapper<InterfaceInfo> wrapper = createWrapper(interfaceListParam.getEntity());
|
||||
List<InterfaceInfo> interfaceList = interfaceMapper.selectList(wrapper);
|
||||
PageInfo pageInfo = new PageInfo(interfaceList);
|
||||
|
||||
|
||||
// 级联操作完成拼装
|
||||
List<InterfaceVo> interfaceVos = new ArrayList<>();
|
||||
|
||||
User user = SessionManager.getLoginAccount();
|
||||
for(InterfaceInfo info: interfaceList){
|
||||
InterfaceVo interfaceVo = new InterfaceVo();
|
||||
BeanUtils.copyProperties(info,interfaceVo);
|
||||
interfaceVo.setUsername(user.getNickName());
|
||||
//设置创建者昵称
|
||||
interfaceVo.setCreatorName(userMapper.findNickNameById(info.getCreator()));
|
||||
//设置修改者昵称
|
||||
interfaceVo.setModifierName(userMapper.findNickNameById(info.getModifier()));
|
||||
interfaceVos.add(interfaceVo);
|
||||
}
|
||||
pageInfo.setList(interfaceVos);
|
||||
|
||||
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InterfaceVo getInterfaceById(Long id) {
|
||||
InterfaceInfo info = interfaceMapper.selectById(id);
|
||||
InterfaceVo interfaceVo = new InterfaceVo();
|
||||
BeanUtils.copyProperties(info,interfaceVo);
|
||||
User user = SessionManager.getLoginAccount();
|
||||
interfaceVo.setUsername(user.getNickName());
|
||||
//设置创建者昵称
|
||||
interfaceVo.setCreatorName(userMapper.findNickNameById(info.getCreator()));
|
||||
//设置修改者昵称
|
||||
interfaceVo.setModifierName(userMapper.findNickNameById(info.getModifier()));
|
||||
return interfaceVo;
|
||||
}
|
||||
|
||||
//新插入数据的准备工作
|
||||
// private InterfaceVo initParam(InterfaceVo interfaceVo) {
|
||||
// //加入用户信息
|
||||
// User user = SessionManager.getLoginAccount();
|
||||
// interfaceVo.setOrganId(user.getOrganId());
|
||||
// interfaceVo.setUsername(user.getNickName());
|
||||
//
|
||||
// return interfaceVo;
|
||||
// }
|
||||
|
||||
//唯一性检查
|
||||
private boolean checkUniqueness(InterfaceVo vo) {
|
||||
InterfaceInfo interfaceInfo = new InterfaceInfo();
|
||||
interfaceInfo.setName(vo.getName());
|
||||
InterfaceInfo info = this.getOne(new QueryWrapper<>(interfaceInfo));
|
||||
if (info != null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERFACE_NAME_REPEAT.getCode(), ErrorCodeEnum.INTERFACE_NAME_REPEAT.getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//创建查询器
|
||||
private Wrapper<InterfaceInfo> createWrapper(InterfaceInfo query){
|
||||
LambdaQueryWrapper<InterfaceInfo> wrapper = new LambdaQueryWrapper<>();
|
||||
if (query!=null){
|
||||
if (StringUtils.isNotBlank(query.getName())){
|
||||
wrapper.like(InterfaceInfo::getName,query.getName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getMethod())){
|
||||
wrapper.eq(InterfaceInfo::getMethod,query.getMethod());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getUrl())){
|
||||
wrapper.eq(InterfaceInfo::getUrl,query.getUrl());
|
||||
}
|
||||
if (query.getStatus()!=null){
|
||||
wrapper.eq(InterfaceInfo::getStatus,query.getStatus());
|
||||
}else {
|
||||
wrapper.ne(InterfaceInfo::getStatus,-1);
|
||||
}
|
||||
}else {
|
||||
wrapper.ne(InterfaceInfo::getStatus,-1);
|
||||
}
|
||||
wrapper.orderByDesc(InterfaceInfo::getId);
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.risk.riskmanage.knowledge.common.consts;
|
||||
|
||||
/**
|
||||
* ClassName:ExcelHeader <br/>
|
||||
* Description: Excel表头配置. <br/>
|
||||
*/
|
||||
public class ExcelHeader {
|
||||
|
||||
/**
|
||||
* 规则表头名称
|
||||
* */
|
||||
public static final String[] RULE_HEADER = {"规则名称","规则代码","规则描述","优先级","条件","输出"};
|
||||
|
||||
/**
|
||||
* 规则表头对应属性名称
|
||||
* */
|
||||
public static final String[] RULE_ClASS = {"name","versionCode","description","priority","fieldContent","content"};
|
||||
|
||||
/**
|
||||
* 评分卡表头名称
|
||||
* */
|
||||
public static final String[] SCORECARD_HEADER = {"评分卡名称","评分卡代码","评分卡描述","版本号","指标详情","评分卡规则内容"};
|
||||
|
||||
/**
|
||||
* 评分卡表头对应属性名称
|
||||
* */
|
||||
public static final String[] SCORECARD_ClASS = {"name","versionCode","description","version","fieldContent","content"};
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.risk.riskmanage.knowledge.common.consts;
|
||||
|
||||
/**
|
||||
* ClassName:ExcelHeader <br/>
|
||||
* Description: 通用状态. <br/>
|
||||
*/
|
||||
public class Status {
|
||||
|
||||
/**
|
||||
* 启用
|
||||
* */
|
||||
public static final int ENABLED = 1;
|
||||
|
||||
/**
|
||||
* 停用
|
||||
* */
|
||||
public static final int DISABLE =0;
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* */
|
||||
public static final int DELETE =-1;
|
||||
|
||||
/**
|
||||
* 输出
|
||||
* */
|
||||
public static final int IS_OUTPUT =1;
|
||||
|
||||
/**
|
||||
* 不输出
|
||||
* */
|
||||
public static final int IS_NOT_OUTPUT =0;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.risk.riskmanage.knowledge.common.consts;
|
||||
/**
|
||||
* ClassName:ExcelHeader <br/>
|
||||
* Description: 通用类型. <br/>
|
||||
* @see
|
||||
*/
|
||||
public class Type {
|
||||
/**
|
||||
* 系统的
|
||||
* */
|
||||
public static final int SYSTEMATIC =0;
|
||||
|
||||
/**
|
||||
* 组织的
|
||||
* */
|
||||
public static final int ORGANIZATIONAL =1;
|
||||
|
||||
/**
|
||||
* 引擎的
|
||||
* */
|
||||
public static final int ENGINE =2;
|
||||
|
||||
/**
|
||||
* 树类型为规则集
|
||||
* */
|
||||
public static final int RULE_TREE =0;
|
||||
|
||||
/**
|
||||
* 树类型为评分卡
|
||||
* */
|
||||
public static final int SCORECARD_TREE =0;
|
||||
|
||||
/**
|
||||
* 树类型为回收站
|
||||
* */
|
||||
public static final int RECYCLE_TREE =0;
|
||||
|
||||
/**
|
||||
* 知识库映射类型
|
||||
*/
|
||||
public static final int POLICY = 1;
|
||||
|
||||
public static final int SCORECARD = 2;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,40 @@
|
||||
package com.risk.riskmanage.knowledge.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.knowledge.model.KnowledgeTreeRel;
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* ClassName:KnowledgeTreeRelMapper</br>
|
||||
* Description:引擎与引用规则关系 mapper
|
||||
* @see
|
||||
* */
|
||||
public interface EngineRuleRelMapper extends BaseMapper<KnowledgeTreeRel>{
|
||||
|
||||
/**
|
||||
* insertRel:(批量插入关系)
|
||||
*
|
||||
* @param param 关系集合
|
||||
* @return
|
||||
* */
|
||||
public int insertRel(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* deleteRel:(批量删除关系)
|
||||
*
|
||||
* @param param 关系集合
|
||||
* @return
|
||||
* */
|
||||
public int deleteRel(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* getRuleIdsByEngineId:(根据引擎id,获取引用规则id集合)
|
||||
*
|
||||
* @param param 关系集合
|
||||
* @return
|
||||
* */
|
||||
public List<Long> getRuleIdsByEngineId(Long engineId);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.risk.riskmanage.knowledge.mapper;
|
||||
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
import com.risk.riskmanage.engine.model.request.KnowledgeTreeListParam;
|
||||
import com.risk.riskmanage.knowledge.model.KnowledgeTree;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* ClassName:KnowledgeTreeMapper </br>
|
||||
* Description:知识库目录mapper
|
||||
* @see
|
||||
*
|
||||
* */
|
||||
public interface KnowledgeTreeMapper extends BaseMapper<KnowledgeTree>{
|
||||
|
||||
/**
|
||||
* getTreeList:(根据父节点id和组织id,查询其下的所有子节点)
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 父节点下的所有子节点
|
||||
* */
|
||||
public List<KnowledgeTree> getTreeList(Map<String ,Object> paramMap);
|
||||
public List<KnowledgeTree> getTreeListV2(Map<String ,Object> paramMap);
|
||||
|
||||
/**
|
||||
* batchInsert:(批量新增节点)
|
||||
*
|
||||
* @param k 节点信息集合
|
||||
* @return
|
||||
* */
|
||||
public int batchInsert(List<KnowledgeTree> k);
|
||||
|
||||
/**
|
||||
* getTreeList:(根据父节点id和组织id,查询其下的所有子节点,若节点下规则,则过滤掉)
|
||||
*
|
||||
* @param paramMap 参数集合
|
||||
* @return 父节点下的所有子节点
|
||||
* */
|
||||
public List<KnowledgeTree> getTreeDataForEngine(Map<String ,Object> paramMap);
|
||||
|
||||
public List<KnowledgeTree> getTreeDataForEngineV2(Map<String ,Object> paramMap);
|
||||
|
||||
Long getTreeId(KnowledgeTree knowledgeTree);
|
||||
|
||||
List<KnowledgeTree> selectFolderList(KnowledgeTreeListParam param);
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.risk.riskmanage.knowledge.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.risk.riskmanage.knowledge.model.KnowledgeTreeRel;
|
||||
import com.risk.riskmanage.common.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* ClassName:KnowledgeTreeRelMapper</br>
|
||||
* Description:规则管理树形目录与引擎关系 mapper
|
||||
* @see
|
||||
*
|
||||
* */
|
||||
public interface KnowledgeTreeRelMapper extends BaseMapper<KnowledgeTreeRel>{
|
||||
|
||||
/**
|
||||
* insertRel:(批量插入关系)
|
||||
*
|
||||
* @param list 关系集合
|
||||
* @return
|
||||
* */
|
||||
public int insertRel(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* deleteRel:(批量删除关系)
|
||||
*
|
||||
* @param engineId 引擎id
|
||||
* @return
|
||||
* */
|
||||
public int deleteRel(Long engineId);
|
||||
|
||||
/**
|
||||
* findTreeIdsByEngineId:(根据引擎id,获取引擎使用的组织目录节点的id的集合)
|
||||
*
|
||||
* @param engineId 引擎id
|
||||
* @return
|
||||
* */
|
||||
public List<Long> findTreeIdsByEngineId(Long engineId);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user