版本2.0更新

This commit is contained in:
yunian
2022-06-20 13:49:26 +08:00
parent fa45187778
commit 50563d3815
572 changed files with 0 additions and 61282 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +0,0 @@
.DS_Store
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea
.Archive/
.vscode/
dist
*.log
target/
*.iml
apidoc/

View File

@@ -1,306 +0,0 @@
<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>

View File

@@ -1,19 +0,0 @@
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);
}
}

View File

@@ -1,8 +0,0 @@
package com.risk.riskmanage.common.basefactory;
/**
* @ClassName: BaseController <br/>
*/
public abstract class BaseController extends CcpBaseController{
}

View File

@@ -1,139 +0,0 @@
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;
}

View File

@@ -1,15 +0,0 @@
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;
}

View File

@@ -1,90 +0,0 @@
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;
}

View File

@@ -1,48 +0,0 @@
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;
}

View File

@@ -1,21 +0,0 @@
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;
}
}

View File

@@ -1,322 +0,0 @@
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="数据填写";
}

View File

@@ -1,345 +0,0 @@
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;
}
}

View File

@@ -1,23 +0,0 @@
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;
}
}

View File

@@ -1,8 +0,0 @@
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;//删除状态
}

View File

@@ -1,36 +0,0 @@
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;
}
}

View File

@@ -1,82 +0,0 @@
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;
}
}

View File

@@ -1,57 +0,0 @@
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;
}
}

View File

@@ -1,60 +0,0 @@
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);
}

View File

@@ -1,85 +0,0 @@
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;
}
}

View File

@@ -1,12 +0,0 @@
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 {
}

View File

@@ -1,15 +0,0 @@
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;//类型xlsxxls
private List<ExcelSheetModel> sheets;//工作簿
}

View File

@@ -1,16 +0,0 @@
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数据
}

View File

@@ -1,22 +0,0 @@
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;
}

View File

@@ -1,88 +0,0 @@
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;
}
}

View File

@@ -1,14 +0,0 @@
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;//查询实体对象
}

View File

@@ -1,22 +0,0 @@
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;//针对需要指定类型的需要传入实体类
}

View File

@@ -1,27 +0,0 @@
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;
}
}

View File

@@ -1,39 +0,0 @@
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;
}
}

View File

@@ -1,311 +0,0 @@
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();
}
}
}
}
}

View File

@@ -1,138 +0,0 @@
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;
}
}

View File

@@ -1,61 +0,0 @@
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;*/
}

View File

@@ -1,46 +0,0 @@
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;
}
}

View File

@@ -1,61 +0,0 @@
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);
}
}

View File

@@ -1,27 +0,0 @@
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;
}
}

View File

@@ -1,24 +0,0 @@
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("/**"); // 添加拦截器需要要拦截的路径
}
}

View File

@@ -1,8 +0,0 @@
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" };
}

View File

@@ -1,666 +0,0 @@
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 "";
}
}

View File

@@ -1,11 +0,0 @@
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;
}
}

View File

@@ -1,17 +0,0 @@
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;
}
}

View File

@@ -1,870 +0,0 @@
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("移动失败","");
}
}

View File

@@ -1,36 +0,0 @@
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);
}

View File

@@ -1,270 +0,0 @@
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);
}

View File

@@ -1,126 +0,0 @@
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);
}

View File

@@ -1,52 +0,0 @@
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);
}

View File

@@ -1,74 +0,0 @@
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);
}

View File

@@ -1,456 +0,0 @@
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;
}
}

View File

@@ -1,141 +0,0 @@
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;
}
}

View File

@@ -1,130 +0,0 @@
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;
}
}

View File

@@ -1,79 +0,0 @@
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;
}
}

View File

@@ -1,101 +0,0 @@
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;
}
}

View File

@@ -1,44 +0,0 @@
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;
}
}

View File

@@ -1,97 +0,0 @@
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;
// }
//
}

View File

@@ -1,23 +0,0 @@
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
}

View File

@@ -1,274 +0,0 @@
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);
}

View File

@@ -1,60 +0,0 @@
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);
}

View File

@@ -1,92 +0,0 @@
package com.risk.riskmanage.datamanage.service.imp;
import java.util.ArrayList;
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()]);
}
}

View File

@@ -1,32 +0,0 @@
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;
}
}

View File

@@ -1,150 +0,0 @@
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;
}
}

View File

@@ -1,89 +0,0 @@
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;
}
}

View File

@@ -1,108 +0,0 @@
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;
}
}

View File

@@ -1,59 +0,0 @@
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);
}
}

View File

@@ -1,9 +0,0 @@
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> {
}

View File

@@ -1,107 +0,0 @@
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;
}

View File

@@ -1,15 +0,0 @@
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;
}

View File

@@ -1,112 +0,0 @@
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;
}

View File

@@ -1,21 +0,0 @@
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);
}

View File

@@ -1,107 +0,0 @@
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);
}
}

View File

@@ -1,93 +0,0 @@
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;
}

View File

@@ -1,94 +0,0 @@
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;
}

View File

@@ -1,73 +0,0 @@
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;
}
}

View File

@@ -1,203 +0,0 @@
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();
}
}
}

View File

@@ -1,33 +0,0 @@
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;
}
}

View File

@@ -1,63 +0,0 @@
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;
}
}

View File

@@ -1,61 +0,0 @@
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;
}
}

View File

@@ -1,16 +0,0 @@
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组织通用
}

View File

@@ -1,18 +0,0 @@
package com.risk.riskmanage.engine.model.response.param;
import lombok.Data;
import java.util.List;
/**
* 决策流输出内容 (节点类型-》节点列表-》节点输出字段)
*
*/
@Data
public class DecisionFlowOutputResponse {
/**
* 节点类型集合
*/
private List<NodeTypeResponse> nodeTypeList;
}

View File

@@ -1,23 +0,0 @@
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;
}

View File

@@ -1,18 +0,0 @@
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;
}

View File

@@ -1,36 +0,0 @@
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;
}

View File

@@ -1,24 +0,0 @@
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;
}

View File

@@ -1,27 +0,0 @@
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;
}

View File

@@ -1,29 +0,0 @@
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;
}

View File

@@ -1,19 +0,0 @@
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;
}

View File

@@ -1,136 +0,0 @@
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);
}
}
}

View File

@@ -1,18 +0,0 @@
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);
}

View File

@@ -1,61 +0,0 @@
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; //用户名
}

View File

@@ -1,22 +0,0 @@
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
}

View File

@@ -1,15 +0,0 @@
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
}

View File

@@ -1,16 +0,0 @@
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;//状态
}

View File

@@ -1,64 +0,0 @@
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; //修改者姓名
}

View File

@@ -1,31 +0,0 @@
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);
}

View File

@@ -1,207 +0,0 @@
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;
}
}

View File

@@ -1,30 +0,0 @@
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"};
}

View File

@@ -1,35 +0,0 @@
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;
}

View File

@@ -1,44 +0,0 @@
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;
}

View File

@@ -1,40 +0,0 @@
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);
}

View File

@@ -1,48 +0,0 @@
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);
}

Some files were not shown because too many files have changed in this diff Show More