开发WMS动态加载插件功能

yun-zuoyi
袁津哲 5 years ago
parent e8f48bcb04
commit 327af15040

@ -0,0 +1,83 @@
package cn.estsh.i3plus.pojo.wms.bean.plugin;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
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.Table;
/**
* @Description :
* @Reference :
* @Author : siliter.yuan
* @CreateDate : 2020-03-17 14:21
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="BAS_PLUGIN")
@Api("插件信息")
public class BasPlugin extends BaseBean{
private static final long serialVersionUID = 9214639813072592779L;
@Column(name="PLUGIN_NAME")
@ApiParam("插件名称")
private String pluginName;
@Column(name="PLUGIN_IMAGE")
@ApiParam("插件图片")
private String pluginImage;
@Column(name="PLUGIN_URL")
@ApiParam("插件URL地址")
private String pluginUrl;
@Column(name="PLUGIN_PATH")
@ApiParam("插件文件地址")
private String pluginPath;
@Column(name="PLUGIN_FILE_ID")
@ApiParam(value = "插件文件ID", example = "0")
private Long pluginFileId;
@Column(name="PLUGIN_DESC")
@ApiParam("插件描述")
private String vendorAddr;
@Column(name="SERVICE_NAME")
@ApiParam("服务名称")
private String serviceName;
@Column(name="REQUEST_URL")
@ApiParam("请求路径")
private String requestUrl;
@Column(name = "COPYRIGHT")
@ApiParam(value = "版权")
private Integer copyRight;
@Column(name = "AUTHOR")
@ApiParam(value = "作者")
private String author;
@Column(name = "PLUGIN_STATUS")
@ApiParam(value = "插件状态", example = "1")
private Integer pluginStatus;
@Column(name = "PLUGIN_DIRECTORY")
@ApiParam(value = "本地插件文件夹")
private String pluginDirectory;
@Column(name = "PLUGIN_PACKAGE_NAME")
@ApiParam(value = "插件项目包名称")
private String pluginPackName;
}

@ -0,0 +1,47 @@
package cn.estsh.i3plus.pojo.wms.bean.plugin;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
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.Lob;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : siliter.yuan
* @CreateDate : 2020-03-17 14:21
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="BAS_PLUGIN_CLASS")
@Api("插件类信息")
public class BasPluginClass extends BaseBean{
private static final long serialVersionUID = 9214639813072592779L;
@Column(name="PLUGIN_ID")
@ApiParam(value = "插件编号", example = "0")
private Long pluginId;
@Column(name="BEAN_NAME")
@ApiParam("Bean名称")
private String beanName;
@Column(name="CLASS_NAME")
@ApiParam("插件类名称")
private String className;
@Lob
@Column(name="CLASS_BYTE", length = 100000)
@ApiParam("插件类字节码")
private byte[] classByte;
}

@ -0,0 +1,15 @@
package cn.estsh.i3plus.pojo.wms.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.wms.bean.plugin.BasPluginClass;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : siliter.yuan
* @CreateDate : 2020-03-17 15:17
* @Modify:
**/
@Repository
public interface BasPluginClassRepository extends BaseRepository<BasPluginClass, Long> {
}

@ -0,0 +1,15 @@
package cn.estsh.i3plus.pojo.wms.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.wms.bean.plugin.BasPlugin;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : siliter.yuan
* @CreateDate : 2020-03-17 15:17
* @Modify:
**/
@Repository
public interface BasPluginRepository extends BaseRepository<BasPlugin, Long> {
}

@ -9,6 +9,7 @@ import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.wms.bean.*;
import cn.estsh.i3plus.pojo.wms.bean.dynamictable.WmsFieldInfo;
import cn.estsh.i3plus.pojo.wms.bean.dynamictable.WmsSearchElementFunction;
import cn.estsh.i3plus.pojo.wms.bean.plugin.BasPlugin;
import cn.estsh.i3plus.pojo.wms.dbinterface.WmsInterfaceDataMapper;
import cn.estsh.i3plus.pojo.wms.engine.rule.EngineRulePersistence;
import cn.estsh.i3plus.pojo.wms.engine.script.EngineScriptPersistence;
@ -2852,4 +2853,18 @@ public class WmsHqlPack {
return result;
}
/**
*
* @param plugin
* @return
*/
public static DdlPackBean packHqlBasPlugin(BasPlugin plugin) {
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringLikerPack(plugin.getPluginName(), "pluginName", result);
DdlPreparedPack.getStringLikerPack(plugin.getAuthor(), "author", result);
DdlPreparedPack.getNumEqualPack(plugin.getPluginStatus(), "pluginStatus", result);
getStringBuilderPack(plugin, result);
return result;
}
}

Loading…
Cancel
Save