Commit e4dc740a authored by huxiuwu's avatar huxiuwu

Merge remote-tracking branch 'origin/master'

parents c41e0af9 83c5782c
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="CheckStyle-IDEA-Module">
<option name="configuration">
<map />
</option>
</component>
<component name="FacetManager"> <component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web"> <facet type="web" name="Web">
<configuration> <configuration>
<webroots /> <webroots />
</configuration> </configuration>
</facet> </facet>
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component> </component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://D:/.m2/org/springframework/boot/spring-boot-starter-parent/2.4.2/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://D:/.m2/org/springframework/boot/spring-boot-starter-parent/2.4.2/target/test-classes" />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
......
...@@ -77,6 +77,10 @@ ...@@ -77,6 +77,10 @@
<version>1.2.62</version> <version>1.2.62</version>
</dependency> </dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>io.jsonwebtoken</groupId>--> <!-- <groupId>io.jsonwebtoken</groupId>-->
<!-- <artifactId>jjwt</artifactId>--> <!-- <artifactId>jjwt</artifactId>-->
......
...@@ -20,11 +20,11 @@ import java.util.TimeZone; ...@@ -20,11 +20,11 @@ import java.util.TimeZone;
@SpringBootApplication @SpringBootApplication
@MapperScan(basePackages = {"com.pms.ocp.mapper"}) @MapperScan(basePackages = {"com.pms.ocp.mapper"})
//@ConfigurationPropertiesScan @ConfigurationPropertiesScan
//@EnableOpenApi @EnableOpenApi
public class OcpApplication { public class OcpApplication {
public static void main(String[] args) { public static void main(String[] args) {
// TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
SpringApplication.run(OcpApplication.class, args); SpringApplication.run(OcpApplication.class, args);
} }
......
package com.pms.ocp.common.constants;
public interface AnalysisConstant {
interface exportOcpApiAuditName{
final String OCP_API_AUDIT= "服务大事记导出数据";
}
}
package com.pms.ocp.common.constants;
import java.math.BigDecimal;
public interface Constant {
/**
* 系统参数
*/
interface SYSTEM {
/**
* 系统名称
*/
String NAME = "全口径房地资源管理系统";
}
/**
* 异常类常量值
*/
interface Exception {
String ERRORSQL = "Error SQL";
/**
* 巡店接口返回
*/
String ERROR = "error";
}
/**
* excel 参数
*/
interface ExcelConfig {
/**
* excel缓存
*/
String EXCEL_KEY_PREFIX = "excel:cache:%s";
}
/**
* 常用列名
*/
interface ColumnName {
String IS_DEL = "is_del";
}
/**
* 返回结果 success:成功,fail:业务返回的失败,error:非业务异常失败
*/
interface ReqResult {
/**
* 成功
*/
String SUCCESS = "success";
/**
* 失败
*/
String FAIL = "fail";
/**
* 异常
*/
String ERROR = "error";
}
/**
* 常用数值
*/
interface Number {
Integer MINUS_ZERO = -1;
Integer TWENTY = 20;
Integer THIRTY = 30;
Integer ZERO = 0;
Integer ONE = 1;
Integer TWO = 2;
Integer THREE = 3;
Integer FOUR = 4;
Integer FIVE = 5;
Integer SIX = 6;
Integer SEVEN = 7;
Integer EIGHT = 8;
Integer NINE = 9;
Integer TEN = 10;
Integer TWENTYFOUR = 24;
Integer TWENTYFIVE = 25;
Integer TWENTYSIX = 26;
Integer THIRTYTWO = 32;
Integer THIRTYTHREE = 33;
Integer THIRTYFOUR = 34;
Integer THIRTYSIX = 36;
Integer FOURTY = 40;
Integer FORTYTWO = 42;
Integer LENGTH = 3;
Integer NINETYNINE = 99;
Integer ONEHUNDRED = 100;
Integer ONETHOUSAND = 1000;
Integer TENTHOUSAND = 10000;
Integer TENMILLION = 10000000;
Integer ELEVEN = 11;
Long ZEROL = 0L;
Long ONEL = 1L;
Long COMPANY = 2L;
Long BUSINESS = 3L;
Long ONETHOUSANDL = 1000L;
Byte ONEB = 1;
Byte TWOB = 2;
Byte THREEB = 3;
Byte ANTI_INITLIZED = 0;
Byte INITLIZED = 1;
Double ZBXS = 0.01;
BigDecimal ZEROB = new BigDecimal(0);
BigDecimal ONEHUNDREDB = new BigDecimal(100);
BigDecimal TENTHOUSANDB = new BigDecimal(10000);
}
/**
* 当前环境 dev:开发, test:测试, prod:生产
*/
interface ProfileActive {
/**
* 开发环境
*/
String DEV = "dev";
/**
* 测试环境
*/
String TEST = "test";
/**
* 私人测试文件
*/
String TEST_ONE ="test1";
/**
* 生产环境
*/
String PROD = "prod";
/**
* 联调环境
*/
String LIANTIAO = "liantiao";
/**
* 本机
*/
String HOST = "host";
/**
* 南瑞部门提测
*/
String TESTNARI = "testnari";
}
/**
* Service缓存value
*/
interface RedisCache {
/**
* Redis key 分隔符(@Cacheable自动生成的分隔符)
*/
String redisSeparator = "::";
/**
* 设置累计访问redis key
*/
String CUMULATIVE_NUMBER = "cumulativeNumber";
/**
* 在线人数
*/
String ONLINE_NUMBER= "onlineNumber";
}
/**
* 系统配置
*/
interface SysConfig {
/**
* 同步锁自动超时时间(单位:秒)
*/
long REDIS_LOCK_TIMEOUT = 20;
/**
* 凭证操作同步锁自动释放时间(单位:秒)
*/
long VOUCHER_LOCK_TIMEOUT = 60;
/**
* 结账操作锁自动释放时间(单位:秒)
**/
long SETTLE_ACCOUNT_LOCK_TIMEOUT = 60 * 20;
/**
* 结账后是否允许修改现金流量
**/
byte SETTLE_ALLOW_EDIT_CASH_FLOW = 1;
/**
* 记录超时接口阈值
**/
long LONG_TIME_THRESHOLD = 1000;
/**
* 预警耗时日志打印
**/
String LONG_OUT_TIME_LOG = "接口预警:接口:{} 耗时:{}毫秒";
/**
* 预警耗时日志打印
**/
String LONG_TIME_LOG = "接口耗时:接口:{} 耗时:{}毫秒";
}
/**
* 常用字符
*/
interface Character {
String ENTITY = "'entity";
String TXT = ".txt";
String BRACKETS = "(";
String GROUP_CODE = "0000";
String QUESTION = "?";
String EQUALS = "=";
String AND = "&";
String COLON = ":";
String ASTERISK = "*";
String POINT = ".";
String COMMA = ",";
String BRACKET_LEFT_B = "{";
String BRACKET_RIGHT_B = "}";
String ZERO = "00";
String ONE = "001";
String String_ZERO = "0";
String String_ZEROB = "0.00";
String NULL_VALUE = "";
String UNDER_LINE = "_";
String MIDDLE_LINE = "-";
String MIDDLE_WAVE = "~";
String VIRGULE = "/";
Byte FAIL = 0;
Byte SUCCESS = 1;
Byte IS_REFERENCE = 2;
String Percent = "%";
String UTF8 = "utf-8";
String HASH_SIGN = "#";
String COMMA_SINGLE_QUOTE_SEPERATOR = "','";
String DOUBLE_COMMA = ",,";
String ON = "ON";
String OFF = "OFF";
String TIP_FLAG = "tipFlag";
String ALIAS_R = "r";
String ZEROZRRO = "0.00";
String AllCOUNT = "AllCount";
String FILE = "class";
String STRINGONE = "1";
String STRINGTWO = "2";
String STRINGTHREE = "3";
String STRINGFOUR = "4";
String STRINGFIVE = "5";
String land = "land";
String build = "build";
String NO = "否";
String YES = "是";
String NOHAVA = "无";
String GB2312 = "gb2312";
String text2312 = "text/plain;charset=gb2312";
String QUERYAFTERMODIFICATION= "QueryAfterModification";
String APPLICATION_PATH_IN_NACOS= "applicationPathInNacos";
String IP_VERIFY = "^((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)$";
String COMPUTER_NAME = "COMPUTERNAME";
String DIMENSIONENTITY_PATH = "com.sgcc.nari.common.entity.requestEntity.DimensionEntity";
String RETURNVALUE = "returnValue";
String PARAMETER_VALUE = "parameterValue";
}
/**
* 是否
*/
interface Is {
Byte YES = 1;
Byte NO = 0;
Integer NO_INT = 0;
Integer YES_INT = 1;
}
/**
* FTP
*/
interface ftpCode {
/**
* word后缀
*/
String FORMATSUFFIX = ".docx";
/**
* 报告前缀名称
*/
String REPORTNAME = "全口径房地资源报告";
/**
* 报告前缀名称
*/
String REPORTSHORTNAME = "realLandResourceReport";
/**
* 模板地址
*/
String MOULDPATH = "mouldPath";
/**
* 模板名称
*/
String MOULDNAME = "mouldName";
/**
* 简称
*/
String SHORTNAME = "shortName";
}
/**
* 正则表达式常量
*/
interface RegExp {
/**
* 括号,包括大括号和小括号
*/
String BRACKETS = "\\{|\\}|\\(|\\)";
/**
* 不可见字符
*/
String INVISIBLE = "\\s";
/**
* 运算符 加减乘除
*/
String OPERATOR = "\\+|\\-|\\*|\\/";
/**
* 数字,包括整形和浮点型
*/
String NUMBER = "'(\\d|\\.)+'";
/**
* 逗号开头或结尾
*/
String COMMA_START_OR_END = "^,|,$";
/**
* 井号左括号
*/
String HASH_SIGN_BRACKET_LEFT = "#\\{";
/**
* 右括号
*/
String BRACKET_RIGHT = "\\}";
/**
* #{内容},占位符内容
*/
String PLACE_HOLDER_CONTENT = "#\\{([^}])*\\}";
/**
* #{参数map.
*/
String PLACE_HOLDER_PARAM_MAP = "#\\{paramMap.";
/**
* 井号或者大括号
*/
String HASH_SIGN_BRACKETS = "#|\\{|\\}";
/**
* 空请求体
*/
String EMPTY_REQUEST_BODY = "\\{\\s+\\}";
}
/**
* 中文转换
*/
interface STRINGNAME {
/**
* 全部
*/
String ALL = "全部";
}
/**
* 登陆参数
*/
interface LOGUSED {
/**
* 操作系统名称
*/
String OPERATING_SYSTEM = "os.name";
/**
* 操作系统架构
*/
String OPERATING_SYSTEM_FRAMEWORK = "os.arch";
/**
* 登陆token标识
*/
String AUTHORIZATION = "authorization";
/**
* ticket
*/
String TICKET = "ticket";
/**
* token
*/
String TOKEN = "token";
}
/**
* 加密用
*/
interface cipher {
/**
* 前台sm2加密key
*/
String DECRYPT = "encryptData";
}
/**
* 所属分类
*/
interface Category {
/**
* 规划用途
*/
String PLANPURPOSE = "规划用途";
/**
* 土地性质
*/
String LANDCHARACTER = "土地性质";
/**
* 土地使用权类型
*/
String LANDUSETYPECODE = "土地使用权类型";
/**
* 行政区域
*/
String ORGANIZATION = "行政区域";
/**
* 来源
*/
String SOURCE = "来源";
/**
* 投资来源
*/
String INVESTRESOURCE = "投资来源";
/**
* 房产分类
*/
String BUILDTYPE = "房产分类";
/**
* 无证原因
*/
String NOLICENSEREASON = "无证原因";
/**
* 单位级别
*/
String UNITLEVELCODE = "单位级别";
/**
* 业务类型
*/
String BUSINESSTYPE = "业务类型";
}
/**
* 单位级别
*/
interface unitLevelCode {
//总部
String HEADQUARTERS_LEVEL = "1";
//分部
String SUBSECTION_LEVEL = "2";
//省
String PROVINCE_LEVEL = "3";
//市
String CITY_LEVEL = "4";
//县
String COUNTY_LEVEL = "5";
}
/**
* 请求方式
*/
interface METHOD {
//REQUEST
String GET = "GET";
//POST
String POST = "POST";
}
/**
* 字段类型
*/
interface CATEGORYTYPE {
/**
* 土地规划用途
*/
String PLANPURPOSE = "规划用途";
/**
* 土地性质
*/
String LANDCHARACTER = "土地性质";
/**
* 土地使用权类型
*/
String LANDUSETYPE = "土地使用权类型";
/**
* 无证原因
*/
String NOLICENSEREASON = "无证原因";
/**
* 来源
*/
String SOURCE = "来源";
/**
* 投资来源
*/
String INVESTSOURCE = "投资来源";
/**
* 房产分类
*/
String REALESTATETYPE = "房产分类";
/**
* 行政区域
*/
String AREA = "行政区域";
}
/**
* 日志操作类型
*/
interface LOGHANDLETYPE {
/**
* 查看
*/
String SELECT = "查看";
/**
* 添加
*/
String INSERT = "新增";
/**
* 删除
*/
String DELETE = "删除";
/**
* 修改
*/
String UPDATE = "修改";
}
/**
* 图片上传下载
*/
interface pictureConstant {
/**
* 排序
*/
String SORT = "[^0-9]";
/**
* "redisKey",
*/
String REDISKEY = "redisKey";
/**
* line.separator
*/
String LINE_SEPARATOR= "line.separator";
/**
* 校验图片格式正则
*/
String PICTURE_FORMAT = "^(.+?)\\.(png|jpg|gif|jpeg|bmp|PNG|JPG|GIF|JPEG|BMP)$";
/**
* 正则
*/
String PICREGEX = ".*[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?\\\\]+.*";
/**
* JPG
*/
String JPG = "JPG";
/**
* JEPG
*/
String JPEG = "JPEG";
/**
* PNG
*/
String PNG = "PNG";
/**
* GIF
*/
String GIF = "GIF";
/**
* BMP
*/
String BMP = "BMP";
/**
* 行号
*/
String LINENUMBER = "行号:";
String HP = "http://";
}
/**
* 日志监控参数
*/
interface MONITOR {
/**
* 审计人员角色
*/
String AUDITROLE = "审计人员";
/**
* 审计日志
*/
String AUDITLOG = "审计日志";
/**
* 系统维护
*/
String SYSTEMMAINTAIN = "系统维护人员";
/**
* 系统服务
*/
String SYSTEMSERVICE = "系统服务";
/**
* 系统告警
*/
String SYSTEMWARNING = "系统告警";
}
/**
* 消息类型
*/
interface NOTIFICATION_MESSAGE_TYPE {
/**
* PC
*/
int PC = Number.ZERO;
/**
* 邮件
*/
int MAIL = Number.ONE;
/**
* 短信
*/
int TEXT_MESSAGE = Number.TWO;
/**
* 微信
*/
int WECHAT = Number.THREE;
/**
* 其它
*/
int OTHER = Number.FOUR;
}
/**
* 消息类型
*/
interface NOTIFICATION_BUSINESS_TYPE {
/**
* 消息
*/
int MESSAGE = 1;
/**
* 告警
*/
int WARNING = 2;
}
/**
* 告警标题
*/
interface WARNING_HEAD {
/**
* 日志容量告警
*/
String AUDIT_SIZE_WARNING_HEAD = "日志容量告警";
/**
* 审计日志
*/
String TABLE_NAME = "审计日志";
}
/**
* 告警内容
*/
interface WARNING_CONTENT {
/**
* 日志容量告警
*/
String AUDIT_SIZE_WARNING_CONTENT = "当前日志容量已经超过监控阈值,监控阈值为 %s MB,当前实际产生容量为 %s MB,请尽快处理!";
}
/**
* ISC邮件信息配置
*/
interface ISCEMAIL {
/**
* ISC邮件信息配置
*/
String SENDEMAIL = "qkjfdzyxt@isc.com";
}
}
package com.pms.ocp.common.constants;
import org.apache.poi.ss.usermodel.Workbook;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.Locale;
import java.util.regex.Pattern;
public class ExportUtils {
/**
* 校验Header Manipulation
* @param header 参数
* @return 数据
*/
public static String headerManipulation(String header) {
if(StringUtils.isNullOrEmpty(header)){
return header;
}
String regex = "[`~!@#$%^&*()\\+\\=\\{}|:\"?><【】\\/r\\/n]";
Pattern pattern = Pattern.compile(regex);
pattern.matcher(header).replaceAll("").trim();
return header;
}
/**
* 流导出文件至浏览器
*
* @param response
* @param in
* @param fileName
*/
public static void exportWorld(HttpServletResponse response, InputStream in, String fileName) {
OutputStream out = null;
try {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setContentType("application/msword;charset=UTF-8");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
out = response.getOutputStream();
//定义缓存
byte[] buffer = new byte[1024];
int i;
while ((i = in.read(buffer)) != Constant.Number.MINUS_ZERO) {
out.write(buffer, Constant.Number.ZERO, i);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(com.pms.ocp.common.constants.ResultCodee.INTERNAL_SERVER_ERROR);
} finally {
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
;
}
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* Workbook导出浏览器
* 文件导出添加跨域 Access-Control-Allow-Origin
* @param response
* @param fileName
* @param workbook
*/
public static void exportExcel(HttpServletResponse response, String fileName, Workbook workbook) {
try {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(com.pms.ocp.common.constants.ResultCodee.INTERNAL_SERVER_ERROR);
}
}
/**
* 图片导出
*
* @param response
* @param in
* @param fileName
*/
public static void exportPic(HttpServletResponse response, InputStream in, String fileName) {
try {
if (in != null) {
response.reset();
String fileHeaderName = URLEncoder.encode(fileName, Constant.Character.UTF8);
String fileExtensionName = fileName.substring(fileName.lastIndexOf(".") + 1).toUpperCase(Locale.ENGLISH);
switch (fileExtensionName) {
case "JEPG":
case "JPG":
response.setContentType("image/jepg;charset=UTF-8");
break;
case "PNG":
response.setContentType("image/png;charset=UTF-8");
break;
case "BMP":
response.setContentType("application/x-bmp;charset=UTF-8");
break;
default:
response.setContentType("application/octet-stream;charset=UTF-8");
break;
}
response.setHeader("Content-Disposition", "attachment;filename=" + headerManipulation(fileHeaderName));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Access-Control-Allow-Origin", "*");
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
int i;
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.flush();
out.close();
in.close();
}
} catch (IOException e) {
e.printStackTrace();
throw new ServiceException(ResultCodee.INTERNAL_SERVER_ERROR);
}
}
}
package com.pms.ocp.common.constants;
/**
* 异常枚举类
*/
public enum ResultCodee {
/* ============================ 通用错误码 ========================== **/
/**
* 禁止访问 303
**/
PARAMS_NOT(303, "缺少参数"),
/**
* 存在错误参数 304
*/
PARAMS_NOT_RIGHT(304, "存在错误参数"),
/**
* 存在错误测试数据 305
*/
DATA_ERROR(305, "存在错误测试数据"),
/**
* 存在错误测试数据 305
*/
SERVER_ERROR(306, "服务异常"),
/**
* 校验失败 307
**/
VERIFICATION_FAIL(307, "校验失败"),
/**
* 错误请求 400
**/
BAD_REQUEST(400, "错误请求"),
/**
* 未经授权 401
**/
UNAUTHORIZED(401, "未经授权"),
/**
* 禁止访问 403
**/
FORBIDDEN(403, "禁止访问"),
/**
* 连接超时
**/
TIME_OUT(408, "连接超时"),
/**
* Feign连接错误
**/
FEIGN_CONNECT_ERROR(409, "feignClient 连接错误:%s"),
/**
* Feign连接错误
**/
BAD_REQUEST_METHOD(410, "不合法的请求方式"),
/**
* 操作异常 500
**/
INTERNAL_SERVER_ERROR(500, "操作异常"),
/**
* SQL异常
**/
SQL_ERROR_EXCEPTION(501, "SQL执行异常!"),
/**
* 操作失败
**/
OPERATION_FAILURE(507, "操作失败"),
/**
* 日期格式处理异常
**/
DATE_FORMAT_EXCEPTION(508, "日期格式处理异常"),
/**
* 项目启动文件异常
*/
SYSTEM_PROFILE_EXCEPTION(509, "错误的项目启动文件"),
/* ============================ 业务/错误码 start========================== **/
/* ===========================后台系统======================== **/
RECORD_NOT_EXIST(10001, "相关记录不存在!"),
SYS_USER_INVALID(10002, "用户登录已过期!"),
PERMISSION_NOT(10003, "无访问权限!"),
ACCOUNT_NOT(10004, "账号异常!"),
SHIRO_ERROR(10005, "鉴权/授权过程出错!"),
MENU_EXIST(10006, "菜单定义已存在!"),
ROLE_EXIST(10007, "角色定义已存在!"),
CODE_EXIST(10008, "编码已存在!"),
NAME_EXIST(10009, "名称已存在!"),
USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!"),
USER_ORGANIZATION_INFO_ERROR(10024,"用户组织机构信息有误!"),
TOKEN_INVALID(9997, "登录失效,请重新登录!"),
/* ============================ 文件处理 错误码 ========================== **/
FILE_NOT_EXISTS(21001, "文件不存在"),
FILE_MUST_IS_EXCEL(21002, "文件类型必须是excel"),
UPLOAD_EXCEPTION(21003, "上传过程出现异常"),
EXCEL_RULE_NOT_EXISTS(21004, "excel校验规则不存在"),
EXCEL_TEMPLATE_NOT_EXISTS(21005, "excel模板不存在"),
EXCEL_TEMPLATE_NOT_CORRECT(21009, "excel模板不对,请重新下载"),
EXCEL_DATA_NOT_EXISTS(21006, "excle数据不存在"),
EXCEL_NOT_CORRECT(21007, "excel不正确"),
EXCEL_PARSE_CORRECT(21010,"excel解析错误"),
CURRENT_MONTH_NOT_EXISTS(21008, "当前年月数据不存在"),
BATCH_NOT_NEED(21009, "无需批量操作!"),
CELL_IS_NULL(21010, "值不能为空"),
CELL_FORMAT_ERROR(21011, "值格式不正确"),
CELL_MIN_LENGTH_ERROR(21012, "值小于最小长度"),
CELL_MAX_LENGTH_ERROR(21013, "值大于最大长度"),
CELL_REGULAR_ERROR(21014, "值正则验证不通过"),
CELL_OPTION_ERROR(21015, "值不在选项集范围内"),
ROW_DUPLICATE_ERROR(21016, "行重复性校验未通过"),
CELL_DATE_FORMAT_ERROR(21017,"日期范围格式不正确"),
DATA_MISSING_UNITS(21018, "数据缺少单位级别编码"),
PICTURE_NAME_ILLEGAL(21019, "图片名称不合法,请重新上传"),
FILE_MUST_IS_PIC(21020, "图片格式不合法,请重新上传!"),
NAME_CONFLICT(21021, "该组织机构下名称重复,请修改名称!"),
ENCRYPT_ERROR_CODE(21022, "解密失败"),
/* ===========================JoyhrError======================== **/
SIGN_ERROR(80001,"签名验证错误!"),
METHOD_ERROR(80002,"方法不存在!"),
/* ===========================CrmHookError======================== **/
CRM_MEMBER_FOUND_ERROR(81001,"会员信息已存在"),
CRM_MEMBER_NOT_FOUND_ERROR(81002,"会员信息不存在"),
/* =============主系统更改Error ================= **/
MASTER_DATA_RELY_ERROR(90001,"切换系统与中台数据存在数据不匹配"),
RELY_DATA_NOT_MATCH_BASE(90002,"切换系统依赖数据与中台数据存在不匹配数据"),
BUS_DATA_NOT_MATCH_BASE(90003,"切换系统业务数据与中台数据存在不匹配数据"),
DATA_MAPPING_NOT_MATCH_BASE(90004,"切换系统数据映射中数据与中台数据存在不匹配数据"),
/* =============中台大平台系统 ================= **/
LOGIN_TIME_OUT(130001,"登录失效或未登录,请重新登录"),
VERFICATION_CODE_ERROR(130002,"验证码不正确"),
NO_USER(130003,"用户不存在"),
PASSWORD_ERROR(130004,"密码不正确"),
MOBILE_USED(130005,"该手机号码已被注册"),
BANK_ACCOUNT_USED(130006,"该银行账号已被使用"),
OPEN_GOODS_FAIL(130009,"开通失败,请重新开通或联系相关人员"),
PROBATION_GOODS_FAIL(130010,"试用失败,请重新试用或联系相关人员"),
END_GOODS_FAIL(130011,"停用失败,请重新停用或联系相关人员"),
FIND_ORDER_LIST_FAIL(130012,"查询订单列表失败,请重新查询或联系相关人员"),
FIND_BILL_FAIL(130013,"查询账单列表失败,请重新查询或联系相关人员"),
FIND_SIX_MONTH_BILL(130014,"查询近6个月消费失败"),
FIND_MONTH_GOODS(130015,"查询该月份消费情况失败"),
/* =============数据维护 ================= **/
TOTAL_SYNC_RECORD_EXITS(110001,"已执行过全量同步!"),
TOTAL_SYNC_RECORD_NOT_EXITS(110002,"还没执行全量同步!");
public final int statusCode;
public String msg;
ResultCodee(int statusCode, String msg) {
this.statusCode = statusCode;
this.msg = msg;
}
public int getStatusCode() {
return statusCode;
}
public String getMessage() {
return msg;
}
public void setMessage(String msg) {
this.msg = msg;
}
}
package com.pms.ocp.common.constants;
public class ServiceException extends RuntimeException {
private static final long serialVersionUID = -6914996666319154848L;
/**
* 状态编码
*/
public final int statusCode;
/**
* message信息
*/
public final String msg;
/**
* 数据对象
*/
public Object data;
public ServiceException(String message, ResultCodee resultCode) {
super(message);
this.statusCode = resultCode.statusCode;
this.msg = message;
}
public ServiceException(String message, ResultCodee resultCode, Object data) {
this(message, resultCode);
this.data = data;
}
public ServiceException(ResultCodee resultCode) {
this(resultCode.msg, resultCode);
}
public ServiceException(ResultCodee resultCode, Object data) {
this(resultCode.msg, resultCode, data);
}
}
package com.pms.ocp.common.constants;
import java.io.UnsupportedEncodingException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtils {
/**
* 常量3
*/
private static final int INT3 = 3;
/**
* 常量4
*/
private static final int INT4 = 4;
/**
* 常量16
*/
private static final int INT16 = 16;
/**
* 常量0x4e00
*/
private static final int INT0X4E00 = 0x4e00;
/**
* 常量0x9fa5
*/
private static final int INT0X9FA5 = 0x9fa5;
/**
* 常量0xf900
*/
private static final int INT0XF900 = 0xf900;
/**
* 常量0xfa2d
*/
private static final int INT0XFA2D = 0xfa2d;
public static final String SLASH = getSlash();
public static final String BACKSLASH = getBackslash();
public static final String URL_SLASH = getURLSlash();
public static final String BASE64_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
private static final int[] wi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1};
private static final int[] vi = {1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2};
private static int[] ai = new int[18];
public StringUtils(){
}
/**
* getSlash
* @return 返回“/”
*/
public static String getSlash()
{
return "/";
}
/**
* @return 返回“\\”
*/
public static String getBackslash()
{
return "\\";
}
/**
* @return 返回“//”
*/
public static String getURLSlash()
{
return "//";
}
/**
* @return 返回网页的空符号“&nbsp;”
*/
public static String getHTMLBlank()
{
return "&nbsp;";
}
/**
* 判断两个字符串是否值相等
*
* @param a
* 设置第一个字符串
* @param b
* 设置第二个字符串
* @return boolean 返回比较的结果
*/
public static boolean compare(String a, String b) {
if (isEmpty(a) && isEmpty(b))
return true;
if (!isEmpty(a) && !isEmpty(b))
return a.equals(b);
else
return false;
}
/**
* 判断两个字符串是否值相等,忽略大小写
* @param a
* 设置第一个字符串
* @param b
* 设置第二个字符串
* @return boolean 返回比较的结果
*/
public static boolean compareIgnoreCase(String a, String b)
{
if (isEmpty(a) && isEmpty(b))
return true;
if (!isEmpty(a) && !isEmpty(b))
return a.equalsIgnoreCase(b);
else
return false;
}
/**
* 复制字符串中从开始到指定的位置
*
* @param src
* 设置字符串
* @param len
* 指定复制到某个位置
* @return String 返回结果
*/
public static String copy(String src, int len)
{
if (src == null)
return null;
if (src.length() > len)
return len <= 0 ? null : src.substring(0, len);
else
return src;
}
/**
* 删除字符串中指定的一段字符串内容
*
* @param src
* 设置原字符串
* @param delStr
* 设置需要删除的字符串
* @return String 返回结果
*/
public static String delete(String src, String delStr)
{
if (isEmpty(src) || isEmpty(delStr))
return src;
StringBuffer buffer = new StringBuffer(src);
for (int index = src.length(); (index = src.lastIndexOf(delStr, index)) >= 0; index -= delStr.length())
buffer.delete(index, index + delStr.length());
return buffer.toString();
}
/**
* 将指定的字符和位置插入到原字符串中
*
* @param src
* 设置原字符串
* @param anotherStr
* 设置需要插入的字符串
* @param offset
* 位置
* @return String 返回结果
*/
public static String insert(String src, String anotherStr, int offset)
{
if (isEmpty(src) || isEmpty(anotherStr))
return src;
StringBuffer buffer = new StringBuffer(src);
if (offset >= 0 && offset <= src.length())
buffer.insert(offset, anotherStr);
return buffer.toString();
}
/**
* 追加指定的字符串到原字符串中
*
* @param src
* 设置原字符串
* @param appendStr
* 设置需要追加的字符串
* @return String 返回结果
*/
public static String append(String src, String appendStr)
{
if (isEmpty(src) || isEmpty(appendStr))
{
return src;
}
else
{
StringBuffer buffer = new StringBuffer(src);
buffer.append(appendStr);
return buffer.toString();
}
}
/**
* 根据参数替换字符串内容功能
*
* @param src
* 设置原字符串
* @param oldStr
* 指定替换字符串
* @param newStr
* 将要替换的内容
* @param isCaseSensitive
* 是否区分大小写
* @return String 返回结果
*/
public static String replace(String src, String oldStr, String newStr, boolean isCaseSensitive)
{
if (isEmpty(src) || isEmpty(oldStr) || newStr == null)
return src;
String s = isCaseSensitive ? src : src.toLowerCase();
String o = isCaseSensitive ? oldStr : oldStr.toLowerCase();
StringBuffer buffer = new StringBuffer(src);
for (int index = s.length(); (index = s.lastIndexOf(o, index)) >= 0; index -= o.length())
buffer.replace(index, index + o.length(), newStr);
return buffer.toString();
}
/**
* 根据参数替换字符串内容功能,可指定位置
*
* @param src
* 设置原字符串
* @param oldStr
* 指定替换字符串
* @param newStr
* 将要替换的内容
* @param isCaseSensitive
* 是否区分大小写
* @param index
* 指定位置
* @return String 返回结果
*/
public static String replace(String src, String oldStr, String newStr, boolean isCaseSensitive, int index)
{
if (src == null || src.length() == 0 || oldStr == null || oldStr.length() == 0 || index <= 0)
return src;
if (newStr == null)
newStr = "";
String s = isCaseSensitive ? src : src.toLowerCase();
String o = isCaseSensitive ? oldStr : oldStr.toLowerCase();
StringBuffer buffer = new StringBuffer(src);
int length = o.length();
int pos;
for (pos = s.indexOf(o, 0); pos >= 0; pos = s.indexOf(o, pos + length))
if (--index == 0)
break;
if (pos >= 0 && index == 0)
buffer.replace(pos, pos + length, newStr);
return buffer.toString();
}
/**
* 获取指定符号分割的字符串数组
*
* @param str
* 设置原字符串
* @param delimiter
* 设置分割符号
* @return String[] 返回字符串数组
*/
public static String[] split(String str, String delimiter)
{
ArrayList array = new ArrayList();
int index = 0;
int begin = 0;
String result[] = new String[0];
if (isEmpty(str))
return result;
do
{
index = str.indexOf(delimiter, begin);
if (index == begin)
{
if (index >= 0)
array.add("");
begin += delimiter.length();
continue;
}
if (index <= begin)
break;
int end = index;
array.add(str.substring(begin, end));
begin = index + delimiter.length();
} while (true);
if (begin >= 0 && begin < str.length())
array.add(str.substring(begin));
if (str.endsWith(delimiter))
array.add("");
if (array.size() > 0)
{
result = new String[array.size()];
array.toArray(result);
}
return result;
}
/**
* 获取指定符号分割的字符串数组,非空
*
* @param str
* 设置原字符串
* @param delimiter
* 设置分割符号
* @return String[] 返回字符串数组
*/
public static String[] splitWithoutEmpty(String str, String delimiter)
{
ArrayList array = new ArrayList();
int index = 0;
int begin = 0;
String result[] = new String[0];
if (isEmpty(str))
return new String[0];
do
{
index = str.indexOf(delimiter, begin);
if (index == begin)
{
if (index > 0)
array.add("");
begin += delimiter.length();
continue;
}
if (index <= begin)
break;
int end = index;
array.add(str.substring(begin, end));
begin = index + delimiter.length();
} while (true);
if (begin >= 0 && begin < str.length())
array.add(str.substring(begin));
if (array.size() > 0)
{
result = new String[array.size()];
array.toArray(result);
}
return result;
}
/**
* 将指定字符串内容反转
*
* @param str
* 设置原字符串
* @return String 返回字符串
*/
public static String reverse(String str)
{
if (isEmpty(str))
{
return str;
}
else
{
StringBuffer buffer = new StringBuffer(str);
buffer.reverse();
return buffer.toString();
}
}
/**
* 给传入的字符串前后加双引号
*
* @param str
* 设置原字符串
* @return String 返回结果
*/
public static String quote(String str)
{
if (isEmpty(str))
return "\"\"";
StringBuffer buffer = new StringBuffer(str);
if (!str.startsWith("\""))
buffer.insert(0, "\"");
if (!str.endsWith("\""))
buffer.append("\"");
return buffer.toString();
}
/**
* 去除字符串中的双引号
*
* @param str
* 设置原字符串
* @return String 返回结果
*/
public static String extractQuotedStr(String str)
{
if (isEmpty(str))
return str;
StringBuffer buffer = new StringBuffer(str);
int index = str.length();
while (buffer.charAt(buffer.length() - 1) == '"')
{
buffer.deleteCharAt(buffer.length() - 1);
index = buffer.length();
if (index <= 0)
break;
}
if (buffer.length() == 0)
return "";
while (buffer.charAt(0) == '"')
{
buffer.deleteCharAt(0);
index = buffer.length();
if (index <= 0)
break;
}
return buffer.toString();
}
/**
* 截取字符串中到指定的字符的内容,从左边开始
*
* @param str
* 设置原字符串
* @param c
* 设置指定字符
* @return String 返回结果
*/
public static String strChar(String str, char c)
{
if (str == null || str.length() == 0)
return null;
for (int i = 0; i < str.length(); i++)
if (str.charAt(i) == c)
return str.substring(i);
return null;
}
/**
* 截取字符串中到指定的字符的内容,从右边开始
*
* @param str
* 设置原字符串
* @param c
* 设置指定字符
* @return String 返回结果
*/
public static String strRChar(String str, char c)
{
if (str == null || str.length() == 0)
return null;
for (int i = str.length() - 1; i >= 0; i--)
if (str.charAt(i) == c)
return str.substring(i);
return null;
}
/**
* 将Object对象数组转成字符串数组
*
* @param array
* 设置Object对象数组
* @return String[] 返回结果
*/
public static String[] toArray(Object array[])
{
if (array == null || array.length == 0)
return null;
String result[] = new String[array.length];
for (int i = 0; i < array.length; i++)
if (array[i] != null)
result[i] = array[i].toString();
return result;
}
/**
* 将Vector对象数组元素转成字符串数组
*
* @param list
* 设置Vector对象数组
* @return String[] 返回结果
*/
public static String[] toArray(Vector list)
{
if (list == null || list.size() == 0)
return null;
String result[] = new String[list.size()];
for (int i = 0; i < list.size(); i++)
{
Object obj = list.get(i);
if (obj != null)
result[i] = list.get(i).toString();
}
return result;
}
/**
* 将字符串数组复制到LIST中
*
* @param array
* 设置字符串数组
* @param list
* 设置LIST集合对象
* @param index
* 设置复制到LIST位置
* @return List 返回结果
*/
public static List copyToList(String array[], List list, int index)
{
if (array == null || array.length == 0)
return list;
if (list == null || index < 0)
return list;
for (int i = 0; i < array.length; i++)
if (list.size() <= i + index)
list.add(index + i, array[i]);
else
list.set(index + i, array[i]);
return list;
}
/**
* 判断字符串数组是否包含指定字符串
*
* @param array
* 设置字符串数组
* @param str
* 设置批量字符串
* @return boolean 返回结果
*/
public static boolean contains(Object array[], String str)
{
if (array == null || array.length == 0)
return false;
if (str == null)
return false;
for (int i = 0; i < array.length; i++)
{
Object obj = array[i];
if (obj != null && str.equals(obj.toString()))
return true;
}
return false;
}
/**
* 获取字符串数组包含指定字符串的位置
*
* @param array
* 设置字符串数组
* @param str
* 设置批量字符串
* @return int 返回结果
*/
public static int indexOf(Object array[], String str)
{
if (array == null || array.length == 0)
return -1;
if (str == null)
return -1;
for (int i = 0; i < array.length; i++)
{
Object obj = array[i];
if (obj != null && str.equals(obj.toString()))
return i;
}
return -1;
}
/**
* 验证是否为电子邮件格式
*
* @param theEmail
* 设置电子邮件地址字符串
* @return boolean 返回是否合法
*/
public static boolean isValidEmail(String theEmail)
{
boolean cbool = false;
try
{
String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(theEmail);
boolean isMatched = matcher.matches();
if (isMatched)
{
cbool = true;
}
}
catch (Exception e)
{
e.printStackTrace();
return cbool;
}
return cbool;
}
/**
* 去除字符串左边空格
*
* @param str
* 设置原字符串
* @return String 返回结果
*/
public static String trimLeft(String str)
{
if (str == null)
return null;
int length = str.length();
if (length == 0)
return "";
StringBuffer buffer = new StringBuffer(str);
int index;
for (index = 0; index < length && buffer.charAt(index) == ' '; index++)
;
if (index == length)
return "";
else
return buffer.substring(index);
}
/**
* 去除字符串右边空格
*
* @param str
* 设置原字符串
* @return String 返回结果
*/
public static String trimRight(String str)
{
if (str == null)
return null;
int length = str.length();
if (length == 0)
return "";
StringBuffer buffer = new StringBuffer(str);
int index;
for (index = length - 1; index >= 0 && buffer.charAt(index) == ' '; index--)
;
if (index < 0 && buffer.charAt(0) == ' ')
return "";
else
return buffer.substring(0, index + 1);
}
/**
* 去除字符串两边空格
*
* @param str
* 设置原字符串
* @return String 返回结果
*/
public static String trimAll(String str)
{
return str.trim();
}
/**
* 去除字符串NULL
*
* @param str
* 设置原字符串
* @return String 如果为NULL返回空字符串,否则返回原字符串,去除null字符串
*/
public static String removeNull(String str)
{
if(str == null){
return "";
}
return str.replace("null", "");
}
/**
* 去除对象NULL
*
* @param str
* 设置原字符串
* @return String 如果为NULL返回空字符串,否则返回原字符串
*/
public static String removeNull(Object str)
{
return str != null ? str.toString() : "";
}
/**
* 实现判断字符串是否在数组中存在
*
* @param strs
* 设置字符串数组
* @param str
* 设置要查找的字符串
* @param caseSensitive
* 设置是否区分大小写
* @return boolean 返回结果
*/
public static boolean strInArray(String strs[], String str, boolean caseSensitive)
{
if (strs != null && strs.length > 0)
{
for (int i = 0; i < strs.length; i++)
{
if (caseSensitive)
{
if (strs[i].equals(str))
return true;
}
else
{
if (strs[i].equalsIgnoreCase(str))
return true;
}
}
}
return false;
}
/**
* 验证身份证的合法性
*
* @param idcard
* 设置身份证字符串
* @return boolean 返回结果
*/
public static boolean idCardVerify(String idcard)
{
if (idcard.length() == 15)
{
idcard = idCardUptoeighteen(idcard);
}
if (idcard.length() != 18)
{
return false;
}
String verify = idcard.substring(17, 18);
if (verify.equals(getIdCardVerify(idcard)))
{
return true;
}
return false;
}
/**
* 获得身份证的合法性
*
* @param eightcardid
* 设置身份证字符串
* @return String 返回结果
*/
public static String getIdCardVerify(String eightcardid)
{
int remaining = 0;
if (eightcardid.length() == 18)
{
eightcardid = eightcardid.substring(0, 17);
}
if (eightcardid.length() == 17)
{
int sum = 0;
for (int i = 0; i < 17; i++)
{
String k = eightcardid.substring(i, i + 1);
ai[i] = Integer.parseInt(k);
}
for (int i = 0; i < 17; i++)
{
sum = sum + wi[i] * ai[i];
}
remaining = sum % 11;
}
return remaining == 2 ? "X" : String.valueOf(vi[remaining]);
}
/**
* 获得身份证15转18位
*
* @param fifteencardid
* 设置身份证字符串
* @return String 返回结果
*/
public static String idCardUptoeighteen(String fifteencardid)
{
if (fifteencardid.length() != 15)
return null;
String eightcardid = fifteencardid.substring(0, 6);
eightcardid = eightcardid + "19";
eightcardid = eightcardid + fifteencardid.substring(6, 15);
eightcardid = eightcardid + getIdCardVerify(eightcardid);
return eightcardid;
}
/**
* 验证电话号码合法格式,格式为02584555112
*
* @param phoneCode
* 设置电话号码字符串
* @return boolean 返回结果
*/
public static boolean isPhoneNum(String phoneCode)
{
Pattern p = Pattern.compile("[0][1-9]{2,3}[1-9]{6,8}");
Matcher m = p.matcher(phoneCode);
boolean b = m.matches();
return b;
}
/**
* 验证手机号码合法格式,格式为13984555112
*
* @param phoneCode
* 设置手机号码字符串
* @return boolean 返回结果
*/
public static boolean isMobilePhoneNum(String phoneCode)
{
Pattern p = Pattern.compile("^0{0,1}(13[0-9]|15[0-9]|18[0-9])[0-9]{8}");
Matcher m = p.matcher(phoneCode);
boolean b = m.matches();
return b;
}
/**
* 字符数组转换为字符串,用逗号隔开
*
* @param str
* @return String
*/
public static String arrayToString(final String[] str)
{
if (str == null)
return "";
StringBuffer rStr = new StringBuffer("");
for (int i = 0; i < str.length; i++)
{
rStr.append(str[i]);
rStr.append(",");
}
// 截取逗号
if (rStr.toString().length() > 0)
{
rStr.setLength(rStr.length() - 1);
}
return rStr.toString();
}
/**
* 字符数组转换为字符串,用逗号隔开
*
* @param str
* @param beginIndex
* @param length
* @return String
*/
public static String arrayToString(final String[] str, int beginIndex, int length)
{
if (str == null || beginIndex > str.length - 1)
return "";
StringBuffer rStr = new StringBuffer("");
int condition = beginIndex + length - 1;
if(condition > str.length - 1)
{
condition = str.length - 1;
}
rStr.append("'");
for (int i = beginIndex; i < condition; i++)
{
rStr.append(str[i]).append("','");
}
rStr.append(str[condition]).append("'");
return rStr.toString();
}
/**
* 字符数组转换为字符串,用逗号隔开
*
* @param str
* @param beginIndex
* @param length
* @return String
*/
public static String arrayToIntegerString(final String[] str, int beginIndex, int length)
{
if (str == null || beginIndex > str.length - 1)
{
return "";
}
StringBuffer rStr = new StringBuffer("");
int condition = beginIndex + length - 1;
if(condition > str.length - 1)
{
condition = str.length - 1;
}
for (int i = beginIndex; i < condition; i++)
{
rStr.append(str[i]);
rStr.append(",");
}
rStr.append(str[condition]);
return rStr.toString();
}
/**
* 判定一个对象是否为null or empty
*
* @param o
* 对象
* @return true or false
*/
public static boolean isNullOrEmpty(Object o) {
return o == null || String.valueOf(o).trim().length() == 0
|| "null".equals(String.valueOf(o).trim());
}
/**
* 根据分隔符将字符串分开,并加上"'"输出(12,23,234 to '12','23','234')
*
* @param s
* @param spiltter
* 分隔符
* @return String
*/
public static String formatString(String s, String spiltter)
{
if (StringUtils.isEmpty(s))
return "";
StringBuffer result = new StringBuffer();
String[] temp = s.split(spiltter);
for (String str : temp)
{
if (str.trim().length() > 0)
result.append(spiltter).append("'").append(str).append("'");
}
return result.length() > 0 ? result.substring(1) : result.toString();
}
/**
* 格式化字符串(12,23,234 to '12','23','234')
*
* @param s
* @return String
*/
public static String formatString(String s)
{
return formatString(s, ",");
}
/**
* 生成messageID
*
* @return String
*/
public static String createMessageId()
{
Calendar calendar = Calendar.getInstance();
return calendar.getTimeInMillis() + "";
}
/**
* 判断集合Collection是否为空
* @param collection
* @return boolean
*/
public static boolean isNullOrEmpty(Collection collection) {
return collection == null || collection.size() == 0;
}
/**
* 格式化Object
* @param o
* @return String
*/
public static String valueOf(Object o) {
return StringUtils.isNullOrEmpty(o) ? "" : o.toString();
}
/**
* valueOf
* @param o
* @param changevalue
* @return String
*/
public static String valueOf(Object o,String changevalue)
{
return StringUtils.isNullOrEmpty(o) ?changevalue:o.toString();
}
/**
* 判断一个字符串是否有值,空格也不算有值
* @param str
* @return boolean
*/
public static boolean availableStr(String str){
if(str!=null && !"".equals(str) && !"null".equals(str)){
String avaStr = str.trim();
return (avaStr!=null && !"".equals(avaStr) && !"null".equals(avaStr));
}else{
return false;
}
}
/**
* 截取子字符串
* @param str 需要截取的字符串
* @param len 截取的位数
* @return String 返回的子字符串
*/
public static String getSubString(String str, int len) {
if (isEmpty(str)) {
return "";
}
if (0 >= len) {
return str;
}
final int byteLength = getByteLength(str);
if (byteLength < len) {
return str;
}
StringBuffer sb = new StringBuffer(str);
sb.setLength(len);
while (getByteLength(sb.toString()) > len) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}
/**
* 得到字节长度
* @param str 需要得到长度的字符串
* @return 返回字节的长度
*/
public static int getByteLength(String str) {
int len = 0;
if (isEmpty(str)) {
return len;
}
try {
len = str.getBytes("UTF-8").length;
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
return len;
}
/**
* 判断字符串是否为空
* @param obj 字符串
* @return true:空 false:非空
*/
public static boolean isEmpty(Object obj) {
String str = obj + "";
if (null == str || 0 == str.length()||"null".equals(str)||"".equals(str)) {
return true;
}
return false;
}
/**
* 把字符串中的双引号和反斜杠替换为画面能够识别的字符串
* @param inStr
* @return outStr
*/
public static String escapeSpecialChar(String inStr){
if (null == inStr || "null".equals(inStr) || "".equals(inStr)) {
return "";
}
String outStr = "";
//替换双引号
String srcStr1 = "\"";
String destStr1 = "\\\\\"";
//替换反斜杠
String srcStr2 = "\\\\";
String destStr2 = "\\\\\\\\";
outStr = inStr.replaceAll(srcStr2, destStr2);
outStr = outStr.replaceAll(srcStr1, destStr1);
return outStr;
}
/**
* 将String中的xml格式的Excel的关键字转义
* @param str
* @return String
*/
public static String encodeExcelXmlStr(String str){
if(isEmpty(str)){
return str;
}
return str.replaceAll("&", "&amp;")
.replaceAll("<", "&lt;")
.replaceAll(">", "&gt;")
.replaceAll("\"","&quot;" )
.replaceAll("\r\n","&#10;")
.replaceAll("\n","&#10;");
}
/**
*判断输入字符串是否为整型数据
* @param str 字符串
* @return boolean
*/
public static boolean isInteger(String str) {
if(availableStr(str)) {
try {
Integer.parseInt(str);
return true;
}catch(NumberFormatException e) {
return false;
}
}
return false;
}
/**
*判断输入字符串是否为长整型数据
* @param str 字符串
* @return boolean
*/
public static boolean isLong(String str) {
if(availableStr(str)) {
try {
Long.parseLong(str);
return true;
}catch(NumberFormatException e) {
return false;
}
}
return false;
}
/**
*判断输入字符串是否为单精度浮点型数据
* @param str 字符串
* @return boolean
*/
public static boolean isFloat(String str) {
if(availableStr(str)) {
try {
Float.parseFloat(str);
return true;
}catch(NumberFormatException e) {
return false;
}
}
return false;
}
/**
* 判断字符是否为汉字(汉字标点不为汉字字符)
* @param oneChar
* @return boolean
*/
public static boolean isChineseWithoutPunctuation(char oneChar){
if((oneChar >= INT0X4E00 && oneChar <= INT0X9FA5)
||(oneChar >= INT0XF900 && oneChar <=INT0XFA2D)){
return true;
}
return false;
}
/**
* 判断字符是否为汉字(汉字标点为汉字字符)
* @param oneChar
* @return boolean
*/
public static boolean isChineseWithPunctuation(char oneChar) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(oneChar);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
return true;
}
return false;
}
/**
* 把ip地址格式化为:000.000.000.000
* @param ip
* @return 返回规格ip
*/
public static String strfullip(String ip){
StringBuffer buff = new StringBuffer();
buff.append("");
String strzero = "000";
int ilen = 0;
if(ip != null){
String[] arrip = ip.split("\\.");
if(arrip.length == INT4){
for(int i = 0; i < INT4; i++){
if (i==0){
ilen = arrip[i].length();
if(ilen < INT3){
buff.append(strzero.substring(0,INT3-ilen)).append(arrip[i]);
}else{
buff.append(arrip[i]);
}
}else{
ilen = arrip[i].length();
if(ilen < INT3){
buff.append(".").append(strzero.substring(0,INT3-ilen)).append(arrip[i]);
}else{
buff.append(".").append(arrip[i]);
}
}
}
}
}
return buff.toString();
}
/**
* 根据传入的字符串和编码取得对应的编码的字符串,主要用于前后台参数传递场景,防止出现乱码
* @param str
* @param charSet
* @return String
*/
public static String getStringByCharset(String str, String charSet){
if (isEmpty(str)||isEmpty(charSet)) {
return null;
}
try {
return String.valueOf(str.getBytes(charSet));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
/**
* 根据源字符串和编码取得字符串,并获取处理后的字符串长度
* @param str
* @param charSet
* @return int
*/
public static int getStringByLength(String str, String charSet){
str = getStringByCharset(str,charSet);
if(availableStr(str)){
return str.length();
}else{
return 0;
}
}
/**
* 将容易引起xss漏洞的半角字符直接替换成全角字符
* @param s 原始字符串
* @return 替换危险字符之后的字符串
*/
public static String xssEncode(String s) {
if (s == null || "".equals(s)) {
return s;
}
StringBuilder sb = new StringBuilder(s.length() + INT16);
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case '>':
sb.append('>');// 全角大于号
break;
case '<':
sb.append('<');// 全角小于号
break;
// case '\'':
// sb.append('‘');// 全角单引号
// break;
// case '\"':
// sb.append('“');// 全角双引号
// break;
// case '&':
// sb.append('&');// 全角
// break;
// case '%':
// sb.append('%');// 全角
// break;
case '+':
sb.append("+");// 全角
break;
case ';':
sb.append(";");// 全角
break;
case '\\':
sb.append('\');// 全角斜线
break;
// case '/':
// sb.append('/');// 全角斜线
// break;
case '#':
sb.append('#');// 全角井号
break;
// case ':':
// sb.append(':');// 全角冒号
// break;
default:
sb.append(c);
break;
}
}
return sb.toString();
}
/**
* 判断是否有中文字符并转换为英文
* @param s 入参
* @return String 处理后的参数
*/
public static String conversionCharacter(String s){
final String REG_EX = "[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t";
Pattern p = Pattern.compile(REG_EX);
Matcher m = p.matcher(s);
boolean b = m.find();
if (b){
s=toSemiangle(s) ;
}
return s.replaceAll("\\s*","");
}
/**
* 全角转半角
* @param src
* @return String
*/
public static String toSemiangle(String src) {
char[] c = src.toCharArray();
for (int index = 0; index < c.length; index++) {
// 全角空格
if (c[index] == 12288) {
c[index] = (char) 32;
// 其他全角字符
} else if (c[index] > 65280 && c[index] < 65375) {
c[index] = (char) (c[index] - 65248);
}
}
return String.valueOf(c).intern();
}
/**
* 获取uuid
* @return string
* */
public static String getUUid()
{
return UUID.randomUUID().toString().replaceAll("-","");
}
}
...@@ -76,9 +76,11 @@ public class ExcelUtils { ...@@ -76,9 +76,11 @@ public class ExcelUtils {
//当前日期 //当前日期
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
fileName = df.format(new Date()); fileName = df.format(new Date());
} }
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(fileName, fileName, ExcelType.XSSF), pojoClass, list); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(fileName, fileName, ExcelType.XSSF), pojoClass, list);
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls");
ServletOutputStream out = response.getOutputStream(); ServletOutputStream out = response.getOutputStream();
...@@ -104,7 +106,6 @@ public class ExcelUtils { ...@@ -104,7 +106,6 @@ public class ExcelUtils {
exportExcel(response, fileName, targetList, targetClass); exportExcel(response, fileName, targetList, targetClass);
} }
/** /**
* Excel导出----设置title---sheetName---要求Collection<?> list是Class<?> pojoClass类型的 * Excel导出----设置title---sheetName---要求Collection<?> list是Class<?> pojoClass类型的
* *
...@@ -128,5 +129,4 @@ public class ExcelUtils { ...@@ -128,5 +129,4 @@ public class ExcelUtils {
out.flush(); out.flush();
} }
} }
package com.pms.ocp.common.utils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.formula.functions.T;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 文件导出工具
* @author abc
* @date 2019/01/08
*/
public class FileExport {
private static final Logger logger = LoggerFactory.getLogger(FileExport.class);
/** CSV文件列分隔符 */
private static final String CSV_COLUMN_SEPARATOR = ",";
private static final String CSV_COLUM_TABLE = "\t";
/** CSV文件列分隔符 */
private static final String CSV_RN = "\r\n";
/**
* 导出Excel文件
*
* @param excelHeader
* 导出文件中表格头
* @param list
* 导出的内容
* @param response
* HttpServletResponse对象,用来获得输出流向客户端写导出的文件
* @param sheetName
* Excel的sheet名称,加上时间戳作为导出文件的名称
*/
public static void exportExcel(String [] excelHeader, List<Object> list, String sheetName, HttpServletResponse response, HttpServletRequest request) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(sheetName);
HSSFRow row = sheet.createRow((int) 0);
/******设置单元格是否显示网格线******/
sheet.setDisplayGridlines(true);
/******设置头单元格样式******/
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
Font fontHeader = wb.createFont();
fontHeader.setBold(true);
fontHeader.setFontHeight((short) 240);
style.setFont(fontHeader);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
style.setBorderTop(BorderStyle.THIN);
/******设置头内容******/
for (int i = 0; i < excelHeader.length; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue(" " +excelHeader[i] + " ");
cell.setCellStyle(style);
}
/******设置内容单元格样式******/
HSSFCellStyle styleCell = wb.createCellStyle();
Font fontCell = wb.createFont();
// fontCell.setColor(HSSFColor.BLACK.index);
// fontCell.setColor(HSSFColor.B);
styleCell.setAlignment(HorizontalAlignment.CENTER);
styleCell.setFont(fontCell);
styleCell.setBorderBottom(BorderStyle.THIN);
styleCell.setBorderLeft(BorderStyle.THIN);
styleCell.setBorderRight(BorderStyle.THIN);
styleCell.setBorderTop(BorderStyle.THIN);
/******设置单元格内容******/
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
/******设置行高******/
row.setHeightInPoints(20);
Object[] obj = (Object[]) list.get(i);
for (int j = 0; j < excelHeader.length; j++) {
styleCell.setWrapText(false);
HSSFCell cell = row.createCell(j);
if (obj[j] != null){
cell.setCellValue(obj[j].toString());
}else{
cell.setCellValue("");
}
// if(obj[j].toString().length()>20)
// styleCell.setWrapText(true);
cell.setCellStyle(styleCell);
sheet.autoSizeColumn(j);
}
}
OutputStream ouputStream = null;
try {
String encoding = "UTF-8";
/** 获取浏览器相关的信息 */
String userAgent = request.getHeader("user-agent");
/** 判断是否为msie浏览器 */
if (userAgent.toLowerCase().indexOf("msie") != -1){
encoding = "gbk";
}
response.setCharacterEncoding(encoding);
response.setContentType("application/vnd.ms-excel");
String fileName = sheetName;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHMMSS");
fileName += (dateFormat.format(new Date())).toString()+".xls";
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, encoding));
ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(ouputStream!=null) {
ouputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 导出CSV文件
* @param dataList 集合数据
* @param colNames 表头部数据
* @param mapKey 查找的对应数据
*/
public static boolean doExport(List<Map<String, Object>> dataList, String colNames, String mapKey, OutputStream os) {
try {
StringBuffer buf = new StringBuffer();
String[] colNamesArr = null;
String[] mapKeyArr = null;
colNamesArr = colNames.split(",");
mapKeyArr = mapKey.split(",");
/******完成数据csv文件的封装******/
/******输出列头******/
for (int i = 0; i < colNamesArr.length; i++) {
buf.append(colNamesArr[i]).append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_RN);
if (null != dataList) {
/******输出数据******/
for (int i = 0; i < dataList.size(); i++) {
for (int j = 0; j < mapKeyArr.length; j++) {
buf.append(dataList.get(i).get(mapKeyArr[j])).append(CSV_COLUM_TABLE).append(CSV_COLUMN_SEPARATOR);
}
buf.append(CSV_RN);
}
}
/******写出响应******/
os.write(buf.toString().getBytes("GBK"));
os.flush();
return true;
} catch (Exception e) {
logger.error("doExport错误...", e);
}
return false;
}
/**
* 设置响应格式
* @param fileName
* @param response
* @throws UnsupportedEncodingException
*/
public static void responseSetProperties(String fileName, HttpServletResponse response) throws UnsupportedEncodingException {
/******设置文件后缀******/
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String fn = fileName + sdf.format(new Date()).toString() + ".csv";
/******读取字符编码******/
String utf = "UTF-8";
/******设置响应******/
response.setContentType("application/ms-txt.numberformat:@");
response.setCharacterEncoding(utf);
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "max-age=30");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fn, utf));
}
}
package com.pms.ocp.common.utils;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.NoSuchElementException;
/**
* 导入工具类
*/
public class FileUtil {
public static <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass)
throws Exception {
if (file == null) {
return null;
}
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list = null;
try {
list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
} catch (NoSuchElementException e) {
throw new Exception("excel文件不能为空");
} catch (Exception e) {
throw new Exception(e.getMessage());
}
return list;
}
}
package com.pms.ocp.controller;
import com.pms.ocp.common.utils.ExcelUtils;
import com.pms.ocp.common.utils.FileExport;
import com.pms.ocp.common.utils.FileUtil;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ApiBasicManagementService;
import com.pms.ocp.service.ApiDetailsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Slf4j
@RequestMapping("/api/basic")
@RestController
@Api(tags = "服务库服务基础管理接口")
public class ApiBasicManagementController {
@Autowired
private ApiDetailsService apiDetailsService;
@Autowired
private ApiBasicManagementService apiBasicManagementService;
@ApiOperation("条件查询")
@GetMapping("/queryOcpApiBaseDto")
public ResponseVO queryOcpApiBaseDto(@RequestParam(required = false) String apiCode,
@RequestParam(required = false) String keyword,
@RequestParam(required = false) String apiUnits,
@RequestParam(required = false) Timestamp startTime,
@RequestParam(required = false) Timestamp endTime,
@RequestParam(required = false) int pageSize,
@RequestParam(required = false) int pageNum
) {
List<OcpApiBaseVo> list=apiBasicManagementService.queryOcpApiBaseDto(apiCode, keyword, apiUnits, startTime, endTime, pageSize
, pageNum);
return ResponseVO.ok(list);
}
@ApiOperation("导入功能")
@PostMapping("/import")
public ResponseVO ApiImport(@RequestParam(required = false) MultipartFile file,
HttpServletRequest request) throws Exception {
if (file == null) {
return ResponseVO.ok("导入数据不能为空");
}
System.out.println(file);//用来检查前端是否把文件传过来
//解析excel,
List<OcpApiBaseVo> personList = FileUtil.importExcel(file, 0, 1, OcpApiBaseVo.class);
//也可以使用FileUtil.importExcel(filePath,1,1,FileEntity.class) 导入
System.out.println("导入数据一共【" + personList.size() + "】行");
apiBasicManagementService.apiImport(personList);
return ResponseVO.ok();
}
@ApiOperation("导出功能")
@GetMapping("/export")
public ResponseVO ApiExport(HttpServletResponse response,
@RequestParam(required = false) String apiCodes,
@RequestParam(required = false) String excelFileName) throws Exception {
if (StringUtils.isEmpty(apiCodes)) {
return ResponseVO.ok("请选择你要导出的数据");
}
List<OcpApiBaseVo> ocpApiBaseVoList = apiBasicManagementService.selectApiExport(apiCodes);
if (StringUtils.isEmpty(excelFileName)) {
excelFileName = "服务列表-";
}
//导出excel
ExcelUtils.exportExcel(response, excelFileName + LocalDate.now(), ocpApiBaseVoList, OcpApiBaseVo.class);
return ResponseVO.ok();
}
// @ApiOperation("下载模板")
//// @GetMapping("/download")
// @GetMapping(value = "/download", produces = "text/plain;charset=UTF-8")
// public void ApiDownload(HttpServletResponse response) throws IOException {
// String filePate = getClass().getResource("/template/233.xls").getPath();
// InputStream bis = new BufferedInputStream(new FileInputStream(new File(filePate)));
// //假如以中文名下载的话,设置下载文件名称
// String filename = "导入模板.xls";
// //转码,免得文件中文名中文乱码
// filename = URLEncoder.encode(filename, "UTF-8");
// //设置文件下载头
// response.addHeader("Content-Disposition", "attachment;filename=" + filename);
//// response.setHeader("Content-Length",bis.available()+"");
// //1.设置文件ContentType类型,这样设置.会自动判断下载文件类型
// response.setContentType("multipart/form-data");
// response.setCharacterEncoding("UTF-8");
//// response.setContentType("application/x-download");
// BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
// int len = 0;
// byte[] bytes = new byte[65536];
//// bytes=bytes.toString().getBytes("GBK");
// while ((len = bis.read(bytes)) != -1) {
// out.write(bytes,0,len);
// out.flush();
// }
// out.close();
//
// }
//@GetMapping("/downloadExcel")
//public void downloadExcel(HttpServletResponse response,HttpServletRequest request){
// try {
// String filename="233.xls";
// String encoding = "UTF-8";
// /** 获取浏览器相关的信息 */
// String userAgent = request.getHeader("user-agent");
// /** 判断是否为msie浏览器 */
// if (userAgent.toLowerCase().indexOf("msie") != -1){
// encoding = "gbk";
// }
// response.setHeader("Content-disposition", "attachment;filename=" + filename);
// response.setContentType("application/vnd.ms-excel;charset=UTF-8");
// String filePath = getClass().getResource("/template/" + filename).getPath();
// FileInputStream input = new FileInputStream(filePath);
// OutputStream outputStream = response.getOutputStream();
// byte[] b = new byte[2048];
// int len;
// while ((len=input.read(b))!=-1){
// outputStream.write(b,0,len);
// }
// response.setHeader("Content-Length",String.valueOf(input.getChannel().size()));
// input.close();
// }catch (Exception ex){
// log.error("xx:",ex);
// }
//}
@ApiOperation("下载模块")
@GetMapping("/downloadExcel")
public void downloadExcel(HttpServletResponse response, HttpServletRequest request) {
String[] excelHeader = {"序号", "服务编码", "服务中文名称", "所属集群", "所属命名空间", "接口URL", "状态", "注册时间", "建设单位"};
List<Object> list = new ArrayList<>();
FileExport.exportExcel(excelHeader, list, "XXX模板", response, request);
}
@ApiOperation("服务注册")
@PostMapping("/add")
public ResponseVO addOcpApiBase(@RequestBody OcpApiBase ocpApiBase) {
apiBasicManagementService.addOcpApiBase(ocpApiBase);
return ResponseVO.ok();
}
@ApiOperation("服务订阅")
@PostMapping("/login")
public ResponseVO ApiLogin(@RequestParam(required = false) String apiPromotion,
@RequestParam(required = false) String apiCodes) {
if (StringUtils.isEmpty(apiPromotion) || apiPromotion.equals("0")) {
return ResponseVO.error("统招");
} else {
apiBasicManagementService.apiLogin(apiCodes);
return ResponseVO.ok();
}
}
@ApiOperation("服务发布")
@PostMapping("/issue")
public ResponseVO ApiIssue(@RequestParam(required = false) String apiPromotion,
@RequestParam(required = false) String apiCodes) {
if (StringUtils.isEmpty(apiPromotion) || apiPromotion.equals("0")) {
return ResponseVO.error("统招");
} else {
apiBasicManagementService.apiIssue(apiCodes);
return ResponseVO.ok();
}
}
}
...@@ -14,9 +14,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -14,9 +14,9 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* @className: AppArrangeController * @className: AppArrangeController
* @Description:应用分类管理接口 * @Dscription:应用分类管理接口
* @atuthor: pei-chenxi * * @atuthor: pei-chenxi
* @DateTime: 2022/3/9 14:15 * * @DateTime: 2022/3/9 14:15e
*/ */
@Slf4j @Slf4j
@RestController @RestController
......
package com.pms.ocp.controller;
import com.pms.ocp.model.entity.*;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Slf4j
@RequestMapping("/api")
@RestController
@Api(tags = "服务接口")
public class OcpApiDetailsController {
@Autowired
private OcpApiSubsService ocpApiSubsService;
@Autowired
private OcpApiAuditService ocpApiAuditService;
@Autowired
private OcpApiTenantRelService ocpApiTenantRelService;
@Autowired
private OcpApiModelRelService ocpApiModelRelService;
@ApiOperation("服务订阅记录-查询")
@PostMapping("/getocpapisublist")
public ResponseVO getOcpApiSubsList(OcpApiSubs ocpApiSubs) {
return ocpApiSubsService.getOcpApiSubsList(ocpApiSubs);
}
@ApiOperation("服务大事记-查询")
@PostMapping("/getocpapiauditlist")
public ResponseVO getOcpApiAuditList(OcpApiAudit ocpApiAudit) {
return ocpApiAuditService.getOcpApiAuditList(ocpApiAudit);
}
@ApiOperation("服务大事记-查询详情")
@PostMapping("/getocpapidetails")
public ResponseVO getOcpApiDetails(@RequestBody OcpApiAudit ocpApiAudit){
return ocpApiAuditService.sById(ocpApiAudit);
}
@ApiOperation("服务大事记-查询详情")
@PostMapping("/getocpapi")
public ResponseVO getOcpApi(@RequestBody OcpApiAudit ocpApiAudit){
return ocpApiAuditService.OaaById(ocpApiAudit);
}
@ApiOperation("服务与应用拓扑图-查询")
@PostMapping("/getoatrlist")
public ResponseVO getOatrList(@RequestBody OcpApiTenantRel ocpApiTenantRel) {
return ocpApiTenantRelService.getOatrList(ocpApiTenantRel);
}
@ApiOperation("服务与模型拓扑图-查询")
@PostMapping("/getoamrlist")
public ResponseVO getOamrList(OcpApiModelRel ocpApiModelRel) {
return ocpApiModelRelService.getOamrList(ocpApiModelRel);
}
@ApiOperation("服务与模型拓扑图-关联查询详情")
@PostMapping("/getoaabyid")
public ResponseVO OaaById(@RequestBody OcpApiAudit ocpApiAudit) {
return ocpApiAuditService.OaaById(ocpApiAudit);
}
@ApiOperation("服务大事记-导出")
@GetMapping("/export")
public void exportExcel(@RequestBody OcpApiAudit ocpApiAudit, HttpServletRequest request, HttpServletResponse response) {
ocpApiAuditService.exportExcel(ocpApiAudit,request,response);
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.entity.OcpTenantBase;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpTenantBaseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RequestMapping("/tenant")
@RestController
@Api(tags = "应用接口")
public class OcpTenantDetailsController {
@Autowired
private OcpTenantBaseService ocpTenantBaseService;
@ApiOperation("应用基础信息-查询")
@PostMapping("/getotbList")
public ResponseVO getOtbList(@RequestBody OcpTenantBase ocpTenantBase){
return ocpTenantBaseService.getOtbList(ocpTenantBase);
}
}
package com.pms.ocp.controller;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.dto.OcpTenantBaseDto;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.TenantBasicManagementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Timestamp;
@Slf4j
@RequestMapping("/tenant/basic")
@RestController
@Api(tags = "应用库服务基础管理接口")
public class TenantBasicManagementController {
@Autowired
private TenantBasicManagementService tenantBasicManagementService;
@ApiOperation("条件查询")
@GetMapping("/queryOcpTenantBaseDto")
public ResponseVO queryOcpTenantBaseDto(
@RequestParam(required = false) String keyword,
@RequestParam(required = false) String tenantUnits,
@RequestParam(required = false) Timestamp startTime,
@RequestParam(required = false) Timestamp endTime,
@RequestParam(required = false) int pageSize,
@RequestParam(required = false) int pageNum
) {
OcpTenantBaseDto ocpTenantBaseDto = tenantBasicManagementService.queryOcpTenantBaseDto( keyword, tenantUnits, startTime, endTime, pageSize
, pageNum);
return ResponseVO.ok(ocpTenantBaseDto);
}
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.sql.Timestamp;
import java.util.List;
@Mapper
public interface ApiBasicManagementMapper extends BaseMapper<OcpApiBase> {
List<OcpApiBaseVo> selectApiExport(List<String> list);
List<OcpApiBaseVo> queryOcpApiBaseDto(@Param("keyword") String keyword,@Param("apiUnit") String apiUnit, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("apiCode") String apiCode, @Param("pageSize") int pageSize, @Param("pageNum") int pageNum);
}
...@@ -2,9 +2,15 @@ package com.pms.ocp.mapper; ...@@ -2,9 +2,15 @@ package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface ApiDetailsMapper extends BaseMapper<OcpApiBase> { public interface ApiDetailsMapper extends BaseMapper<OcpApiBase> {
} }
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiAudit;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Auther: liukai
* @Date: 2022/3/7
* @Description:服务大事记接口
*/
@Mapper
public interface OcpApiAuditMapper extends BaseMapper<OcpApiAudit> {
List<OcpApiAudit> OaaById(OcpApiAudit ocpApiAudit);
List<String> getOcpApiSubsList(OcpApiAudit ocpApiAudit);
List<String> sById(OcpApiAudit ocpApiAudit);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiExtent;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OcpApiExtentMapper extends BaseMapper<OcpApiExtent> {
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiModelRel;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OcpApiModelRelMapper extends BaseMapper<OcpApiModelRel> {
List<String> getOamrList(OcpApiModelRel ocpApiModelRel);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiSubs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OcpApiSubsMapper extends BaseMapper<OcpApiSubs> {
List<String> getOcpApisList(OcpApiSubs ocpApiSubs);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpApiTenantRel;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OcpApiTenantRelMapper extends BaseMapper<OcpApiTenantRel> {
List<String> getOatrList(OcpApiTenantRel ocpApiTenantRel);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.entity.OcpTenantBase;
import java.util.List;
public interface OcpTenantBaseMapper extends BaseMapper<OcpTenantBase> {
List<OcpTenantBase> getOtbList(OcpTenantBase ocpTenantBase);
}
package com.pms.ocp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pms.ocp.model.dto.OcpTenantBaseDto;
import com.pms.ocp.model.entity.OcpTenantBase;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.sql.Timestamp;
import java.util.List;
@Mapper
public interface TenantBasicManagementMapper extends BaseMapper<OcpTenantBase> {
OcpTenantBaseDto queryOcpApiBaseDto(@Param("keyword") String keyword, @Param("list") List<String> list, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("pageSize") int pageSize, @Param("pageNum") int pageNum);
}
package com.pms.ocp.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ApiBaseDto implements Serializable {
/**
* 服务编码
*/
private String ApiCode;
/**
* 建设单位
*/
private String apiUnit;
/**
* 注册时段-开始
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Timestamp startTime;
/**
* 注册时段-结束
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Timestamp endTime;
/**
* 关键字
*/
private String keyword;
}
package com.pms.ocp.model.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.pms.ocp.model.entity.OcpApiBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "服务基础信息表dto")
public class OcpApiBaseDto extends OcpApiBase implements Serializable {
@ApiModelProperty("所属集群")
private String clusterName;
@ApiModelProperty("所属命名空间")
private String spaceName;
@ApiModelProperty( "状态")
private String apiState;
}
package com.pms.ocp.model.dto;
import com.pms.ocp.model.entity.OcpTenantBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "应用信息表dto")
public class OcpTenantBaseDto extends OcpTenantBase implements Serializable {
@ApiModelProperty("应用分类名称")
private String tenantGroupName;
@ApiModelProperty("集群名称")
private String clusterName;
@ApiModelProperty("命名空间")
private String spaceName;
@ApiModelProperty("部署名称")
private String deploymentName;
}
...@@ -3,7 +3,9 @@ package com.pms.ocp.model.entity; ...@@ -3,7 +3,9 @@ package com.pms.ocp.model.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* @Auther: wangjian * @Auther: wangjian
......
package com.pms.ocp.model.entity; package com.pms.ocp.model.entity;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
...@@ -16,166 +17,103 @@ public class OcpApiAudit { ...@@ -16,166 +17,103 @@ public class OcpApiAudit {
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty("主键ID") @ApiModelProperty("主键ID")
@Excel(name = "主键ID",orderNum = "1")
private String objId; private String objId;
@ApiModelProperty("服务编码") @ApiModelProperty("服务编码")
@Excel(name = "服务编码",orderNum = "2")
private String apiCode; private String apiCode;
@ApiModelProperty("操作状态0:新增,1:迭代;2,下线") @ApiModelProperty("操作状态0:新增,1:迭代;2,下线")
@Excel(name = "操作状态",orderNum = "3")
private long operStatus; private long operStatus;
@ApiModelProperty("操作对象0:服务,1:入参,2:出参") @ApiModelProperty("操作对象0:服务,1:入参,2:出参")
@Excel(name = "操作对象",orderNum = "4")
private long operTarget; private long operTarget;
@ApiModelProperty("类型0:人工操作,1:流程管控,3:总部下发") @ApiModelProperty("类型0:人工操作,1:流程管控,3:总部下发")
@Excel(name = "操作对象",orderNum = "4")
private long auditType; private long auditType;
@ApiModelProperty("备注简述") @ApiModelProperty("备注简述")
@Excel(name = "备注简述",orderNum = "5")
private String auditMessage; private String auditMessage;
@ApiModelProperty("事记内容") @ApiModelProperty("事记内容")
@Excel(name = "事记内容",orderNum = "6")
private String auditJson; private String auditJson;
@ApiModelProperty("提交人id") @ApiModelProperty("提交人id")
@Excel(name = "提交人id",orderNum = "7")
private String auditUserId; private String auditUserId;
@ApiModelProperty("提交人姓名") @ApiModelProperty("提交人姓名")
@Excel(name = "提交人姓名",orderNum = "8")
private String auditUserName; private String auditUserName;
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
@Excel(name = "创建时间",orderNum = "9")
private Timestamp auditCtime; private Timestamp auditCtime;
@ApiModelProperty("修改时间") @ApiModelProperty("修改时间")
@Excel(name = "修改时间",orderNum = "10")
private Timestamp auditMtime; private Timestamp auditMtime;
@ApiModelProperty("是否删除0-否1-是") @ApiModelProperty("是否删除0-否1-是")
@Excel(name = "是否删除",orderNum = "11")
private long isDelete; private long isDelete;
@ApiModelProperty("当前版本") @ApiModelProperty("当前版本")
@Excel(name = "当前版本",orderNum = "12")
private long applyVersion; private long applyVersion;
@ApiModelProperty("上一版本") @ApiModelProperty("上一版本")
private long preApplyVersion; @Excel(name = "上一版本",orderNum = "13")
private long preApiVersion;
public long getApplyVersion() { @ApiModelProperty("服务接口中文名称")
return applyVersion; private String apiName;
}
public void setApplyVersion(long applyVersion) { @ApiModelProperty("服务分类代码")
this.applyVersion = applyVersion; private String apiGroupCode;
}
public long getPreApplyVersion() { @ApiModelProperty("推广类型0:统建;1:自建")
return preApplyVersion; private long apiPromotion;
}
public void setPreApplyVersion(long preApplyVersion) { @ApiModelProperty("服务请求体")
this.preApplyVersion = preApplyVersion; private String apiReq;
}
public String getObjId() { @ApiModelProperty("服务返回体")
return objId; private String apiResp;
}
public void setObjId(String objId) { @ApiModelProperty("服务地址")
this.objId = objId; private String apiUrl;
}
@ApiModelProperty("服务创建时间")
private Timestamp apiCtime;
public String getApiCode() { @ApiModelProperty("服务修改时间")
return apiCode; private Timestamp apiMtime;
}
public void setApiCode(String apiCode) { @ApiModelProperty("创建者用户ID")
this.apiCode = apiCode; private String apiUserId;
}
@ApiModelProperty("建设单位")
private String apiUnit;
public long getOperStatus() { @ApiModelProperty("服务所属公司")
return operStatus; private String ownerCompanyCode;
}
public void setOperStatus(long operStatus) { @ApiModelProperty("服务所属公司")
this.operStatus = operStatus; private String ownerCompanyName;
}
@ApiModelProperty("所属区域 1:生产控制大区;2:信息关联大区;3:互联网大区")
private long apiZone;
public long getOperTarget() { @ApiModelProperty("'所属层级 1:应用层;2:平台层;3:网络层;4:感知层;")
return operTarget; private long apiLayer;
}
public void setOperTarget(long operTarget) { @ApiModelProperty("服务版本(最新版本)")
this.operTarget = operTarget; private long apiVersion;
}
public long getAuditType() {
return auditType;
}
public void setAuditType(long auditType) {
this.auditType = auditType;
}
public String getAuditMessage() {
return auditMessage;
}
public void setAuditMessage(String auditMessage) {
this.auditMessage = auditMessage;
}
public String getAuditJson() {
return auditJson;
}
public void setAuditJson(String auditJson) {
this.auditJson = auditJson;
}
public String getAuditUserId() {
return auditUserId;
}
public void setAuditUserId(String auditUserId) {
this.auditUserId = auditUserId;
}
public String getAuditUserName() {
return auditUserName;
}
public void setAuditUserName(String auditUserName) {
this.auditUserName = auditUserName;
}
public Timestamp getAuditCtime() {
return auditCtime;
}
public void setAuditCtime(Timestamp auditCtime) {
this.auditCtime = auditCtime;
}
public Timestamp getAuditMtime() {
return auditMtime;
}
public void setAuditMtime(Timestamp auditMtime) {
this.auditMtime = auditMtime;
}
public long getIsDelete() {
return isDelete;
}
public void setIsDelete(long isDelete) {
this.isDelete = isDelete;
}
} }
...@@ -37,6 +37,105 @@ public class OcpApiModelRel { ...@@ -37,6 +37,105 @@ public class OcpApiModelRel {
@ApiModelProperty("是否已删除 0-否1-是") @ApiModelProperty("是否已删除 0-否1-是")
private long isDelete; private long isDelete;
@ApiModelProperty("服务接口中文名称")
private String apiName;
@ApiModelProperty("服务分类代码")
private String apiGroupCode;
@ApiModelProperty("推广类型0:统建;1:自建")
private long apiPromotion;
@ApiModelProperty("服务请求体")
private String apiReq;
@ApiModelProperty("服务返回体")
private String apiResp;
@ApiModelProperty("服务地址")
private String apiUrl;
@ApiModelProperty("服务创建时间")
private Timestamp apiCtime;
@ApiModelProperty("服务修改时间")
private Timestamp apiMtime;
@ApiModelProperty("创建者用户ID")
private String apiUserId;
@ApiModelProperty("建设单位")
private String apiUnit;
@ApiModelProperty("服务所属公司")
private String ownerCompanyCode;
@ApiModelProperty("服务所属公司")
private String ownerCompanyName;
@ApiModelProperty("所属区域 1:生产控制大区;2:信息关联大区;3:互联网大区")
private long apiZone;
@ApiModelProperty("'所属层级 1:应用层;2:平台层;3:网络层;4:感知层;")
private long apiLayer;
@ApiModelProperty("服务版本(最新版本)")
private long apiVersion;
@ApiModelProperty("应用编码")
private String tenantCode;
@ApiModelProperty("应用名称")
private String tenantName;
@ApiModelProperty("应用分类代码")
private String tenantGroupCode;
@ApiModelProperty("应用IP")
private String tenantIp;
@ApiModelProperty("应用url")
private String tenantUrl;
@ApiModelProperty("所属专业")
private String professionalKind;
@ApiModelProperty("创建者用户ID")
private String tenantUserId;
@ApiModelProperty("排序")
private String tenantOrderNo;
@ApiModelProperty("创建时间")
private String tenantCtime;
@ApiModelProperty("最后更新时间")
private String tenantMtime;
@ApiModelProperty("部署名称")
private String deploymentName;
@ApiModelProperty("描述")
private String tenantDescription;
@ApiModelProperty("应用状态0设计 1运行态")
private String tenantState;
@ApiModelProperty("建设单位")
private String tenantUnit;
@ApiModelProperty("所属区域 1:生产控制大区;2:信息关联大区;3:互联网大区")
private String tenantZone;
@ApiModelProperty("所属层级 1:应用层;2:平台层;3:网络层;4:感知层")
private String tenantLayer;
@ApiModelProperty("应用版本(当前版本)")
private String tenantVersion;
@ApiModelProperty("应用版本(当前版本)")
private String tenanttVersion;
public String getObjId() { public String getObjId() {
return objId; return objId;
...@@ -46,7 +145,6 @@ public class OcpApiModelRel { ...@@ -46,7 +145,6 @@ public class OcpApiModelRel {
this.objId = objId; this.objId = objId;
} }
public String getModelCode() { public String getModelCode() {
return modelCode; return modelCode;
} }
...@@ -55,7 +153,6 @@ public class OcpApiModelRel { ...@@ -55,7 +153,6 @@ public class OcpApiModelRel {
this.modelCode = modelCode; this.modelCode = modelCode;
} }
public String getModelDepCompanyCode() { public String getModelDepCompanyCode() {
return modelDepCompanyCode; return modelDepCompanyCode;
} }
...@@ -64,7 +161,6 @@ public class OcpApiModelRel { ...@@ -64,7 +161,6 @@ public class OcpApiModelRel {
this.modelDepCompanyCode = modelDepCompanyCode; this.modelDepCompanyCode = modelDepCompanyCode;
} }
public String getApiCode() { public String getApiCode() {
return apiCode; return apiCode;
} }
...@@ -73,7 +169,6 @@ public class OcpApiModelRel { ...@@ -73,7 +169,6 @@ public class OcpApiModelRel {
this.apiCode = apiCode; this.apiCode = apiCode;
} }
public String getApiDepCompanyCode() { public String getApiDepCompanyCode() {
return apiDepCompanyCode; return apiDepCompanyCode;
} }
...@@ -82,7 +177,6 @@ public class OcpApiModelRel { ...@@ -82,7 +177,6 @@ public class OcpApiModelRel {
this.apiDepCompanyCode = apiDepCompanyCode; this.apiDepCompanyCode = apiDepCompanyCode;
} }
public Timestamp getRelationCtime() { public Timestamp getRelationCtime() {
return relationCtime; return relationCtime;
} }
...@@ -91,7 +185,6 @@ public class OcpApiModelRel { ...@@ -91,7 +185,6 @@ public class OcpApiModelRel {
this.relationCtime = relationCtime; this.relationCtime = relationCtime;
} }
public long getIsDelete() { public long getIsDelete() {
return isDelete; return isDelete;
} }
...@@ -100,4 +193,267 @@ public class OcpApiModelRel { ...@@ -100,4 +193,267 @@ public class OcpApiModelRel {
this.isDelete = isDelete; this.isDelete = isDelete;
} }
public String getApiName() {
return apiName;
}
public void setApiName(String apiName) {
this.apiName = apiName;
}
public String getApiGroupCode() {
return apiGroupCode;
}
public void setApiGroupCode(String apiGroupCode) {
this.apiGroupCode = apiGroupCode;
}
public long getApiPromotion() {
return apiPromotion;
}
public void setApiPromotion(long apiPromotion) {
this.apiPromotion = apiPromotion;
}
public String getApiReq() {
return apiReq;
}
public void setApiReq(String apiReq) {
this.apiReq = apiReq;
}
public String getApiResp() {
return apiResp;
}
public void setApiResp(String apiResp) {
this.apiResp = apiResp;
}
public String getApiUrl() {
return apiUrl;
}
public void setApiUrl(String apiUrl) {
this.apiUrl = apiUrl;
}
public Timestamp getApiCtime() {
return apiCtime;
}
public void setApiCtime(Timestamp apiCtime) {
this.apiCtime = apiCtime;
}
public Timestamp getApiMtime() {
return apiMtime;
}
public void setApiMtime(Timestamp apiMtime) {
this.apiMtime = apiMtime;
}
public String getApiUserId() {
return apiUserId;
}
public void setApiUserId(String apiUserId) {
this.apiUserId = apiUserId;
}
public String getApiUnit() {
return apiUnit;
}
public void setApiUnit(String apiUnit) {
this.apiUnit = apiUnit;
}
public String getOwnerCompanyCode() {
return ownerCompanyCode;
}
public void setOwnerCompanyCode(String ownerCompanyCode) {
this.ownerCompanyCode = ownerCompanyCode;
}
public String getOwnerCompanyName() {
return ownerCompanyName;
}
public void setOwnerCompanyName(String ownerCompanyName) {
this.ownerCompanyName = ownerCompanyName;
}
public long getApiZone() {
return apiZone;
}
public void setApiZone(long apiZone) {
this.apiZone = apiZone;
}
public long getApiLayer() {
return apiLayer;
}
public void setApiLayer(long apiLayer) {
this.apiLayer = apiLayer;
}
public long getApiVersion() {
return apiVersion;
}
public void setApiVersion(long apiVersion) {
this.apiVersion = apiVersion;
}
public String getTenantCode() {
return tenantCode;
}
public void setTenantCode(String tenantCode) {
this.tenantCode = tenantCode;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
public String getTenantGroupCode() {
return tenantGroupCode;
}
public void setTenantGroupCode(String tenantGroupCode) {
this.tenantGroupCode = tenantGroupCode;
}
public String getTenantIp() {
return tenantIp;
}
public void setTenantIp(String tenantIp) {
this.tenantIp = tenantIp;
}
public String getTenantUrl() {
return tenantUrl;
}
public void setTenantUrl(String tenantUrl) {
this.tenantUrl = tenantUrl;
}
public String getProfessionalKind() {
return professionalKind;
}
public void setProfessionalKind(String professionalKind) {
this.professionalKind = professionalKind;
}
public String getTenantUserId() {
return tenantUserId;
}
public void setTenantUserId(String tenantUserId) {
this.tenantUserId = tenantUserId;
}
public String getTenantOrderNo() {
return tenantOrderNo;
}
public void setTenantOrderNo(String tenantOrderNo) {
this.tenantOrderNo = tenantOrderNo;
}
public String getTenantCtime() {
return tenantCtime;
}
public void setTenantCtime(String tenantCtime) {
this.tenantCtime = tenantCtime;
}
public String getTenantMtime() {
return tenantMtime;
}
public void setTenantMtime(String tenantMtime) {
this.tenantMtime = tenantMtime;
}
public String getDeploymentName() {
return deploymentName;
}
public void setDeploymentName(String deploymentName) {
this.deploymentName = deploymentName;
}
public String getTenantDescription() {
return tenantDescription;
}
public void setTenantDescription(String tenantDescription) {
this.tenantDescription = tenantDescription;
}
public String getTenantState() {
return tenantState;
}
public void setTenantState(String tenantState) {
this.tenantState = tenantState;
}
public String getTenantUnit() {
return tenantUnit;
}
public void setTenantUnit(String tenantUnit) {
this.tenantUnit = tenantUnit;
}
public String getTenantZone() {
return tenantZone;
}
public void setTenantZone(String tenantZone) {
this.tenantZone = tenantZone;
}
public String getTenantLayer() {
return tenantLayer;
}
public void setTenantLayer(String tenantLayer) {
this.tenantLayer = tenantLayer;
}
public String getTenantVersion() {
return tenantVersion;
}
public void setTenantVersion(String tenantVersion) {
this.tenantVersion = tenantVersion;
}
public String getTenanttVersion() {
return tenanttVersion;
}
public void setTenanttVersion(String tenanttVersion) {
this.tenanttVersion = tenanttVersion;
}
} }
...@@ -40,7 +40,6 @@ public class OcpApiSubs { ...@@ -40,7 +40,6 @@ public class OcpApiSubs {
@ApiModelProperty("是否删除0-否,1-是") @ApiModelProperty("是否删除0-否,1-是")
private long isDelete; private long isDelete;
public String getObjId() { public String getObjId() {
return objId; return objId;
} }
...@@ -49,7 +48,6 @@ public class OcpApiSubs { ...@@ -49,7 +48,6 @@ public class OcpApiSubs {
this.objId = objId; this.objId = objId;
} }
public String getApiCode() { public String getApiCode() {
return apiCode; return apiCode;
} }
...@@ -58,7 +56,6 @@ public class OcpApiSubs { ...@@ -58,7 +56,6 @@ public class OcpApiSubs {
this.apiCode = apiCode; this.apiCode = apiCode;
} }
public Timestamp getSubsLogApiCtime() { public Timestamp getSubsLogApiCtime() {
return subsLogApiCtime; return subsLogApiCtime;
} }
...@@ -67,7 +64,6 @@ public class OcpApiSubs { ...@@ -67,7 +64,6 @@ public class OcpApiSubs {
this.subsLogApiCtime = subsLogApiCtime; this.subsLogApiCtime = subsLogApiCtime;
} }
public Timestamp getSubsLogApiMtime() { public Timestamp getSubsLogApiMtime() {
return subsLogApiMtime; return subsLogApiMtime;
} }
...@@ -76,7 +72,6 @@ public class OcpApiSubs { ...@@ -76,7 +72,6 @@ public class OcpApiSubs {
this.subsLogApiMtime = subsLogApiMtime; this.subsLogApiMtime = subsLogApiMtime;
} }
public String getSubsLogApiUserId() { public String getSubsLogApiUserId() {
return subsLogApiUserId; return subsLogApiUserId;
} }
...@@ -85,7 +80,6 @@ public class OcpApiSubs { ...@@ -85,7 +80,6 @@ public class OcpApiSubs {
this.subsLogApiUserId = subsLogApiUserId; this.subsLogApiUserId = subsLogApiUserId;
} }
public Timestamp getSubsLogApiAtime() { public Timestamp getSubsLogApiAtime() {
return subsLogApiAtime; return subsLogApiAtime;
} }
...@@ -94,7 +88,6 @@ public class OcpApiSubs { ...@@ -94,7 +88,6 @@ public class OcpApiSubs {
this.subsLogApiAtime = subsLogApiAtime; this.subsLogApiAtime = subsLogApiAtime;
} }
public String getSubsCompanyCode() { public String getSubsCompanyCode() {
return subsCompanyCode; return subsCompanyCode;
} }
...@@ -103,11 +96,6 @@ public class OcpApiSubs { ...@@ -103,11 +96,6 @@ public class OcpApiSubs {
this.subsCompanyCode = subsCompanyCode; this.subsCompanyCode = subsCompanyCode;
} }
public long getIsDelete() {
return isDelete;
}
public void setIsDelete(long isDelete) { public void setIsDelete(long isDelete) {
this.isDelete = isDelete; this.isDelete = isDelete;
} }
......
...@@ -46,6 +46,98 @@ public class OcpApiTenantRel { ...@@ -46,6 +46,98 @@ public class OcpApiTenantRel {
@ApiModelProperty("是否已删除0未删除,1已删除") @ApiModelProperty("是否已删除0未删除,1已删除")
private long isDelete; private long isDelete;
@ApiModelProperty("服务接口中文名称")
private String apiName;
@ApiModelProperty("服务分类代码")
private String apiGroupCode;
@ApiModelProperty("推广类型0:统建;1:自建")
private long apiPromotion;
@ApiModelProperty("服务请求体")
private String apiReq;
@ApiModelProperty("服务返回体")
private String apiResp;
@ApiModelProperty("服务地址")
private String apiUrl;
@ApiModelProperty("服务创建时间")
private Timestamp apiCtime;
@ApiModelProperty("服务修改时间")
private Timestamp apiMtime;
@ApiModelProperty("创建者用户ID")
private String apiUserId;
@ApiModelProperty("建设单位")
private String apiUnit;
@ApiModelProperty("服务所属公司")
private String ownerCompanyCode;
@ApiModelProperty("服务所属公司")
private String ownerCompanyName;
@ApiModelProperty("所属区域 1:生产控制大区;2:信息关联大区;3:互联网大区")
private long apiZone;
@ApiModelProperty("'所属层级 1:应用层;2:平台层;3:网络层;4:感知层;")
private long apiLayer;
@ApiModelProperty("服务版本(最新版本)")
private long apiVersion;
@ApiModelProperty("应用名称")
private String tenantName;
@ApiModelProperty("应用分类代码")
private String tenantGroupCode;
@ApiModelProperty("应用IP")
private String tenantIp;
@ApiModelProperty("应用url")
private String tenantUrl;
@ApiModelProperty("所属专业")
private String professionalKind;
@ApiModelProperty("创建者用户ID")
private String tenantUserId;
@ApiModelProperty("排序")
private String tenantOrderNo;
@ApiModelProperty("创建时间")
private String tenantCtime;
@ApiModelProperty("最后更新时间")
private String tenantMtime;
@ApiModelProperty("部署名称")
private String deploymentName;
@ApiModelProperty("描述")
private String tenantDescription;
@ApiModelProperty("应用状态0设计 1运行态")
private String tenantState;
@ApiModelProperty("建设单位")
private String tenantUnit;
@ApiModelProperty("所属区域 1:生产控制大区;2:信息关联大区;3:互联网大区")
private String tenantZone;
@ApiModelProperty("所属层级 1:应用层;2:平台层;3:网络层;4:感知层")
private String tenantLayer;
@ApiModelProperty("应用版本(当前版本)")
private String tenantVersion;
public String getObjId() { public String getObjId() {
return objId; return objId;
...@@ -55,7 +147,6 @@ public class OcpApiTenantRel { ...@@ -55,7 +147,6 @@ public class OcpApiTenantRel {
this.objId = objId; this.objId = objId;
} }
public String getTenantCode() { public String getTenantCode() {
return tenantCode; return tenantCode;
} }
...@@ -64,7 +155,6 @@ public class OcpApiTenantRel { ...@@ -64,7 +155,6 @@ public class OcpApiTenantRel {
this.tenantCode = tenantCode; this.tenantCode = tenantCode;
} }
public String getApiCode() { public String getApiCode() {
return apiCode; return apiCode;
} }
...@@ -73,7 +163,6 @@ public class OcpApiTenantRel { ...@@ -73,7 +163,6 @@ public class OcpApiTenantRel {
this.apiCode = apiCode; this.apiCode = apiCode;
} }
public String getApiDepCompanyCode() { public String getApiDepCompanyCode() {
return apiDepCompanyCode; return apiDepCompanyCode;
} }
...@@ -82,7 +171,6 @@ public class OcpApiTenantRel { ...@@ -82,7 +171,6 @@ public class OcpApiTenantRel {
this.apiDepCompanyCode = apiDepCompanyCode; this.apiDepCompanyCode = apiDepCompanyCode;
} }
public String getTenantDepCompanyCode() { public String getTenantDepCompanyCode() {
return tenantDepCompanyCode; return tenantDepCompanyCode;
} }
...@@ -91,7 +179,6 @@ public class OcpApiTenantRel { ...@@ -91,7 +179,6 @@ public class OcpApiTenantRel {
this.tenantDepCompanyCode = tenantDepCompanyCode; this.tenantDepCompanyCode = tenantDepCompanyCode;
} }
public Timestamp getApiTenantRelCtime() { public Timestamp getApiTenantRelCtime() {
return apiTenantRelCtime; return apiTenantRelCtime;
} }
...@@ -100,7 +187,6 @@ public class OcpApiTenantRel { ...@@ -100,7 +187,6 @@ public class OcpApiTenantRel {
this.apiTenantRelCtime = apiTenantRelCtime; this.apiTenantRelCtime = apiTenantRelCtime;
} }
public Timestamp getApiTenantRelMtime() { public Timestamp getApiTenantRelMtime() {
return apiTenantRelMtime; return apiTenantRelMtime;
} }
...@@ -109,7 +195,6 @@ public class OcpApiTenantRel { ...@@ -109,7 +195,6 @@ public class OcpApiTenantRel {
this.apiTenantRelMtime = apiTenantRelMtime; this.apiTenantRelMtime = apiTenantRelMtime;
} }
public String getApiTenantRelUserId() { public String getApiTenantRelUserId() {
return apiTenantRelUserId; return apiTenantRelUserId;
} }
...@@ -118,7 +203,6 @@ public class OcpApiTenantRel { ...@@ -118,7 +203,6 @@ public class OcpApiTenantRel {
this.apiTenantRelUserId = apiTenantRelUserId; this.apiTenantRelUserId = apiTenantRelUserId;
} }
public String getApiTenantRelUserName() { public String getApiTenantRelUserName() {
return apiTenantRelUserName; return apiTenantRelUserName;
} }
...@@ -127,7 +211,6 @@ public class OcpApiTenantRel { ...@@ -127,7 +211,6 @@ public class OcpApiTenantRel {
this.apiTenantRelUserName = apiTenantRelUserName; this.apiTenantRelUserName = apiTenantRelUserName;
} }
public long getIsDelete() { public long getIsDelete() {
return isDelete; return isDelete;
} }
...@@ -136,4 +219,251 @@ public class OcpApiTenantRel { ...@@ -136,4 +219,251 @@ public class OcpApiTenantRel {
this.isDelete = isDelete; this.isDelete = isDelete;
} }
public String getApiName() {
return apiName;
}
public void setApiName(String apiName) {
this.apiName = apiName;
}
public String getApiGroupCode() {
return apiGroupCode;
}
public void setApiGroupCode(String apiGroupCode) {
this.apiGroupCode = apiGroupCode;
}
public long getApiPromotion() {
return apiPromotion;
}
public void setApiPromotion(long apiPromotion) {
this.apiPromotion = apiPromotion;
}
public String getApiReq() {
return apiReq;
}
public void setApiReq(String apiReq) {
this.apiReq = apiReq;
}
public String getApiResp() {
return apiResp;
}
public void setApiResp(String apiResp) {
this.apiResp = apiResp;
}
public String getApiUrl() {
return apiUrl;
}
public void setApiUrl(String apiUrl) {
this.apiUrl = apiUrl;
}
public Timestamp getApiCtime() {
return apiCtime;
}
public void setApiCtime(Timestamp apiCtime) {
this.apiCtime = apiCtime;
}
public Timestamp getApiMtime() {
return apiMtime;
}
public void setApiMtime(Timestamp apiMtime) {
this.apiMtime = apiMtime;
}
public String getApiUserId() {
return apiUserId;
}
public void setApiUserId(String apiUserId) {
this.apiUserId = apiUserId;
}
public String getApiUnit() {
return apiUnit;
}
public void setApiUnit(String apiUnit) {
this.apiUnit = apiUnit;
}
public String getOwnerCompanyCode() {
return ownerCompanyCode;
}
public void setOwnerCompanyCode(String ownerCompanyCode) {
this.ownerCompanyCode = ownerCompanyCode;
}
public String getOwnerCompanyName() {
return ownerCompanyName;
}
public void setOwnerCompanyName(String ownerCompanyName) {
this.ownerCompanyName = ownerCompanyName;
}
public long getApiZone() {
return apiZone;
}
public void setApiZone(long apiZone) {
this.apiZone = apiZone;
}
public long getApiLayer() {
return apiLayer;
}
public void setApiLayer(long apiLayer) {
this.apiLayer = apiLayer;
}
public long getApiVersion() {
return apiVersion;
}
public void setApiVersion(long apiVersion) {
this.apiVersion = apiVersion;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
public String getTenantGroupCode() {
return tenantGroupCode;
}
public void setTenantGroupCode(String tenantGroupCode) {
this.tenantGroupCode = tenantGroupCode;
}
public String getTenantIp() {
return tenantIp;
}
public void setTenantIp(String tenantIp) {
this.tenantIp = tenantIp;
}
public String getTenantUrl() {
return tenantUrl;
}
public void setTenantUrl(String tenantUrl) {
this.tenantUrl = tenantUrl;
}
public String getProfessionalKind() {
return professionalKind;
}
public void setProfessionalKind(String professionalKind) {
this.professionalKind = professionalKind;
}
public String getTenantUserId() {
return tenantUserId;
}
public void setTenantUserId(String tenantUserId) {
this.tenantUserId = tenantUserId;
}
public String getTenantOrderNo() {
return tenantOrderNo;
}
public void setTenantOrderNo(String tenantOrderNo) {
this.tenantOrderNo = tenantOrderNo;
}
public String getTenantCtime() {
return tenantCtime;
}
public void setTenantCtime(String tenantCtime) {
this.tenantCtime = tenantCtime;
}
public String getTenantMtime() {
return tenantMtime;
}
public void setTenantMtime(String tenantMtime) {
this.tenantMtime = tenantMtime;
}
public String getDeploymentName() {
return deploymentName;
}
public void setDeploymentName(String deploymentName) {
this.deploymentName = deploymentName;
}
public String getTenantDescription() {
return tenantDescription;
}
public void setTenantDescription(String tenantDescription) {
this.tenantDescription = tenantDescription;
}
public String getTenantState() {
return tenantState;
}
public void setTenantState(String tenantState) {
this.tenantState = tenantState;
}
public String getTenantUnit() {
return tenantUnit;
}
public void setTenantUnit(String tenantUnit) {
this.tenantUnit = tenantUnit;
}
public String getTenantZone() {
return tenantZone;
}
public void setTenantZone(String tenantZone) {
this.tenantZone = tenantZone;
}
public String getTenantLayer() {
return tenantLayer;
}
public void setTenantLayer(String tenantLayer) {
this.tenantLayer = tenantLayer;
}
public String getTenantVersion() {
return tenantVersion;
}
public void setTenantVersion(String tenantVersion) {
this.tenantVersion = tenantVersion;
}
} }
...@@ -9,6 +9,7 @@ import lombok.Data; ...@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
/** /**
...@@ -79,13 +80,13 @@ public class OcpTenantBase implements Serializable { ...@@ -79,13 +80,13 @@ public class OcpTenantBase implements Serializable {
* 创建时间 * 创建时间
*/ */
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date tenantCtime; private Timestamp tenantCtime;
/** /**
* 最后更新时间 * 最后更新时间
*/ */
@ApiModelProperty("最后更新时间") @ApiModelProperty("最后更新时间")
private Date tenantMtime; private Timestamp tenantMtime;
/** /**
* 部署名称 * 部署名称
...@@ -285,7 +286,7 @@ public class OcpTenantBase implements Serializable { ...@@ -285,7 +286,7 @@ public class OcpTenantBase implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
public void setTenantCtime(Date tenantCtime) { public void setTenantCtime(Timestamp tenantCtime) {
this.tenantCtime = tenantCtime; this.tenantCtime = tenantCtime;
} }
...@@ -299,7 +300,7 @@ public class OcpTenantBase implements Serializable { ...@@ -299,7 +300,7 @@ public class OcpTenantBase implements Serializable {
/** /**
* 最后更新时间 * 最后更新时间
*/ */
public void setTenantMtime(Date tenantMtime) { public void setTenantMtime(Timestamp tenantMtime) {
this.tenantMtime = tenantMtime; this.tenantMtime = tenantMtime;
} }
......
...@@ -9,6 +9,7 @@ import lombok.Data; ...@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
/** /**
...@@ -43,13 +44,13 @@ public class OcpTenantSubs implements Serializable { ...@@ -43,13 +44,13 @@ public class OcpTenantSubs implements Serializable {
* 服务订阅创建时间 * 服务订阅创建时间
*/ */
@ApiModelProperty("服务订阅创建时间") @ApiModelProperty("服务订阅创建时间")
private Date subsLogTenantCtime; private Timestamp subsLogTenantCtime;
/** /**
* 服务订阅修改时间 * 服务订阅修改时间
*/ */
@ApiModelProperty("服务订阅修改时间") @ApiModelProperty("服务订阅修改时间")
private Date subsLogTenantMtime; private Timestamp subsLogTenantMtime;
/** /**
* 服务订阅创建用户ID * 服务订阅创建用户ID
...@@ -61,7 +62,7 @@ public class OcpTenantSubs implements Serializable { ...@@ -61,7 +62,7 @@ public class OcpTenantSubs implements Serializable {
* 服务订阅添加时间 * 服务订阅添加时间
*/ */
@ApiModelProperty("服务订阅添加时间") @ApiModelProperty("服务订阅添加时间")
private Date subsLogTenantAtime; private Timestamp subsLogTenantAtime;
/** /**
* 是否删除0-否,1-是 * 是否删除0-否,1-是
...@@ -123,7 +124,7 @@ public class OcpTenantSubs implements Serializable { ...@@ -123,7 +124,7 @@ public class OcpTenantSubs implements Serializable {
/** /**
* 服务订阅创建时间 * 服务订阅创建时间
*/ */
public void setSubsLogTenantCtime(Date subsLogTenantCtime) { public void setSubsLogTenantCtime(Timestamp subsLogTenantCtime) {
this.subsLogTenantCtime = subsLogTenantCtime; this.subsLogTenantCtime = subsLogTenantCtime;
} }
...@@ -137,7 +138,7 @@ public class OcpTenantSubs implements Serializable { ...@@ -137,7 +138,7 @@ public class OcpTenantSubs implements Serializable {
/** /**
* 服务订阅修改时间 * 服务订阅修改时间
*/ */
public void setSubsLogTenantMtime(Date subsLogTenantMtime) { public void setSubsLogTenantMtime(Timestamp subsLogTenantMtime) {
this.subsLogTenantMtime = subsLogTenantMtime; this.subsLogTenantMtime = subsLogTenantMtime;
} }
...@@ -165,7 +166,7 @@ public class OcpTenantSubs implements Serializable { ...@@ -165,7 +166,7 @@ public class OcpTenantSubs implements Serializable {
/** /**
* 服务订阅添加时间 * 服务订阅添加时间
*/ */
public void setSubsLogTenantAtime(Date subsLogTenantAtime) { public void setSubsLogTenantAtime(Timestamp subsLogTenantAtime) {
this.subsLogTenantAtime = subsLogTenantAtime; this.subsLogTenantAtime = subsLogTenantAtime;
} }
......
package com.pms.ocp.model.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "服务列表信息vo")
public class OcpApiBaseVo implements Serializable {
@ApiModelProperty(value = "序号")
@Excel(name = "序号")
private String objId;
@ApiModelProperty(value = "服务编码")
@Excel(name = "服务编码")
private String apiCode;
@ApiModelProperty(value = "服务中文名称")
@Excel(name = "服务中文名称")
private String apiName;
@ApiModelProperty(value = "所属集群")
@Excel(name = "所属集群")
private String clusterName;
@ApiModelProperty(value = "所属命名空间")
@Excel(name = "所属命名空间")
private String spaceName;
@ApiModelProperty(value = "接口URL")
@Excel(name = "接口URL")
private String apiUrl;
@ApiModelProperty(value = "状态")
@Excel(name = "状态")
private String apiState;
@ApiModelProperty(value = "注册时间")
@Excel(name = "注册时间")
private Timestamp apiCtime;
@ApiModelProperty(value = "建设单位")
@Excel(name = "建设单位")
private String apiUnit;
}
package com.pms.ocp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pms.ocp.model.dto.ApiBaseDto;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.entity.OcpApiExtent;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import java.sql.Timestamp;
import java.util.List;
public interface ApiBasicManagementService extends IService<OcpApiBase> {
/**
* 导出的查询
* @param apiCode
* @return
*/
List<OcpApiBaseVo> selectApiExport(String apiCodes);
/**
* 服务注册
* @param ocpApiBase
*/
void addOcpApiBase(OcpApiBase ocpApiBase);
/**
* 服务订阅
* @param apiCodes
*/
void apiLogin(String apiCodes);
/**
* 条件查询
* @param apiCode
* @param keyword
* @param apiUnit
* @param startTime
* @param endTime
* @return
*/
// OcpApiBaseDto queryOcpApiBaseDto(ApiBaseDto apiBaseDto);
List<OcpApiBaseVo> queryOcpApiBaseDto(String apiCode, String keyword, String apiUnits, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum);
/**
* 导入的添加到数据库
* @param personList
*/
void apiImport(List<OcpApiBaseVo> personList);
/**
* 服务发布
* @param apiCodes
*/
void apiIssue(String apiCodes);
}
package com.pms.ocp.service; package com.pms.ocp.service;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.model.vo.ResponseVO;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
public interface ApiDetailsService{ public interface ApiDetailsService{
/** /**
...@@ -10,4 +16,6 @@ public interface ApiDetailsService{ ...@@ -10,4 +16,6 @@ public interface ApiDetailsService{
* @return * @return
*/ */
ResponseVO getApiDetails(String objId); ResponseVO getApiDetails(String objId);
} }
package com.pms.ocp.service;
import com.pms.ocp.model.entity.OcpApiAudit;
import com.pms.ocp.model.vo.ResponseVO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface OcpApiAuditService {
ResponseVO getOcpApiAuditList(OcpApiAudit ocpApiAudit);
ResponseVO getOcpApiDetails(String objId);
// ResponseVO getOcpApiList(Oaa oaa);
ResponseVO OaaById(OcpApiAudit ocpApiAudit);
ResponseVO sById(OcpApiAudit ocpApiAudit);
void exportExcel(OcpApiAudit ocpApiAudit, HttpServletRequest request, HttpServletResponse response);
}
package com.pms.ocp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pms.ocp.model.entity.OcpApiExtent;
public interface OcpApiExtentService extends IService<OcpApiExtent> {
}
package com.pms.ocp.service;
import com.pms.ocp.model.entity.OcpApiModelRel;
import com.pms.ocp.model.vo.ResponseVO;
public interface OcpApiModelRelService {
ResponseVO getOamrList(OcpApiModelRel ocpApiModelRel);
}
package com.pms.ocp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pms.ocp.model.entity.OcpApiSubs;
import com.pms.ocp.model.vo.ResponseVO;
public interface OcpApiSubsService {
ResponseVO getOcpApiSubsList(OcpApiSubs ocpApiSubs);
}
package com.pms.ocp.service;
import com.pms.ocp.model.entity.OcpApiTenantRel;
import com.pms.ocp.model.vo.ResponseVO;
public interface OcpApiTenantRelService {
ResponseVO getOatrList(OcpApiTenantRel ocpApiTenantRel);
}
package com.pms.ocp.service;
import com.pms.ocp.model.entity.OcpTenantBase;
import com.pms.ocp.model.vo.ResponseVO;
public interface OcpTenantBaseService {
ResponseVO getOtbList(OcpTenantBase ocpTenantBase);
}
package com.pms.ocp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pms.ocp.model.dto.OcpTenantBaseDto;
import com.pms.ocp.model.entity.OcpTenantBase;
import java.sql.Timestamp;
public interface TenantBasicManagementService extends IService<OcpTenantBase> {
/**
* 应用条件查询
* @param keyword
* @param tenantUnits
* @param startTime
* @param endTime
* @param pageSize
* @param pageNum
* @return
*/
OcpTenantBaseDto queryOcpTenantBaseDto(String keyword, String tenantUnits, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum);
}
package com.pms.ocp.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.common.exception.BeagleException;
import com.pms.ocp.mapper.ApiBasicManagementMapper;
import com.pms.ocp.mapper.OcpApiExtentMapper;
import com.pms.ocp.model.dto.ApiBaseDto;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.entity.OcpApiExtent;
import com.pms.ocp.model.entity.OcpApiSubs;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ApiBasicManagementService;
import com.pms.ocp.service.OcpApiExtentService;
import com.pms.ocp.service.OcpApiSubsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
@Service
public class ApiBasicManagementServiceImpl extends ServiceImpl<ApiBasicManagementMapper, OcpApiBase>
implements ApiBasicManagementService {
@Autowired
private ApiBasicManagementMapper apiBasicManagementMapper;
@Autowired
private OcpApiSubsService ocpApiSubsService;
@Autowired
private OcpApiExtentService ocpApiExtentService;
@Autowired
private OcpApiExtentMapper ocpApiExtentMapper;
/**
* 导出查询
*
* @param apiCodes
* @return
*/
public List<OcpApiBaseVo> selectApiExport(String apiCodes) {
String[] split = apiCodes.split(",");
List<String> list = Arrays.asList(split);
return apiBasicManagementMapper.selectApiExport(list);
}
/**
* 服务注册
*
* @param ocpApiBase
*/
public void addOcpApiBase(OcpApiBase ocpApiBase) {
apiBasicManagementMapper.insert(ocpApiBase);
}
/**
* 服务订阅
*
* @param apiCodes
*/
public void apiLogin(String apiCodes) {
String[] split = apiCodes.split(",");
List<String> apiCode = Arrays.asList(split);
for (String s : apiCode) {
OcpApiSubs ocpApiSubs = new OcpApiSubs();
ocpApiSubs.setApiCode(s);
ocpApiSubs.setSubsLogApiCtime(Timestamp.valueOf(LocalDateTime.now()));
ocpApiSubs.setSubsLogApiMtime(Timestamp.valueOf(LocalDateTime.now()));
ocpApiSubs.setSubsLogApiUserId(null);
ocpApiSubs.setSubsLogApiAtime(Timestamp.valueOf(LocalDateTime.now()));
ocpApiSubs.setSubsCompanyCode(null);
// ocpApiSubsService.save(ocpApiSubs);
}
}
@Override
public List<OcpApiBaseVo> queryOcpApiBaseDto(String apiCode, String keyword, String apiUnit, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum) {
pageSize = (pageSize - 1) * pageNum;
return apiBasicManagementMapper.queryOcpApiBaseDto(keyword, apiUnit, startTime, endTime, apiCode, pageSize, pageNum);
}
/**
* 条件查询
*
* @param apiCode
* @param keyword
* @param apiUnits
* @param startTime
* @param endTime
* @return
*/
// public OcpApiBaseDto queryOcpApiBaseDto(String apiCode, String keyword, String apiUnits, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum) {
// //String[] split = apiUnits.split(",");
//// List<String> list = Arrays.asList(split);
// pageSize = (pageSize - 1) * pageNum;
// OcpApiBaseDto ocpApiBaseDto = apiBasicManagementMapper.queryOcpApiBaseDto(keyword, apiUnits, startTime, endTime, apiCode, pageSize, pageNum);
// return ocpApiBaseDto;
// }
/**
* 导入添加到数据库
*
* @param personList
*/
public void apiImport(List<OcpApiBaseVo> personList) {
for (OcpApiBaseVo ocpApiBaseVo : personList) {
String apiCode = ocpApiBaseVo.getApiCode();
Timestamp apiCtime = ocpApiBaseVo.getApiCtime();
String apiName = ocpApiBaseVo.getApiName();
String apiUnit = ocpApiBaseVo.getApiUnit();
String apiUrl = ocpApiBaseVo.getApiUrl();
String apiState = ocpApiBaseVo.getApiState();
String spaceName = ocpApiBaseVo.getSpaceName();
String clusterName = ocpApiBaseVo.getClusterName();
OcpApiBase ocpApiBase = new OcpApiBase();
ocpApiBase.setApiCode(apiCode);
ocpApiBase.setApiGroupCode("1");
ocpApiBase.setApiCtime(apiCtime);
ocpApiBase.setApiName(apiName);
ocpApiBase.setApiUnit(apiUnit);
ocpApiBase.setApiUrl(apiUrl);
this.save(ocpApiBase);
OcpApiExtent ocpApiExtent = new OcpApiExtent();
ocpApiExtent.setApiCode(apiCode);
ocpApiExtent.setApiState(apiState);
ocpApiExtent.setSpaceName(spaceName);
ocpApiExtent.setClusterName(clusterName);
ocpApiExtentService.save(ocpApiExtent);
}
}
/**
* 服务发布
*
* @param apiCodes
*/
public void apiIssue(String apiCodes) {
String[] split = apiCodes.split(",");
List<String> list = Arrays.asList(split);
LambdaQueryWrapper<OcpApiExtent> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(OcpApiExtent::getApiCode, list);
List<OcpApiExtent> ocpApiExtents = ocpApiExtentMapper.selectList(lambdaQueryWrapper);
for (OcpApiExtent ocpApiExtent : ocpApiExtents) {
if (ocpApiExtent.getApiState().equals("1")) {
throw new BeagleException("已发布");
} else {
ocpApiExtent.setApiState("1");
ocpApiExtentMapper.updateById(ocpApiExtent);
}
}
}
}
package com.pms.ocp.service.impl; package com.pms.ocp.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.pms.ocp.mapper.ApiDetailsMapper; import com.pms.ocp.mapper.ApiDetailsMapper;
import com.pms.ocp.model.entity.OcpApiBase; import com.pms.ocp.model.entity.OcpApiBase;
import com.pms.ocp.model.entity.OcpApiExtent;
import com.pms.ocp.model.entity.OcpApiSubs;
import com.pms.ocp.model.vo.OcpApiBaseVo;
import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ApiDetailsService; import com.pms.ocp.service.ApiDetailsService;
import com.pms.ocp.service.OcpApiExtentService;
import com.pms.ocp.service.OcpApiSubsService;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service @Service
public class ApiDetailsServiceImpl implements ApiDetailsService { public class ApiDetailsServiceImpl implements ApiDetailsService {
@Autowired @Autowired
private ApiDetailsMapper apiDetailsMapper; private ApiDetailsMapper apiDetailsMapper;
@Override @Override
public ResponseVO getApiDetails(String objId) { public ResponseVO getApiDetails(String objId) {
OcpApiBase ocpApiBase = apiDetailsMapper.selectById(objId); OcpApiBase ocpApiBase = apiDetailsMapper.selectById(objId);
return ResponseVO.ok(ocpApiBase); return ResponseVO.ok(ocpApiBase);
} }
} }
package com.pms.ocp.service.impl;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.pms.ocp.common.constants.AnalysisConstant;
import com.pms.ocp.common.constants.ExportUtils;
import com.pms.ocp.mapper.OcpApiAuditMapper;
import com.pms.ocp.model.entity.OcpApiAudit;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpApiAuditService;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Service
public class OcpApiAuditServiceImpl implements OcpApiAuditService {
@Autowired
private OcpApiAuditMapper ocpApiAuditMapper;
@Override
public ResponseVO getOcpApiAuditList(OcpApiAudit ocpApiAudit) {
List<String> ocpApiAuditList = ocpApiAuditMapper.getOcpApiSubsList(ocpApiAudit);
if(CollectionUtils.isEmpty(ocpApiAuditList)){
return ResponseVO.error("查询列表为空");
}else{
return ResponseVO.ok(ocpApiAuditList);
}
}
@Override
public ResponseVO getOcpApiDetails(String objId) {
OcpApiAudit ocpApiAudit = ocpApiAuditMapper.selectById(objId);
return ResponseVO.ok(ocpApiAudit);
}
@Override
public ResponseVO OaaById(OcpApiAudit ocpApiAudit) {
List<OcpApiAudit> oaaById = ocpApiAuditMapper.OaaById(ocpApiAudit);
return ResponseVO.ok(oaaById);
}
@Override
public ResponseVO sById(OcpApiAudit ocpApiAudit) {
List<String> oaaById = ocpApiAuditMapper.sById(ocpApiAudit);
return ResponseVO.ok(oaaById);
}
@Override
public void exportExcel(OcpApiAudit ocpApiAudit, HttpServletRequest request, HttpServletResponse response) {
List<OcpApiAudit> oaaById = ocpApiAuditMapper.OaaById(ocpApiAudit);
ExportParams param = new ExportParams(AnalysisConstant.exportOcpApiAuditName.OCP_API_AUDIT,AnalysisConstant.exportOcpApiAuditName.OCP_API_AUDIT);
Workbook workbook = ExcelExportUtil.exportExcel(param,OcpApiAudit.class,oaaById);
ExportUtils.exportExcel(response, AnalysisConstant.exportOcpApiAuditName.OCP_API_AUDIT,workbook);
}
}
package com.pms.ocp.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.mapper.OcpApiExtentMapper;
import com.pms.ocp.model.entity.OcpApiExtent;
import com.pms.ocp.service.OcpApiExtentService;
import org.springframework.stereotype.Service;
@Service
public class OcpApiExtentServiceImpl extends ServiceImpl<OcpApiExtentMapper, OcpApiExtent> implements OcpApiExtentService {
}
package com.pms.ocp.service.impl;
import com.pms.ocp.mapper.OcpApiModelRelMapper;
import com.pms.ocp.model.entity.OcpApiModelRel;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpApiModelRelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OcpApiModelRelServiceImpl implements OcpApiModelRelService {
@Autowired
private OcpApiModelRelMapper ocpApiModelRelMapper;
@Override
public ResponseVO getOamrList(OcpApiModelRel ocpApiModelRel) {
List<String> ocpApiModelRelList = ocpApiModelRelMapper.getOamrList(ocpApiModelRel);
return ResponseVO.ok(ocpApiModelRelList);
}
}
package com.pms.ocp.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.mapper.OcpApiSubsMapper;
import com.pms.ocp.model.entity.OcpApiSubs;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpApiSubsService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Service
public class OcpApiSubsServiceImpl implements OcpApiSubsService {
@Autowired
private OcpApiSubsMapper ocpApiSubsMapper;
@Override
public ResponseVO getOcpApiSubsList(OcpApiSubs ocpApiSubs) {
List<String> ocpApiSubsList = ocpApiSubsMapper.getOcpApisList(ocpApiSubs);
QueryWrapper qw = new QueryWrapper();
if(CollectionUtils.isEmpty(ocpApiSubsList)){
return ResponseVO.error("查询列表为空");
}else{
return ResponseVO.ok(ocpApiSubsList);
}
}
}
package com.pms.ocp.service.impl;
import com.pms.ocp.mapper.OcpApiTenantRelMapper;
import com.pms.ocp.model.entity.OcpApiTenantRel;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpApiTenantRelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OcpApiTenantRelServiceImpl implements OcpApiTenantRelService {
@Autowired
private OcpApiTenantRelMapper ocpApiTenantRelMapper;
@Override
public ResponseVO getOatrList(OcpApiTenantRel ocpApiTenantRel) {
List<String> oatrList = ocpApiTenantRelMapper.getOatrList(ocpApiTenantRel);
return ResponseVO.ok(oatrList);
}
}
package com.pms.ocp.service.impl;
import com.pms.ocp.mapper.OcpTenantBaseMapper;
import com.pms.ocp.model.entity.OcpTenantBase;
import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.OcpTenantBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OcpTenantBaseServiceImpl implements OcpTenantBaseService {
@Autowired
private OcpTenantBaseMapper ocpTenantBaseMapper;
@Override
public ResponseVO getOtbList(OcpTenantBase ocpTenantBase) {
List<OcpTenantBase> otbList = ocpTenantBaseMapper.getOtbList(ocpTenantBase);
return ResponseVO.ok(otbList);
}
}
package com.pms.ocp.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pms.ocp.mapper.TenantBasicManagementMapper;
import com.pms.ocp.model.dto.OcpApiBaseDto;
import com.pms.ocp.model.dto.OcpTenantBaseDto;
import com.pms.ocp.model.entity.OcpTenantBase;
import com.pms.ocp.service.TenantBasicManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.Arrays;
import java.util.List;
@Service
public class TenantBasicManagementServiceImpl extends ServiceImpl<TenantBasicManagementMapper, OcpTenantBase> implements TenantBasicManagementService {
@Autowired
private TenantBasicManagementMapper tenantBasicManagementMapper;
/**
* 应用条件查询
* @param keyword
* @param tenantUnits
* @param startTime
* @param endTime
* @param pageSize
* @param pageNum
* @return
*/
@Override
public OcpTenantBaseDto queryOcpTenantBaseDto(String keyword, String tenantUnits, Timestamp startTime, Timestamp endTime, int pageSize, int pageNum) {
String[] split = tenantUnits.split(",");
List<String> list = Arrays.asList(split);
pageSize = (pageSize - 1) * pageNum;
OcpTenantBaseDto ocpTenantBaseDto = tenantBasicManagementMapper.queryOcpApiBaseDto(keyword, list, startTime, endTime, pageSize, pageNum);
return ocpTenantBaseDto;
}
}
spring: spring:
datasource: datasource:
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
# jdbc-url: jdbc:postgresql://192.168.43.20:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
# jdbc-url: jdbc:postgresql://172.20.10.9:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
url: jdbc:postgresql://localhost:5432/pms3?stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
username: postgres username: postgres
password: 1234qwer password: root
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
# jdbc-url: jdbc:postgresql://192.168.43.20:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
# jdbc-url: jdbc:postgresql://172.20.10.9:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
url: jdbc:postgresql://localhost:5432/server?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true
knife4j: knife4j:
enable: true enable: true
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pms.ocp.mapper.ApiBasicManagementMapper">
<resultMap id="oabMap" type="com.pms.ocp.model.dto.OcpApiBaseDto">
<result property="objId" column="obj_id"/>
<result property="apiCode" column="api_code"/>
<result property="apiName" column="api_name"/>
<result property="clusterName" column="cluster_name"/>
<result property="spaceName" column="space_name"/>
<result property="apiUnit" column="api_unit"/>
<result property="apiCtime" column="api_ctime"/>
<result property="apiState" column="api_state"/>
<result property="apiUrl" column="api_url"/>
<result property="apiCode" column="api_code"/>
</resultMap>
<select id="selectApiExport" resultType="com.pms.ocp.model.vo.OcpApiBaseVo">
SELECT oab.obj_id,
oab.api_code,oab.api_name,oab.api_ctime,oab.api_unit
,oab.api_url,oab.api_unit,oab.api_ctime,oae.cluster_name cluster_name ,oae.space_name space_name,
oae.api_state api_state
FROM ocp_api_base oab JOIN ocp_api_extent oae ON oae.api_code = oab.api_code
where oab.api_code in
<foreach collection="list" index="index" item="apiCode" open="(" separator="," close=")">
#{apiCode}
</foreach>
</select>
<select id="queryOcpApiBaseDto" resultMap="oabMap">
select oab.obj_id,oab.api_code,oae.api_code,oab.api_name,oae.cluster_name,
oae.space_name,oab.api_url,oae.api_state ,oab.api_unit ,oab.api_ctime from ocp_api_base oab
join ocp_api_extent oae ON oae.api_code = oab.api_code
<where>
<if test="apiCode!=null and apiCode!=''">
and oab.api_code=#{apiCode}
</if>
<if test="apiCode!=null and apiCode!=''">
and oae.api_code=#{apiCode}
</if>
<if test="startTime !=null ">
<![CDATA[
and oab.api_ctime >= #{startTime}
]]>
</if>
<if test="endTime !=null ">
<![CDATA[
and oab.api_ctime <= #{endTime}
]]>
</if>
<if test="keyword !=null and keyword != '' ">
and oab.api_code like CONCAT('%', #{keyword}::text,'%')
</if>
<if test="keyword !=null and keyword != '' ">
and oab.api_name like CONCAT('%', #{keyword}::text,'%')
</if>
<if test="apiUnit !=null and apiUnit!=''">
and oab.api_unit =#{apiUnit}
</if>
<!-- <if test="list!=null">-->
<!-- and oab.api_unit in-->
<!-- <foreach collection="list" index="index" item="apiUnit" open="(" separator="," close=")">-->
<!-- #{apiUnit}-->
<!-- </foreach>-->
<!-- </if>-->
</where>
limit #{pageNum} offset #{pageSize}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pms.ocp.mapper.ApiDetailsMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pms.ocp.mapper.OcpApiAuditMapper">
<select id="OaaById" resultType="com.pms.ocp.model.entity.OcpApiAudit">
select * from ocp_api_audit oaa
LEFT JOIN ocp_api_base oab
on oaa.api_code = oab.api_code
where oaa.obj_id = '1'
</select>
<select id="getOcpApiSubsList" resultType="java.lang.String">
select * from ocp_api_audit
</select>
<select id="sById" resultType="java.lang.String">
select * from ocp_api_audit where obj_id = #{objId}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pms.ocp.mapper.OcpApiModelRelMapper">
<select id="getOamrList" resultType="java.lang.String">
select * from ocp_api_model_rel oamr
LEFT JOIN ocp_model_base omb
on oamr.model_code = omb.model_code
INNER JOIN ocp_api_base oab
on oamr.api_code = oab.api_code
where oamr.obj_id = #{objId}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pms.ocp.mapper.OcpApiSubsMapper">
<select id="getOcpApisList" resultType="java.lang.String">
SELECT * from ocp_api_subs oas
left JOIN ocp_api_base oab on
oas.api_code = oab.api_code
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pms.ocp.mapper.OcpApiTenantRelMapper">
<select id="getOatrList" resultType="java.lang.String">
SELECT * from ocp_api_tenant_rel
oa LEFT JOIN ocp_api_base ab on
oa.api_code = ab.api_code INNER JOIN
ocp_tenant_base ot on ot.tenant_code =
oa.tenant_code where oa.obj_id = #{objId}
</select>
</mapper>
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pms.ocp.mapper.OcpTenantBaseMapper" >
<select id="getOtbList" resultType="com.pms.ocp.model.entity.OcpTenantBase">
select * from ocp_tenant_base otb
LEFT JOIN ocp_tenant_extent ote
on otb.tenant_code = ote.tenant_code
where otb.obj_id = #{objId}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pms.ocp.mapper.TenantBasicManagementMapper">
<select id="queryOcpApiBaseDto" resultType="com.pms.ocp.model.dto.OcpTenantBaseDto">
select otb.obj_id,otb.tenant_code,otb.tenant_name,otg.tenant_group_name,otb.tenant_url,ote.cluster_name,ote.space_name,
ote.deployment_name,otb.tenant_zone,otb.tenant_ctime,otb.tenant_unit
from ocp_tenant_base otb
join ocp_tenant_extent ote on otb.tenant_code=ote.tenant_code
join ocp_tenant_group otg on otb.tenant_group_code =otg.tenant_group_code
<where>
<if test="startTime !=null ">
<![CDATA[
and otb.tenant_ctime >= #{startTime}
]]>
</if>
<if test="endTime !=null ">
<![CDATA[
and otb.tenant_ctime <= #{endTime}
]]>
</if>
<if test="keyword !=null and keyword != '' ">
and otb.tenant_code like CONCAT('%', #{keyword}::text,'%')
</if>
<if test="keyword !=null and keyword != '' ">
and ote.tenant_code like CONCAT('%', #{keyword}::text,'%')
</if>
<if test="keyword !=null and keyword != '' ">
and otb.tenant_name like CONCAT('%', #{keyword}::text,'%')
</if>
<if test="list!=null">
and otb.tenant_unit in
<foreach collection="list" index="index" item="tenantUnit" open="(" separator="," close=")">
#{tenantUnit}
</foreach>
</if>
</where>
limit #{pageNum} offset #{pageSize}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment