Merge remote-tracking branch 'origin/ext-dev' into ext-dev

yun-zuoyi
钮海涛 4 years ago
commit 76af5bc47d

@ -349,10 +349,11 @@ public class MesPcnEnumUtil {
OPC_LINK_REALM(130, "OPC_LINK", "OPC_LINK_REALM"),
OPC_LINK_CALLBACK(140, "OPC_LINK", "OPC_LINK_CALLBACK"),
SUPPLY_SWITCH(150, "SUPPLY_SWITCH", ""),
PCN_LOGIN(160, "PCN_LOGIN", ""),
PCN_MENU(170, "PCN_MENU", ""),
PCN_MODULE(180, "PCN_MODULE", ""),
PCN_LOGOUT(190, "PCN_LOGOUT", ""),
PCN_LOGIN(160, "PCN_LOGIN", "PCN登陆"),
PCN_MENU(170, "PCN_MENU", "PCN菜单"),
PCN_MODULE(180, "PCN_MODULE", "PCN模块"),
PCN_LOGOUT(190, "PCN_LOGOUT", "PCN登出"),
PCN_UPDATE_PASSWORD(195, "PCN_UPDATE_PASSWORD", "PCN修改密码"),
UPDATE_LOCALE_RES(200, "SYNC_DATA_URL", "LOCALE_RES_URL"),
PCN_SYS_LOCALE_LANGUAGE(210, "PCN_SYS_LOCALE_LANGUAGE", ""),
PCN_SYS_ALL_LANGUAGE_URL(220, "PCN_SYS_ALL_LANGUAGE_URL", "PCN_SYS_ALL_LANGUAGE_URL"),

@ -1840,7 +1840,8 @@ public class WmsEnumUtil {
CLOSE(40, "已关闭"),
CANCEL(50, "已取消"),
REJECT(60, "全部退货"),
SPECIAL(70, "全部特采");
SPECIAL(70, "全部特采"),
SECOND_JUDGMENT(80, "二次判定");
private int value;
private String description;

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>i3plus-pojo</artifactId>
<groupId>i3plus.pojo</groupId>
<version>1.0.0.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>i3plus-pojo-bsp</artifactId>
<dependencies>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-base</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
</dependencies>
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>DEV</profileActive>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>TEST</profileActive>
</properties>
</profile>
<profile>
<id>docker</id>
<properties>
<profileActive>DOCKER</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>PROD</profileActive>
</properties>
</profile>
</profiles>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</project>

@ -0,0 +1,22 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
/**
* @author ns
* @create 2021/6/19 0019 16:46
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class LogParam implements Serializable {
private long logDateTime;
private long logId;
private int fromLineNum;
}

@ -0,0 +1,28 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.List;
/**
* @author ns
* @create 2021/5/24 0024 11:08
*/
@Getter
@ToString
@AllArgsConstructor
@Api("方法信息")
public class MethodDescription implements Serializable {
@ApiParam("方法的代理对象")
private final Method method;
@ApiParam("方法参数的长度")
private final int ParamLength;
@ApiParam("方法参数的详细信息")
private final List<ParamInfo> paramInfoList;
}

@ -0,0 +1,34 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Map;
/**
* @author ns
* @create 2021/5/26 0026 13:24
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Api("方法执行所需要的参数")
public class MethodExcuteParam implements Serializable {
@ApiParam("调用方法的key")
private String methodHandlerKey;
@ApiParam(value = "调用方法的参数map", allowEmptyValue = true)
private Map<String, Object> jsonParamMap;
@ApiParam(value = "调用方法参数列表", allowEmptyValue = true)
private Object[] jsonParamArray;
@ApiParam("日志id")
private Integer logId;
@ApiParam("日志时间")
private String logDateTimeParam;
@ApiParam("调用的超时时间")
private Integer executorTimeout;
}

@ -0,0 +1,24 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author ns
* @create 2021/5/26 0026 17:41
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Api("参数的信息")
public class ParamInfo {
@ApiParam("参数名")
private String name;
@ApiParam("参数类型名")
private String typeName;
@ApiParam("参数类信息")
private Class clzz;
}

@ -0,0 +1,29 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.po;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* @author ns
* @create 2021/6/18 0018 10:53
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Api("查询方法日志的结果")
public class LogResult {
@ApiParam("日志开始行号")
private int fromLineNum;
@ApiParam("日志结束行号")
private int toLineNum;
@ApiParam("日志内容")
private String logContent;
@ApiParam("日志是否结束")
private boolean isEnd;
}

@ -0,0 +1,40 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.po;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author ns
* @create 2021/5/26 0026 14:39
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Api("方法注册的参数列表")
public class MethodRegistryParam implements Serializable {
@ApiParam("方法名")
private String methodName;
@ApiParam("方法所在bean的名字")
private String beanName;
@ApiParam("方法调用所需要的key")
private String methodHandlerKey;
@ApiParam("方法参数列表")
private List<ParamDescription> parameterList;
@ApiParam("方法的版本")
private String version;
@ApiParam("方法影响了那些表")
private String[] affectTableClassName;
@ApiParam("方法的处理逻辑")
private String[] systemProcess;
@ApiParam("方法参数的验证逻辑")
private String[] validation;
}

@ -0,0 +1,44 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.po;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Map;
/**
* @author ns
* @create 2021/5/24 0024 11:08
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Api("参数的注册信息")
public class ParamDescription implements Serializable {
@ApiParam("参数名")
private String name;
@ApiParam(value = "参数类型",defaultValue ="1" ,allowableValues = "0 或者 1")
private Integer type; //出参还是入参
@ApiParam("参数类型名")
private String typeName; //类型
//默认值
@ApiParam("参数默认值")
private String defaultValue;
//允许的值
@ApiParam("参数可选值")
private String[] allowableValues;
//是否必填
@ApiParam("参数是否必填")
private Boolean required;
//例子
@ApiParam("参数的例子")
private String example;
//是否可以为空
@ApiParam("参数是否可以为空")
private Boolean allowEmptyValue;
}

@ -0,0 +1,28 @@
package cn.estsh.i3plus.pojo.bsp.client.bean.po;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author ns
* @create 2021/5/26 0026 14:33
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Api("执行器注册的信息")
public class RegistryParam implements Serializable {
@ApiParam("执行器的名称")
private String appname;
@ApiParam("执行器的地址")
private String address;
@ApiParam("执行器注册的方法信息")
private List<MethodRegistryParam> methodRegistryParamList;
}

@ -0,0 +1,98 @@
package cn.estsh.i3plus.pojo.bsp.common;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/17 13:40
* @Modify:
**/
public class GsonTool {
private static Gson gson = null;
static {
gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
}
/**
* Object json
*
* @param src
* @return String
*/
public static String toJson(Object src) {
return gson.toJson(src);
}
/**
* json clsObject
*
* @param json
* @param classOfT
* @return
*/
public static <T> T fromJson(String json, Class<T> classOfT) {
return gson.fromJson(json, classOfT);
}
/**
* json rawClass<classOfT> Object
*
* @param json
* @param classOfT
* @param argClassOfT
* @return
*/
public static <T> T fromJson(String json, Class<T> classOfT, Class argClassOfT) {
Type type = new ParameterizedType4ReturnT(classOfT, new Class[]{argClassOfT});
return gson.fromJson(json, type);
}
public static class ParameterizedType4ReturnT implements ParameterizedType {
private final Class raw;
private final Type[] args;
public ParameterizedType4ReturnT(Class raw, Type[] args) {
this.raw = raw;
this.args = args != null ? args : new Type[0];
}
@Override
public Type[] getActualTypeArguments() {
return args;
}
@Override
public Type getRawType() {
return raw;
}
@Override
public Type getOwnerType() {
return null;
}
}
/**
* json clslist
*
* @param json
* @param classOfT
* @return
*/
public static <T> List<T> fromJsonList(String json, Class<T> classOfT) {
return gson.fromJson(
json,
new TypeToken<List<T>>() {
}.getType()
);
}
}

@ -0,0 +1,147 @@
package cn.estsh.i3plus.pojo.bsp.common;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.net.ssl.*;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/17 13:37
* @Modify:
**/
public class HttpUtils {
private static Logger logger = LoggerFactory.getLogger(HttpUtils.class);
// trust-https start
private static void trustAllHosts(HttpsURLConnection connection) {
try {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
SSLSocketFactory newFactory = sc.getSocketFactory();
connection.setSSLSocketFactory(newFactory);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
connection.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
}
private static final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
}};
// trust-https end
/**
* post
*
* @param url
* @param timeout
* @param requestObj
* @return
*/
public static ReturnT postBody(String url, int timeout, Object requestObj) {
HttpURLConnection connection = null;
BufferedReader bufferedReader = null;
try {
// connection
URL realUrl = new URL(url);
connection = (HttpURLConnection) realUrl.openConnection();
// trust-https
boolean useHttps = url.startsWith("https");
if (useHttps) {
HttpsURLConnection https = (HttpsURLConnection) connection;
trustAllHosts(https);
}
// connection setting
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setReadTimeout(timeout * 1000);
connection.setConnectTimeout(3 * 1000);
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
// do connection
connection.connect();
// write requestBody
if (requestObj != null) {
String requestBody = GsonTool.toJson(requestObj);
DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
dataOutputStream.write(requestBody.getBytes("UTF-8"));
dataOutputStream.flush();
dataOutputStream.close();
}
// valid StatusCode
int statusCode = connection.getResponseCode();
if (statusCode != 200) {
return new ReturnT<String>(ReturnT.FAIL_CODE, "rpc remoting fail, StatusCode(" + statusCode + ") invalid. for url : " + url);
}
// result
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
StringBuilder result = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
String resultJson = result.toString();
// parse returnT
try {
return GsonTool.fromJson(resultJson, ReturnT.class);
} catch (Exception e) {
logger.error("rpc remoting (url=" + url + ") response content invalid(" + resultJson + ").", e);
return new ReturnT<String>(ReturnT.FAIL_CODE, "rpc remoting (url=" + url + ") response content invalid(" + resultJson + ").");
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, "rpc remoting error(" + e.getMessage() + "), for url : " + url);
} finally {
try {
if (bufferedReader != null) {
bufferedReader.close();
}
if (connection != null) {
connection.disconnect();
}
} catch (Exception e2) {
logger.error(e2.getMessage(), e2);
}
}
}
}

@ -0,0 +1,56 @@
package cn.estsh.i3plus.pojo.bsp.common;
import java.io.Serializable;
/**
* @author Castle
*/
public class ReturnT<T> implements Serializable {
public static final long serialVersionUID = 42L;
public static final int SUCCESS_CODE = 200;
public static final int FAIL_CODE = 500;
public static final ReturnT<String> SUCCESS = new ReturnT<String>(null);
public static final ReturnT<String> FAIL = new ReturnT<String>(FAIL_CODE, null);
private int code;
private String msg;
private T content;
public ReturnT(){}
public ReturnT(int code, String msg) {
this.code = code;
this.msg = msg;
}
public ReturnT(T content) {
this.code = SUCCESS_CODE;
this.content = content;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getContent() {
return content;
}
public void setContent(T content) {
this.content = content;
}
@Override
public String toString() {
return "ReturnT [code=" + code + ", msg=" + msg + ", content=" + content + "]";
}
}

@ -0,0 +1,29 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 10:40
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("添加方法组")
public class MethodGroupModel {
@ApiParam("方法组的名称")
private String methodGroupName;
@ApiParam("方法组的描述")
private String description;
@ApiParam("方法组层级列表")
private List<MethodLevelModel> methodLevel;
}

@ -0,0 +1,28 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 10:50
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("添加方法组层级")
public class MethodLevelModel {
@ApiParam("方法Id")
private Long methodId;
@ApiParam("方法层级")
private String level;
@ApiParam("参数列表")
List<MethodLevelParamModel> paramModels;
}

@ -0,0 +1,27 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 11:18
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("添加方法组层级参数")
public class MethodLevelParamModel {
@ApiParam("根据出参生成入参key = 层级 + methodId + 出参Name")
private String paramKey;
@ApiParam("对应本方法的入参名称")
private String paramValue;
@ApiParam("入参类型,用于校验数据类型")
private String type;
}

@ -0,0 +1,32 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/11 16:57
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("注册/心跳")
public class RegistryMessageInfo {
@ApiParam("appName,根据appName分执行器组")
private String appName;
@ApiParam("执行器地址")
private String address;
@ApiParam("方法列表")
private List<RegistryMethodInfo> methodRegistryParamList;
}

@ -0,0 +1,51 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/15 9:33
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("注册方法信息")
public class RegistryMethodInfo {
@ApiParam("方法名")
private String methodName;
@ApiParam("调用方法时的key")
private String methodHandlerKey;
@ApiParam("参数列表")
private List<RegistryMethodParamInfo> methodParamList;
/*-----------------------------------文档------------------------------------------------*/
@ApiParam("beanName")
private String beanName;
@ApiParam("方法版本号")
private String version;
@ApiParam("受影响的表名update/insert")
private List<String> affectTableClassName;
@ApiParam("系统要执行的逻辑")
private List<String> systemProcess;
/**
*
*/
@ApiParam("参数验证")
private List<String> validation;
}

@ -0,0 +1,30 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/15 9:35
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("方法注册参数")
public class RegistryMethodParamInfo {
@ApiParam("参数名")
private String name;
@ApiParam("参数类型入参1出参0")
private Integer type;
@ApiParam("数据类型,基本数据类型")
private String typeName;
}

@ -0,0 +1,28 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.model;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/18 11:03
* @Modify:
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("远程调用方法参数")
public class RequestModel {
@ApiModelProperty("执行方法的key")
private String methodHandlerKey;
@ApiModelProperty("方法的入参")
private Map<String, Object> jsonParamMap;
}

@ -0,0 +1,52 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 13:21
* @Modify:
**/
@Entity
@Table(name = "EXECUTOR_GROUP_REGISTRY_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("执行器组")
public class ExecutorGroupRegistryInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = -3871002350228229604L;
@Column(name = "APP_NAME")
@ApiModelProperty("执行器组的applicationName")
private String appName;
@Column(name = "ADDRESS_STR")
@ApiModelProperty("注册地址字符串,地址用逗号间隔")
private String addressStr;
@Column(name = "TYPE",columnDefinition = "int default 0")
@ApiModelProperty("自动注册 0手动注册 1")
private String type;
@Column
@ApiModelProperty("执行器组路由策略,默认随机")
private String routeStrategy;
@Column(name = "UPDATE_TIME")
@ApiModelProperty("更新时间")
private Date updateTime;
}

@ -0,0 +1,43 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 13:33
* @Modify:
**/
@Entity
@Table(name = "EXECUTOR_REGISTRY_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("执行器")
public class ExecutorRegistryInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = -736085114778936163L;
@Column(name = "APP_NAME")
@ApiModelProperty("执行器application Name")
private String appName;
@Column(name = "ADDRESS")
@ApiModelProperty("执行器地址包含ip:port")
private String address;
@Column(name = "UPDATE_TIME")
@ApiModelProperty("最近一次心跳时间")
private Date updateTime;
}

@ -0,0 +1,57 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 13:43
* @Modify:
**/
@Entity
@Table(name = "EXECUTOR_REGISTRY_METHOD_DOC_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法doc")
public class ExecutorRegistryMethodDocInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = 2770821289940006535L;
@Column(name = "BEAN_NAME")
@ApiModelProperty("beanName")
private String beanName;
@Column(name = "VERSION")
@ApiModelProperty("方法版本")
private String version;
@Column(name = "AFFECT_TABLE_STR")
@ApiModelProperty("受影响的表名,逗号分割,原来为数组")
private String affectTableClassNameStr;
@Column(name = "SYSTEM_PROCESS_STR")
@ApiModelProperty("系统要执行的逻辑 逗号分割,原来为数组")
private String systemProcessStr;
/**
*
*/
@Column(name = "VALIDATION")
@ApiModelProperty("参数验证 逗号分割,原来为数组")
private String validation;
@Column(name = "METHOD_ID")
@ApiModelProperty("方法ID")
private Long methodId;
//todo 缺少参数信息
}

@ -0,0 +1,57 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 13:39
* @Modify:
**/
@Table(name = "EXECUTOR_REGISTRY_METHOD_INFO")
@Entity
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法注册信息")
public class ExecutorRegistryMethodInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = 2096630767822598366L;
@Column(name = "METHOD_NAME")
@ApiModelProperty("方法名")
private String methodName;
@Column(name = "METHOD_HANDLER_KEY")
@ApiModelProperty("调用方法需要的key")
private String methodHandlerKey;
@Column(name = "BEAN_NAME")
@ApiModelProperty("beanName")
private String beanName;
@Column(name = "VERSION")
@ApiModelProperty("方法的版本号")
private String version;
@Column(name = "APP_NAME")
@ApiModelProperty("所属执行器的appName")
private String appName;
@Transient
@ApiModelProperty("方法参数列表")
private List<ExecutorRegistryParamInfo> paramInfos;
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 13:36
* @Modify:
**/
@Entity
@Table(name = "EXECUTOR_REGISTRY_PARAM_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法注册参数信息")
public class ExecutorRegistryParamInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = 7346454749822492424L;
@Column(name = "NAME")
@ApiModelProperty("参数名")
private String name;
@Column(name = "TYPE")
@ApiModelProperty("入参 1 ,出参 0")
private Integer type;
@Column(name = "TYPE_NAME")
@ApiModelProperty("数据类型,基本数据类型")
private String typeName;
@Column(name = "METHOD_ID")
@ApiModelProperty("所属方法的ID")
private Long methodId;
}

@ -0,0 +1,42 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/18 14:31
* @Modify:
**/
@Entity
@Table(name = "METHOD_GROUP_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法组合")
public class MethodGroupInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = -7868208264526298210L;
@Column(name = "NAME")
@ApiModelProperty("方法组名称")
private String name;
@Column(name = "DESCRIPTION")
@ApiModelProperty("方法组描述")
private String description;
}

@ -0,0 +1,49 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/18 14:46
* @Modify:
**/
@Entity
@Table(name = "METHOD_LEVEL_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法层级")
public class MethodLevelInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = -6341443254774985571L;
@Column(name = "METHOD_GROUP_ID")
@ApiModelProperty("所属方法组的ID")
private Long methodGroupId;
@Column(name = "LEVEL")
@ApiModelProperty("执行层级,相同层级可以并行执行")
private String level;
@Column(name = "METHOD_ID")
@ApiModelProperty("当前层级的方法ID")
private Long methodId;
@Transient
@ApiModelProperty("方法的参数关系列表")
private List<MethodLevelParamInfo> paramInfoList;
}

@ -0,0 +1,66 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.po;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/18 15:08
* @Modify:
**/
@Entity
@Table(name = "METHOD_LEVEL_PARAM_INFO")
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法层级参数关系")
public class MethodLevelParamInfo extends BaseBean implements Serializable {
private static final long serialVersionUID = 5700666543596399984L;
/**
* + + Id
*/
@Column(name = "PARAM_KEY")
@ApiModelProperty("参数来源 层级 + 参数名 + 方法Id")
private String paramKey;
/**
*
*/
@Column(name = "METHOD_PARAM_NAME")
@ApiModelProperty("对应当前方法的入参名称")
private String methodParamName;
/**
* methodId
*/
@Column(name = "METHOD_ID")
@ApiModelProperty("对应的当前层级的方法Id")
private Long methodId;
@Column(name = "METHOD_GROUP_ID")
@ApiModelProperty("对应方法组的Id")
private Long methodGroupId;
/**
*
*/
@Column(name = "require")
@ApiModelProperty("原有方法的入参是否必须,做调用前验证")
private Integer require;
/**
*
*/
@Column(name = "type")
@ApiModelProperty("参数类型验证")
private String type;
}

@ -0,0 +1,25 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.screen;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 11:42
* @Modify:
**/
@Data
@AllArgsConstructor
@Api("调用方法组")
public class InvokeMethodGroupModel {
@ApiParam("方法组Id")
private Long methodGroupId;
@ApiParam("方法组入参")
private Map<String,Object> paramMap;
}

@ -0,0 +1,30 @@
package cn.estsh.i3plus.pojo.bsp.server.bean.screen;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 9:44
* @Modify:
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Api("通用界面单独调用方法")
public class InvokeMethodModel {
@ApiParam("调用方法的Id,或者方法组Id")
private Long id;
@ApiParam("方法的入参map")
private Map<String,Object> params;
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.ExecutorGroupRegistryInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 14:49
* @Modify:
**/
@Repository
public interface ExecutorGroupRegistryInfoRepository extends BaseRepository<ExecutorGroupRegistryInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.ExecutorRegistryInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 14:51
* @Modify:
**/
@Repository
public interface ExecutorRegistryInfoRepository extends BaseRepository<ExecutorRegistryInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.ExecutorRegistryMethodDocInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 14:53
* @Modify:
**/
@Repository
public interface ExecutorRegistryMethodDocInfoRepository extends BaseRepository<ExecutorRegistryMethodDocInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.ExecutorRegistryMethodInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 14:55
* @Modify:
**/
@Repository
public interface ExecutorRegistryMethodInfoRepository extends BaseRepository<ExecutorRegistryMethodInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.ExecutorRegistryParamInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/16 14:58
* @Modify:
**/
@Repository
public interface ExecutorRegistryParamInfoRepository extends BaseRepository<ExecutorRegistryParamInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodGroupInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 10:25
* @Modify:
**/
@Repository
public interface MethodGroupInfoRepository extends BaseRepository<MethodGroupInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodLevelInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 10:26
* @Modify:
**/
@Repository
public interface MethodLevelInfoRepository extends BaseRepository<MethodLevelInfo,Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.bsp.server.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodLevelParamInfo;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2021/6/21 10:27
* @Modify:
**/
@Repository
public interface MethodLevelParamInfoRepository extends BaseRepository<MethodLevelParamInfo,Long> {
}

@ -40,6 +40,10 @@ public class MesLockRecord extends BaseBean implements Serializable {
@ApiParam("工位代码")
private String workCellCode;
@Column(name = "WORK_CELL_NAME")
@ApiParam("工位名称")
private String workCellName;
@Column(name = "PROCESS_CODE")
@ApiParam("工序代码")
private String processCode;

@ -0,0 +1,53 @@
package cn.estsh.i3plus.pojo.platform.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 16:58:42.856
* @Modify :
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "SYS_LOG_ROLE_CHANGE", indexes = {
@Index(columnList = "CREATE_DATE_TIME")
})
@ApiModel(value = "用户角色更新记录表", description = "用户角色更新记录表")
public class SysLogRoleChange extends BaseBean {
private static final long serialVersionUID = 4665598896654312569L;
@Column(name = "USER_ID")
@ApiModelProperty(value = "用户ID", access = "用户ID")
@AnnoOutputColumn(hidden = true)
private Long userId;
@Column(name = "USER_NAME")
@ApiModelProperty(value = "用户名", access = "用户名")
private String userName;
@Column(name = "PREVIOUS_ROLES")
@ApiModelProperty(value = "之前的角色", access = "之前的角色")
private String previousRoles;
@Column(name = "CURRENT_ROLES")
@ApiModelProperty(value = "当前的角色", access = "当前的角色")
private String currentRoles;
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.pojo.platform.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@ -12,7 +13,12 @@ import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Map;
/**
@ -27,75 +33,87 @@ import java.util.Map;
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="SYS_POJO_VERSION",indexes = {
@Index(name="index_sys_pojo_version_ref_id",columnList = "REF_ID"),
@Index(name="index_sys_pojo_version_ref_class",columnList = "REF_CLASS"),
@Table(name = "SYS_POJO_VERSION", indexes = {
@Index(name = "index_sys_pojo_version_ref_id", columnList = "REF_ID"),
@Index(name = "index_sys_pojo_version_ref_class", columnList = "REF_CLASS"),
})
@Api(value="对象历史")
@Api(value = "对象历史")
public class SysPojoVersion extends BaseBean {
private static final long serialVersionUID = -2265406135818649545L;
@Column(name="SOFT_TYPE")
@ApiParam(value ="产品类型")
@Column(name = "SOFT_TYPE")
@ApiParam(value = "产品类型")
@AnnoOutputColumn(refClass = CommonEnumUtil.SOFT_TYPE.class, refForeignKey = "value", value = "description")
private Integer softType;
public String getSoftTypeTxt() {
return softType == null ? null : CommonEnumUtil.SOFT_TYPE.valueOfDescription(softType);
}
@Column(name="PLAN_ID")
@ApiParam(value ="对象计划id" ,example = "-1")
@Column(name = "PLAN_ID")
@ApiParam(value = "对象计划id", example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long planId;
@Column(name="REF_ID")
@ApiParam(value ="对象id" ,example = "-1")
@Column(name = "REF_ID")
@ApiParam(value = "对象id", example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long refId;
@Column(name="REF_CLASS")
@ApiParam(value ="记录对象")
@Column(name = "REF_CLASS")
@ApiParam(value = "记录对象")
@AnnoOutputColumn(hidden = true)
private String refClass;
@Column(name="VERSION_NO")
@ApiParam(value ="记录对象版本号")
@Column(name = "VERSION_NO")
@ApiParam(value = "记录对象版本号")
private Integer versionNo = 0;
@Column(name="operateType")
@ApiParam(value ="操作类型")
@Column(name = "operateType")
@ApiParam(value = "操作类型")
@AnnoOutputColumn(refClass = CommonEnumUtil.DAO_OPERATE_TYPE.class, refForeignKey = "value", value = "description")
private Integer operateType;
public String getOperateTypeTxt() {
return operateType == null ? null : CommonEnumUtil.DAO_OPERATE_TYPE.valueOf(operateType);
}
@Column(name="VERSION_METHOD_NAME")
@ApiParam(value ="操作方法名称")
@Column(name = "VERSION_METHOD_NAME")
@ApiParam(value = "操作方法名称")
private String versionMethodName;
@Column(name="POJO_DETAIL_ID")
@ApiParam(value ="对象明细id" ,example = "-1")
@Column(name = "POJO_DETAIL_ID")
@ApiParam(value = "对象明细id", example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long pojoDetailId;
@Lob
@Column(name="POJO_COMPARE")
@ApiParam(value ="记录对象对比差异")
@Column(name = "POJO_COMPARE")
@ApiParam(value = "记录对象对比差异")
private String pojoCompare;
@Lob
@Column(name="POJO_COMPARE_TXT")
@ApiParam(value ="记录对象对比差异")
@Column(name = "POJO_COMPARE_TXT")
@ApiParam(value = "记录对象对比差异")
@AnnoOutputColumn(hidden = true)
private String pojoCompareTxt;
@Transient
@ApiParam(value ="用户部门信息")
@ApiParam(value = "用户部门信息")
@AnnoOutputColumn(hidden = true)
private SysPojoVersionDetail versionDetail;
@Transient
@ApiParam(value ="操作对象本身")
@ApiParam(value = "操作对象本身")
@AnnoOutputColumn(hidden = true)
private String bean;
@Transient
@ApiParam(value ="操作对象属性描述")
@ApiParam(value = "操作对象属性描述")
@AnnoOutputColumn(hidden = true)
private Map<String, String> pojoPropDesc;
@Transient
@ApiParam(value = "操作对象名称")
private String pojoClassTitle;
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.pojo.platform.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.platform.bean.SysLogRoleChange;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-22 12:03:00.207
* @Modify :
**/
public interface SysLogRoleChangeRepository extends BaseRepository<SysLogRoleChange, Long> {
}

@ -37,6 +37,7 @@
<module>modules/i3plus-pojo-ics</module>
<module>modules/i3plus-pojo-mdm</module>
<module>modules/i3plus-pojo-screen</module>
<module>modules/i3plus-pojo-bsp</module>
</modules>
<dependencies>
@ -179,6 +180,11 @@
<artifactId>xstream</artifactId>
<version>1.4.11.1</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save