Commit 0ad5358f authored by mcb's avatar mcb

Merge branch 'dmp_dev' of http://gitlab.ioubuy.cn/yaobenzhang/jz-dmp-service into dmp_dev

parents 98c3bbb0 2607117f
package com.jz.common.constant;
/**
* @ClassName: CommConstant
* @Description: TODO(通用常亮)
* @author ybz
* @date 2021年1月18日
*
*/
public class CommConstant {
/***************************************************/
//tree类型
public static String TREE_SYNCING_DATA = "1";
//开发任务
public static String TREE_DEVELOP_TASK = "2";
public static String TREE_DEVELOP_WORKFLOW = "2W";
public static String TREE_DEVELOP_SCRIPT = "3";
public static String TREE_MANAGE_RESOURCE = "4";
public static String TREE_MANAGE_FUNCTION = "5";
/***************************************************/
}
...@@ -6,14 +6,15 @@ package com.jz.common.constant; ...@@ -6,14 +6,15 @@ package com.jz.common.constant;
*/ */
public class StatuConstant { public class StatuConstant {
public final static String SUCCESS_CODE = "200"; /***************************************************************************/
/*操作码**/
public final static String SUCCESS_CODE = "000";
public final static String SUCCESS_CODE_MSG = "操作成功";
public final static String FAILURE_CODE = "201"; public final static String FAILURE_CODE = "001";
public final static String FAILURE_CODE_MSG = "操作失败";
/*****************************************************************************/ /*****************************************************************************/
//第三方请求返回结果码定义
public static String CODE_SUCCESS = "000";
public static String MSG_SUCCESS = "操作成功";
public static String CODE_ERROR_REQUESTMETHOD = "100"; public static String CODE_ERROR_REQUESTMETHOD = "100";
public static String MSG_ERROR_REQUESTMETHOD = "请求方式错误(只支持POST方式请求)"; public static String MSG_ERROR_REQUESTMETHOD = "请求方式错误(只支持POST方式请求)";
......
package com.jz.common.enums;
public enum ModuleLogEnum {
DEV_SCRIPT(1, "脚本类数据开发"),
DEV_TASK(2, "任务类数据开发"),
VERSION_SYNC_XML(100, "离线同步XML历史版本");
private Integer code;
private String desc;
ModuleLogEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package com.jz.common.enums;
/**
* 节点变更类型
*/
public enum NodeChangeTypeEnum {
ADD("新增"),
UPDATE("修改"),
DELETE("删除");
private String changeType;
NodeChangeTypeEnum(String changeType) {
this.changeType = changeType;
}
public String getChangeType() {
return changeType;
}
public void setChangeType(String changeType) {
this.changeType = changeType;
}
}
package com.jz.common.persistence;
import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
import java.sql.Blob;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import com.jz.common.utils.GZIPUtils;
public class CBTZipHandler extends BaseTypeHandler<String> {
private static final String DEFAULT_CHARSET = "utf-8";
@Override
public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
throws SQLException {
ByteArrayInputStream bis;
try {
bis = new ByteArrayInputStream(parameter.getBytes(DEFAULT_CHARSET));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("Blob Encoding Error!");
}
ps.setBinaryStream(i, bis, parameter.length());
}
@Override
public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
int isGziped = -1;
try {
// getAllColumn(rs);
isGziped = rs.getInt("is_gziped");
} catch (SQLException e) {
System.out.println("获取是否压缩字段列数据发生异常:" + e.getMessage());
}
return getConvertString(rs.getBlob(columnName), isGziped);
}
@Override
public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
int isGziped = -1;
try {
// getAllColumn(cs.getResultSet());
System.out.println("==========>>>CallableStatement解压缩");
isGziped = cs.getInt("is_gziped");
} catch (SQLException e) {
System.out.println("获取是否压缩字段列数据发生异常:" + e.getMessage());
}
return getConvertString(cs.getBlob(columnIndex), isGziped);
}
@Override
public String getNullableResult(ResultSet arg0, int arg1) throws SQLException {
return null;
}
private String getConvertString(Blob blob, int isGziped) throws SQLException {
byte[] returnValue = null;
if (null != blob) {
returnValue = blob.getBytes(1, (int) blob.length());
}
if (returnValue == null) return "";
try {
// 压缩状态
if (isGziped == 1) {
return GZIPUtils.unGzipString(returnValue, DEFAULT_CHARSET);
} else {
return new String(returnValue, DEFAULT_CHARSET);
}
} catch (Exception e) {
throw new RuntimeException("Blob Encoding Error!");
}
}
private String[] getAllColumn(ResultSet rs) throws SQLException {
if (null != rs) {
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] name = new String[count];
for (int i = 0; i < count; i++) {
name[i] = rsmd.getColumnName(i + 1);
System.out.println(name[i]);
}
return name;
} else {
return null;
}
}
}
package com.jz.common.utils;
/**
* @ClassName: CodeGeneratorUtil
* @Description: TODO(按照规则生成编码工具类)
* @author ybz
* @date 2021年1月19日
*
*/
public class CodeGeneratorUtils {
//任务起始版本
private static final String TASKVERSION_START = "V1.0";
/**
* @Title: generatorNextTaskVesion
* @Description: TODO(任务版本生成)
* @param @param version
* @param @return
* @param @throws Exception 参数
* @return String 返回类型
* @throws
*/
public static String generatorNextTaskVesion(String version)throws Exception{
if (StringUtils.isEmpty(version)) {//如果没有版本,则返回开始版本
return TASKVERSION_START;
}
String[] strs = version.substring(1, version.length()).split(".");
Integer number_1 = Integer.parseInt(strs[0]);
Integer number_2 = Integer.parseInt(strs[1]);
if (number_2 + 1 > 9) {
number_2 = 0;
number_1 += 1;
}else {
number_2 += 1;
}
return "V"+number_1+"."+number_2;
}
}
This diff is collapsed.
/*
* Copyright 2012 LinkedIn Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.jz.common.utils;
import org.apache.commons.io.IOUtils;
import java.io.*;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GZIPUtils {
public static byte[] gzipString(final String str) throws IOException{
return gzipString(str,"utf-8");
}
public static byte[] gzipString(final String str, final String encType)
throws IOException {
if (str == null){
return null;
}
final byte[] stringData = str.getBytes(encType);
return gzipBytes(stringData);
}
public static byte[] gzipBytes(final byte[] bytes) throws IOException {
return gzipBytes(bytes, 0, bytes.length);
}
public static byte[] gzipBytes(final byte[] bytes, final int offset, final int length)
throws IOException {
final ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
GZIPOutputStream gzipStream = null;
gzipStream = new GZIPOutputStream(byteOutputStream);
gzipStream.write(bytes, offset, length);
gzipStream.close();
return byteOutputStream.toByteArray();
}
public static byte[] unGzipBytes(final byte[] bytes) throws IOException {
final ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes);
final GZIPInputStream gzipInputStream = new GZIPInputStream(byteInputStream);
final ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
IOUtils.copy(gzipInputStream, byteOutputStream);
return byteOutputStream.toByteArray();
}
public static String unGzipString(final byte[] bytes, final String encType)
throws IOException {
final byte[] response = unGzipBytes(bytes);
return new String(response, encType);
}
public static void main(String [] args){
String fileName = "C:\\Users\\Marus\\Desktop\\coverage-error.log";
File file = new File(fileName);
BufferedReader reader = null;
StringBuffer sb = new StringBuffer();
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
sb.append(tempString);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
try {
byte [] a = gzipString(sb.toString(),"utf-8");
System.err.println(sb.toString().length()+"----"+a.length);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.jz.common.utils;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpATTRS;
import com.jcraft.jsch.SftpException;
/**
* java sftp 客户端工具类
*
*/
public class SFTPUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(SFTPUtils.class);
private ChannelSftp sftp = null;
private Session sshSession = null;
private String host;
private String userName;
private String password;
private Integer port;
/**
*
* @param host
* @param userName
* @param password
* @param port
*/
public SFTPUtils(String host,String userName,String password,Integer port) {
this.host = host;
this.userName = userName;
this.password = password;
this.port = (port == null?22:port);
connect();
}
/**
*
* @param host
* @param userName
* @param password
* @param port
*/
public SFTPUtils(String host,String userName,String password,Long port) {
this.host = host;
this.userName = userName;
this.password = password;
this.port = (port == null?22:port.intValue());
connect();
}
/**
* 建立sftp连接
*/
public void connect() {
LOGGER.info("userName="+userName+",host="+host+",port="+port+" 创建sftp连接");
try {
JSch jsch = new JSch();
sshSession = jsch.getSession(userName, host, port);
LOGGER.info("ssh session created");
sshSession.setPassword(password);
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
sshSession.connect();
LOGGER.info("ssh session connected");
Channel channel = sshSession.openChannel("sftp");
channel.connect();
LOGGER.info("channel connected");
sftp = (ChannelSftp) channel;
LOGGER.info("sftp connection created");
} catch (JSchException e) {
LOGGER.error("userName="+userName+",host="+host+",port="+port+" sftp连接失败");
e.printStackTrace();
throw new RuntimeException("userName="+userName+",host="+host+",port="+port+" sftp连接失败");
}
}
/**
* 关闭sftp连接
*/
public void disConnect() {
if (this.sftp != null) {
if (this.sftp.isConnected()) {
this.sftp.disconnect();
}
}
if (this.sshSession != null) {
if (this.sshSession.isConnected()) {
this.sshSession.disconnect();
}
}
}
/**
* 上传单个文件
* @param localFileDirPath 本地文件目录路径
* @param uploadFileName 要上传的文件名
* @param remoteFileDirPath 要上传到的远程文件路径
*/
public void singleUploadFile(String localFileDirPath,String uploadFileName,String remoteFileDirPath) {
//本地文件绝对路径
String localFileAbsolutePath = localFileDirPath+uploadFileName;
String remoteFileAbsolutePath = remoteFileDirPath+"/"+uploadFileName;
LOGGER.info("上传"+localFileAbsolutePath+" 到 "+remoteFileAbsolutePath+" 开始");
createRemoteDirs(remoteFileDirPath);
try {
sftp.put(localFileAbsolutePath, remoteFileAbsolutePath,ChannelSftp.OVERWRITE);
sftp.chmod(Integer.parseInt("775",8), remoteFileAbsolutePath);
LOGGER.info("上传"+localFileAbsolutePath+" 到 "+remoteFileAbsolutePath+" 成功");
} catch (SftpException e) {
e.printStackTrace();
throw new RuntimeException("上传"+localFileAbsolutePath+"到"+remoteFileAbsolutePath+"失败");
}finally {
disConnect();
}
}
/**
* 批量上传文件
*/
public void batchUploadFile() {
}
/**
* 判断远程目录是否存在
* @param remoteFilePath 远程目录路径
* @return
*/
public boolean isRemoteDirExist(String remoteFilePath) {
try {
SftpATTRS sftpATTRS = sftp.lstat(remoteFilePath);
return sftpATTRS.isDir();
} catch (SftpException e) {
LOGGER.warn(remoteFilePath+"不存在,需要创建");
}
return false;
}
/**
* 创建远程目录
* @param remoteFilePath
* @return
*/
public boolean createRemoteDir(String remoteFilePath) {
try {
LOGGER.info("创建"+remoteFilePath);
sftp.mkdir(remoteFilePath);
return true;
} catch (SftpException e) {
e.printStackTrace();
throw new RuntimeException("创建目录:"+remoteFilePath+"失败");
}
}
/**
* 递归创建文件夹
* @param remoteFilePath
* @return
*/
public boolean createRemoteDirs(String remoteFilePath) {
if (isRemoteDirExist(remoteFilePath)){
return true;
}
int subLength = 0;
if (remoteFilePath.endsWith("/")) {
subLength = 1;
}
String dirs = remoteFilePath.substring(1, remoteFilePath.length()-subLength);
String[] dirArr = dirs.split("/");
String base = "";
for (String d : dirArr) {
base += "/" + d;
if (isRemoteDirExist(base + "/")) {
continue;
} else {
createRemoteDir(base + "/");
}
}
return true;
}
public ChannelSftp getSftp() {
return sftp;
}
public void setSftp(ChannelSftp sftp) {
this.sftp = sftp;
}
public Session getSshSession() {
return sshSession;
}
public void setSshSession(Session sshSession) {
this.sshSession = sshSession;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
}
...@@ -66,7 +66,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { ...@@ -66,7 +66,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
//登录成功,返回json //登录成功,返回json
.successHandler((request,response,authentication) -> { .successHandler((request,response,authentication) -> {
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
map.put("code",StatuConstant.CODE_SUCCESS); map.put("code",StatuConstant.SUCCESS_CODE);
map.put("message","登录成功"); map.put("message","登录成功");
map.put("data",authentication); map.put("data",authentication);
response.setContentType("application/json;charset=utf-8"); response.setContentType("application/json;charset=utf-8");
...@@ -96,7 +96,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { ...@@ -96,7 +96,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
//退出成功,返回json //退出成功,返回json
.logoutSuccessHandler((request,response,authentication) -> { .logoutSuccessHandler((request,response,authentication) -> {
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
map.put("code",StatuConstant.CODE_SUCCESS); map.put("code",StatuConstant.SUCCESS_CODE);
map.put("message","退出成功"); map.put("message","退出成功");
map.put("data",authentication); map.put("data",authentication);
response.setContentType("application/json;charset=utf-8"); response.setContentType("application/json;charset=utf-8");
......
...@@ -6,24 +6,31 @@ import lombok.NoArgsConstructor; ...@@ -6,24 +6,31 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "工作流封装", description = "工作流封装")
public class FlowPro implements Serializable { public class FlowPro implements Serializable {
/** /**
* 工作流名称 * 工作流名称
*/ */
@ApiModelProperty(value = "工作流名称")
private String flowName; private String flowName;
/** /**
* 调度周期设置 * 调度周期设置
*/ */
@ApiModelProperty(value = "调度周期设置")
private String scheduleSetting; private String scheduleSetting;
/** /**
* 失败选项 * 失败选项
*/ */
@ApiModelProperty(value = "失败选项")
private String afterFailSelect; private String afterFailSelect;
...@@ -31,41 +38,49 @@ public class FlowPro implements Serializable { ...@@ -31,41 +38,49 @@ public class FlowPro implements Serializable {
/** /**
* 流程项目id * 流程项目id
*/ */
@ApiModelProperty(value = "流程项目id")
private Long projectId; private Long projectId;
/** /**
* 流程要发布到的项目id * 流程要发布到的项目id
*/ */
@ApiModelProperty(value = "流程要发布到的项目id")
private Long publishedToProjectId; private Long publishedToProjectId;
/** /**
* dmp里生成的任务id * dmp里生成的任务id
*/ */
@ApiModelProperty(value = "dmp里生成的任务id")
private Long taskId; private Long taskId;
/** /**
* dmp里的树id * dmp里的树id
*/ */
@ApiModelProperty(value = "dmp里的树id")
private Long treeId; private Long treeId;
/** /**
* 整个流程图数据 * 整个流程图数据
*/ */
@ApiModelProperty(value = "整个流程图数据")
private String flowJson; private String flowJson;
/** /**
* 是否带版本号进行节点变更查询 * 是否带版本号进行节点变更查询
*/ */
@ApiModelProperty(value = "是否带版本号进行节点变更查询")
private boolean isCheckVerion; private boolean isCheckVerion;
/** /**
* 检查节点名称要用到的参数 * 检查节点名称要用到的参数
*/ */
@ApiModelProperty(value = "检查节点名称要用到的参数")
private String nodeName; private String nodeName;
/** /**
* *
*/ */
@ApiModelProperty(value = "是否提交")
private String isSubmit = "0"; private String isSubmit = "0";
} }
......
...@@ -8,12 +8,16 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -8,12 +8,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.jz.common.bean.BaseBeanResponse;
import com.jz.common.bean.BaseResponse;
import com.jz.common.bean.PageInfoResponse; import com.jz.common.bean.PageInfoResponse;
import com.jz.common.constant.StatuConstant; import com.jz.common.constant.StatuConstant;
import com.jz.dmp.modules.controller.bean.DmpDevelopTaskDto; import com.jz.dmp.modules.controller.bean.DmpDevelopTaskDto;
import com.jz.dmp.modules.controller.bean.DmpDevelopTaskRequest; import com.jz.dmp.modules.controller.bean.DmpDevelopTaskRequest;
import com.jz.dmp.modules.model.DmpDevelopTask;
import com.jz.dmp.modules.service.DmpDevelopTaskService; import com.jz.dmp.modules.service.DmpDevelopTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
/** /**
...@@ -24,6 +28,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -24,6 +28,7 @@ import io.swagger.annotations.ApiOperation;
*/ */
@RestController @RestController
@RequestMapping("/dmpDevelopTask") @RequestMapping("/dmpDevelopTask")
@Api(tags = "任务开发")
public class DmpDevelopTaskController { public class DmpDevelopTaskController {
/** /**
* 服务对象 * 服务对象
...@@ -49,5 +54,44 @@ public class DmpDevelopTaskController { ...@@ -49,5 +54,44 @@ public class DmpDevelopTaskController {
return pageInfo; return pageInfo;
} }
/**新增开发任务
* @param dmpDevelopTaskRequest
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/add")
@ApiOperation(value = "新增开发任务", notes = "新增开发任务")
public BaseBeanResponse<DmpDevelopTask> add(@RequestBody DmpDevelopTask dmpDevelopTask, HttpServletRequest httpRequest){
BaseBeanResponse<DmpDevelopTask> baseBeanResponse = new BaseBeanResponse<DmpDevelopTask>();
try {
baseBeanResponse = dmpDevelopTaskService.add(dmpDevelopTask, httpRequest);
} catch (Exception e) {
baseBeanResponse.setMessage("新增或修改开发任务失败");
baseBeanResponse.setCode(StatuConstant.FAILURE_CODE);
e.printStackTrace();
}
return baseBeanResponse;
}
/**任务流程保存提交
* @param dmpDevelopTaskRequest
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/flowSubmit")
@ApiOperation(value = "任务流程保存提交", notes = "任务流程保存提交")
public BaseResponse flowSubmit(@RequestBody DmpDevelopTask dmpDevelopTask, HttpServletRequest httpRequest){
BaseResponse baseResponse = new BaseResponse();
try {
baseResponse = dmpDevelopTaskService.flowSubmit(dmpDevelopTask, httpRequest);
} catch (Exception e) {
baseResponse.setMessage("任务流程保存提交失败");
baseResponse.setCode(StatuConstant.FAILURE_CODE);
e.printStackTrace();
}
return baseResponse;
}
} }
\ No newline at end of file
...@@ -76,7 +76,7 @@ public class DmpNavigationTreeController { ...@@ -76,7 +76,7 @@ public class DmpNavigationTreeController {
BaseBeanResponse<DmpNavigationTree> baseBeanResponse = new BaseBeanResponse<DmpNavigationTree>(); BaseBeanResponse<DmpNavigationTree> baseBeanResponse = new BaseBeanResponse<DmpNavigationTree>();
try { try {
DmpNavigationTree dmpNavigationTreeDb = dmpNavigationTreeService.insert(dmpNavigationTree); DmpNavigationTree dmpNavigationTreeDb = dmpNavigationTreeService.insert(dmpNavigationTree);
baseBeanResponse.setCode(StatuConstant.CODE_SUCCESS); baseBeanResponse.setCode(StatuConstant.SUCCESS_CODE);
baseBeanResponse.setMessage("新增成功"); baseBeanResponse.setMessage("新增成功");
baseBeanResponse.setData(dmpNavigationTreeDb); baseBeanResponse.setData(dmpNavigationTreeDb);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -31,9 +31,9 @@ public class DmpDevelopTaskRequest extends BasePageBean { ...@@ -31,9 +31,9 @@ public class DmpDevelopTaskRequest extends BasePageBean {
private Integer datasourceId; private Integer datasourceId;
/** /**
* 任务类型 * 任务类型(1,开发任务;2,离线任务)
*/ */
@ApiModelProperty(value = "任务类型") @ApiModelProperty(value = "任务类型(1,开发任务;2,离线任务)")
private String taskType; private String taskType;
/** /**
...@@ -197,6 +197,12 @@ public class DmpDevelopTaskRequest extends BasePageBean { ...@@ -197,6 +197,12 @@ public class DmpDevelopTaskRequest extends BasePageBean {
*/ */
@ApiModelProperty(value = "目标数据表名称") @ApiModelProperty(value = "目标数据表名称")
private String targetTableName; private String targetTableName;
/**
* 项目id
*/
@ApiModelProperty(value = "项目id")
private Integer projectId;
public Integer getId() { public Integer getId() {
return id; return id;
...@@ -445,4 +451,12 @@ public class DmpDevelopTaskRequest extends BasePageBean { ...@@ -445,4 +451,12 @@ public class DmpDevelopTaskRequest extends BasePageBean {
public void setTargetTableName(String targetTableName) { public void setTargetTableName(String targetTableName) {
this.targetTableName = targetTableName; this.targetTableName = targetTableName;
} }
public Integer getProjectId() {
return projectId;
}
public void setProjectId(Integer projectId) {
this.projectId = projectId;
}
} }
...@@ -26,15 +26,15 @@ public class DmpNavigationTreeRequest extends BasePageBean { ...@@ -26,15 +26,15 @@ public class DmpNavigationTreeRequest extends BasePageBean {
private Integer projectId; private Integer projectId;
/** /**
* 树类别 * 树类别(2:开发任务,3:脚本任务)
*/ */
@ApiModelProperty(value = "树类别") @ApiModelProperty(value = "树类别(2:开发任务,3:脚本任务)")
private String category; private String category;
/** /**
* 树类型 * 树类型(01:离线同步,02:实时同步,03:数据开发)
*/ */
@ApiModelProperty(value = "树类型") @ApiModelProperty(value = "树类型(01:离线同步,02:实时同步,03:数据开发)")
private String type; private String type;
/** /**
......
...@@ -5,6 +5,8 @@ import java.util.List; ...@@ -5,6 +5,8 @@ import java.util.List;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import com.alibaba.fastjson.JSONObject;
import com.jz.dmp.modules.controller.DataIntegration.bean.flow.FlowPro;
import com.jz.dmp.modules.model.DmpDevelopTask; import com.jz.dmp.modules.model.DmpDevelopTask;
public class MyDmpDevelopTaskConverter { public class MyDmpDevelopTaskConverter {
...@@ -37,4 +39,37 @@ public class MyDmpDevelopTaskConverter { ...@@ -37,4 +39,37 @@ public class MyDmpDevelopTaskConverter {
return dmpDevelopTaskDtos; return dmpDevelopTaskDtos;
} }
/**
* @Title: task2flowpro
* @Description: TODO(任务转工作流封装)
* @param @param dmpDevelopTask
* @param @return 参数
* @return FlowPro 返回类型
* @throws
*/
public FlowPro task2flowpro(DmpDevelopTask dmpDevelopTask) {
FlowPro flowPro = new FlowPro();
BeanUtils.copyProperties(dmpDevelopTask, flowPro);
//工作流名称
flowPro.setFlowName(dmpDevelopTask.getName());
//流程要发布到的项目id
flowPro.setPublishedToProjectId(dmpDevelopTask.getProjectId().longValue());
//dmp里生成的任务id
flowPro.setTaskId(dmpDevelopTask.getId().longValue());
//是否带版本号进行节点变更查询?
//检查节点名称要用到的参数?
String script = dmpDevelopTask.getScript();
//整个流程图数据
flowPro.setFlowJson(script);
JSONObject scriptJson = JSONObject.parseObject(script);
//调度周期设置
flowPro.setScheduleSetting(scriptJson.getString("scheduleSetting"));
//失败选项
flowPro.setAfterFailSelect(scriptJson.getString("afterFailSelect"));
return flowPro;
}
} }
package com.jz.dmp.modules.controller.bean;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.BeanUtils;
import com.jz.common.utils.web.SessionUtils;
import com.jz.dmp.modules.model.DmpDevelopTask;
import com.jz.dmp.modules.model.DmpDevelopTaskHistory;
public class MyDmpDevelopTaskHistoryConverter {
private static MyDmpDevelopTaskHistoryConverter instance;
private MyDmpDevelopTaskHistoryConverter() {};
public synchronized static MyDmpDevelopTaskHistoryConverter INSTANCE() {
if (instance==null) {
instance = new MyDmpDevelopTaskHistoryConverter();
}
return instance;
}
public DmpDevelopTaskHistoryDto domain2dto(DmpDevelopTaskHistory dmpDevelopTaskHistory) {
DmpDevelopTaskHistoryDto dmpDevelopTaskHistoryDto = new DmpDevelopTaskHistoryDto();
BeanUtils.copyProperties(dmpDevelopTaskHistory, dmpDevelopTaskHistoryDto);
return dmpDevelopTaskHistoryDto;
}
public List<DmpDevelopTaskHistoryDto> domain2dto(List<DmpDevelopTaskHistory> dmpDevelopTaskHistorys) {
List<DmpDevelopTaskHistoryDto> dmpDevelopTaskHistoryDtos = new ArrayList<DmpDevelopTaskHistoryDto>();
dmpDevelopTaskHistorys.stream().forEach(x -> {
dmpDevelopTaskHistoryDtos.add(domain2dto(x));
});
return dmpDevelopTaskHistoryDtos;
}
/**
* @Title: task2history
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param updateDevelopTask
* @param @return 参数
* @return DmpDevelopTaskHistory 返回类型
* @throws
*/
public DmpDevelopTaskHistory task2history(DmpDevelopTask dmpDevelopTask) {
DmpDevelopTaskHistory dmpDevelopTaskHistory = new DmpDevelopTaskHistory();
BeanUtils.copyProperties(dmpDevelopTask, dmpDevelopTaskHistory);
dmpDevelopTaskHistory.setTaskId(dmpDevelopTask.getId());
dmpDevelopTaskHistory.setTaskCreateUserId(dmpDevelopTask.getCreateUserId());
dmpDevelopTaskHistory.setTaskCreateTime(dmpDevelopTask.getCreateTime());
dmpDevelopTaskHistory.setTaskUpdateUserId(dmpDevelopTask.getUpdateUserId());
dmpDevelopTaskHistory.setTaskUpdateTime(dmpDevelopTask.getUpdateTime());
return dmpDevelopTaskHistory;
}
/**
* @Title: historyDto2task
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param dmpDevelopTaskHistoryDto
* @param @return 参数
* @return DmpDevelopTask 返回类型
* @throws
*/
public DmpDevelopTask historyDto2task(DmpDevelopTaskHistoryDto dmpDevelopTaskHistoryDto) {
DmpDevelopTask dmpDevelopTask = new DmpDevelopTask();
BeanUtils.copyProperties(dmpDevelopTaskHistoryDto, dmpDevelopTask);
dmpDevelopTask.setId(dmpDevelopTaskHistoryDto.getTaskId());
dmpDevelopTask.setCreateUserId(dmpDevelopTaskHistoryDto.getTaskCreateUserId());
dmpDevelopTask.setCreateTime(dmpDevelopTaskHistoryDto.getTaskCreateTime());
dmpDevelopTask.setUpdateUserId(SessionUtils.getCurrentUserId());
dmpDevelopTask.setUpdateTime(new Date());
return dmpDevelopTask;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.List;
import com.jz.dmp.modules.model.DmpComputEngine;
/**
* @author ybz
*
*/
public class DmpComputEngineBatch {
private List<DmpComputEngine> dmpComputEngines;
public List<DmpComputEngine> getDmpComputEngines() {
return dmpComputEngines;
}
public void setDmpComputEngines(List<DmpComputEngine> dmpComputEngines) {
this.dmpComputEngines = dmpComputEngines;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import com.jz.dmp.modules.model.DmpComputEngine;
import io.swagger.annotations.ApiModel;
/**计算引擎表Dto
* @author ybz
*
*/
@ApiModel(value = "计算引擎表Dto", description = "计算引擎表Dto")
public class DmpComputEngineDto extends DmpComputEngine {
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.List;
import com.jz.dmp.modules.model.DmpComputEngineParam;
/**
* @author ybz
*
*/
public class DmpComputEngineParamBatch {
private List<DmpComputEngineParam> dmpComputEngineParams;
public List<DmpComputEngineParam> getDmpComputEngineParams() {
return dmpComputEngineParams;
}
public void setDmpComputEngineParams(List<DmpComputEngineParam> dmpComputEngineParams) {
this.dmpComputEngineParams = dmpComputEngineParams;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import com.jz.dmp.modules.model.DmpComputEngineParam;
import io.swagger.annotations.ApiModel;
/**计算引擎参数表Dto
* @author ybz
*
*/
@ApiModel(value = "计算引擎参数表Dto", description = "计算引擎参数表Dto")
public class DmpComputEngineParamDto extends DmpComputEngineParam {
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.Date;
import com.jz.common.bean.BasePageBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**计算引擎参数表参数请求封装
* @author ybz
*
*/
@ApiModel(value = "计算引擎参数表参数请求封装", description = "计算引擎参数表参数请求封装")
public class DmpComputEngineParamRequest extends BasePageBean {
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private Integer paramId;
/**
* 引擎主键
*/
@ApiModelProperty(value = "引擎主键")
private Integer engineId;
/**
* 参数名称
*/
@ApiModelProperty(value = "参数名称")
private String paramName;
/**
* 类型(0:引擎公共参数,1:引擎私配置参数)
*/
@ApiModelProperty(value = "类型(0:引擎公共参数,1:引擎私配置参数)")
private String paramType;
/**
* 参数值
*/
@ApiModelProperty(value = "参数值")
private String paramValue;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 数据状态(0:删除,1,未删除)
*/
@ApiModelProperty(value = "数据状态(0:删除,1,未删除)")
private String dataStatus;
/**
* 创建用户ID
*/
@ApiModelProperty(value = "创建用户ID")
private Integer createUserId;
/**
* 创建时间起
*/
@ApiModelProperty(value = "创建时间起")
private Date createTimeStart;
/**
* 创建时间止
*/
@ApiModelProperty(value = "创建时间止")
private Date createTimeEnd;
/**
* 修改用户ID
*/
@ApiModelProperty(value = "修改用户ID")
private Integer updateUserId;
/**
* 修改时间起
*/
@ApiModelProperty(value = "修改时间起")
private Date updateTimeStart;
/**
* 修改时间止
*/
@ApiModelProperty(value = "修改时间止")
private Date updateTimeEnd;
public Integer getParamId() {
return paramId;
}
public void setParamId(Integer paramId) {
this.paramId = paramId;
}
public Integer getEngineId() {
return engineId;
}
public void setEngineId(Integer engineId) {
this.engineId = engineId;
}
public String getParamName() {
return paramName;
}
public void setParamName(String paramName) {
this.paramName = paramName;
}
public String getParamType() {
return paramType;
}
public void setParamType(String paramType) {
this.paramType = paramType;
}
public String getParamValue() {
return paramValue;
}
public void setParamValue(String paramValue) {
this.paramValue = paramValue;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getDataStatus() {
return dataStatus;
}
public void setDataStatus(String dataStatus) {
this.dataStatus = dataStatus;
}
public Integer getCreateUserId() {
return createUserId;
}
public void setCreateUserId(Integer createUserId) {
this.createUserId = createUserId;
}
public Date getCreateTimeStart() {
return createTimeStart;
}
public void setCreateTimeStart(Date createTimeStart) {
this.createTimeStart = createTimeStart;
}
public Date getCreateTimeEnd() {
return createTimeEnd;
}
public void setCreateTimeEnd(Date createTimeEnd) {
this.createTimeEnd = createTimeEnd;
}
public Integer getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(Integer updateUserId) {
this.updateUserId = updateUserId;
}
public Date getUpdateTimeStart() {
return updateTimeStart;
}
public void setUpdateTimeStart(Date updateTimeStart) {
this.updateTimeStart = updateTimeStart;
}
public Date getUpdateTimeEnd() {
return updateTimeEnd;
}
public void setUpdateTimeEnd(Date updateTimeEnd) {
this.updateTimeEnd = updateTimeEnd;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.Date;
import com.jz.common.bean.BasePageBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**计算引擎表参数请求封装
* @author ybz
*
*/
@ApiModel(value = "计算引擎表参数请求封装", description = "计算引擎表参数请求封装")
public class DmpComputEngineRequest extends BasePageBean {
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private Integer engineId;
/**
* 引擎名称
*/
@ApiModelProperty(value = "引擎名称")
private String engineName;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 数据状态(0:删除,1,未删除)
*/
@ApiModelProperty(value = "数据状态(0:删除,1,未删除)")
private String dataStatus;
/**
* 创建用户ID
*/
@ApiModelProperty(value = "创建用户ID")
private Integer createUserId;
/**
* 创建时间起
*/
@ApiModelProperty(value = "创建时间起")
private Date createTimeStart;
/**
* 创建时间止
*/
@ApiModelProperty(value = "创建时间止")
private Date createTimeEnd;
/**
* 修改用户ID
*/
@ApiModelProperty(value = "修改用户ID")
private Integer updateUserId;
/**
* 修改时间起
*/
@ApiModelProperty(value = "修改时间起")
private Date updateTimeStart;
/**
* 修改时间止
*/
@ApiModelProperty(value = "修改时间止")
private Date updateTimeEnd;
public Integer getEngineId() {
return engineId;
}
public void setEngineId(Integer engineId) {
this.engineId = engineId;
}
public String getEngineName() {
return engineName;
}
public void setEngineName(String engineName) {
this.engineName = engineName;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getDataStatus() {
return dataStatus;
}
public void setDataStatus(String dataStatus) {
this.dataStatus = dataStatus;
}
public Integer getCreateUserId() {
return createUserId;
}
public void setCreateUserId(Integer createUserId) {
this.createUserId = createUserId;
}
public Date getCreateTimeStart() {
return createTimeStart;
}
public void setCreateTimeStart(Date createTimeStart) {
this.createTimeStart = createTimeStart;
}
public Date getCreateTimeEnd() {
return createTimeEnd;
}
public void setCreateTimeEnd(Date createTimeEnd) {
this.createTimeEnd = createTimeEnd;
}
public Integer getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(Integer updateUserId) {
this.updateUserId = updateUserId;
}
public Date getUpdateTimeStart() {
return updateTimeStart;
}
public void setUpdateTimeStart(Date updateTimeStart) {
this.updateTimeStart = updateTimeStart;
}
public Date getUpdateTimeEnd() {
return updateTimeEnd;
}
public void setUpdateTimeEnd(Date updateTimeEnd) {
this.updateTimeEnd = updateTimeEnd;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.List;
import com.jz.dmp.modules.model.DmpProjectConfigEngine;
/**
* @author ybz
*
*/
public class DmpProjectConfigEngineBatch {
private List<DmpProjectConfigEngine> dmpProjectConfigEngines;
public List<DmpProjectConfigEngine> getDmpProjectConfigEngines() {
return dmpProjectConfigEngines;
}
public void setDmpProjectConfigEngines(List<DmpProjectConfigEngine> dmpProjectConfigEngines) {
this.dmpProjectConfigEngines = dmpProjectConfigEngines;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import com.jz.dmp.modules.model.DmpProjectConfigEngine;
import io.swagger.annotations.ApiModel;
/**项目配置计算引擎关系表Dto
* @author ybz
*
*/
@ApiModel(value = "项目配置计算引擎关系表Dto", description = "项目配置计算引擎关系表Dto")
public class DmpProjectConfigEngineDto extends DmpProjectConfigEngine {
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.Date;
import com.jz.common.bean.BasePageBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**项目配置计算引擎关系表参数请求封装
* @author ybz
*
*/
@ApiModel(value = "项目配置计算引擎关系表参数请求封装", description = "项目配置计算引擎关系表参数请求封装")
public class DmpProjectConfigEngineRequest extends BasePageBean {
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private Integer configEngineId;
/**
* 项目主键
*/
@ApiModelProperty(value = "项目主键")
private Integer projectId;
/**
* 引擎主键
*/
@ApiModelProperty(value = "引擎主键")
private Integer engineId;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 数据状态(0:删除,1,未删除)
*/
@ApiModelProperty(value = "数据状态(0:删除,1,未删除)")
private String dataStatus;
/**
* 创建用户ID
*/
@ApiModelProperty(value = "创建用户ID")
private Integer createUserId;
/**
* 创建时间起
*/
@ApiModelProperty(value = "创建时间起")
private Date createTimeStart;
/**
* 创建时间止
*/
@ApiModelProperty(value = "创建时间止")
private Date createTimeEnd;
/**
* 修改用户ID
*/
@ApiModelProperty(value = "修改用户ID")
private Integer updateUserId;
/**
* 修改时间起
*/
@ApiModelProperty(value = "修改时间起")
private Date updateTimeStart;
/**
* 修改时间止
*/
@ApiModelProperty(value = "修改时间止")
private Date updateTimeEnd;
public Integer getConfigEngineId() {
return configEngineId;
}
public void setConfigEngineId(Integer configEngineId) {
this.configEngineId = configEngineId;
}
public Integer getProjectId() {
return projectId;
}
public void setProjectId(Integer projectId) {
this.projectId = projectId;
}
public Integer getEngineId() {
return engineId;
}
public void setEngineId(Integer engineId) {
this.engineId = engineId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getDataStatus() {
return dataStatus;
}
public void setDataStatus(String dataStatus) {
this.dataStatus = dataStatus;
}
public Integer getCreateUserId() {
return createUserId;
}
public void setCreateUserId(Integer createUserId) {
this.createUserId = createUserId;
}
public Date getCreateTimeStart() {
return createTimeStart;
}
public void setCreateTimeStart(Date createTimeStart) {
this.createTimeStart = createTimeStart;
}
public Date getCreateTimeEnd() {
return createTimeEnd;
}
public void setCreateTimeEnd(Date createTimeEnd) {
this.createTimeEnd = createTimeEnd;
}
public Integer getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(Integer updateUserId) {
this.updateUserId = updateUserId;
}
public Date getUpdateTimeStart() {
return updateTimeStart;
}
public void setUpdateTimeStart(Date updateTimeStart) {
this.updateTimeStart = updateTimeStart;
}
public Date getUpdateTimeEnd() {
return updateTimeEnd;
}
public void setUpdateTimeEnd(Date updateTimeEnd) {
this.updateTimeEnd = updateTimeEnd;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.List;
import com.jz.dmp.modules.model.DmpProjectConfigInfo;
/**
* @author ybz
*
*/
public class DmpProjectConfigInfoBatch {
private List<DmpProjectConfigInfo> dmpProjectConfigInfos;
public List<DmpProjectConfigInfo> getDmpProjectConfigInfos() {
return dmpProjectConfigInfos;
}
public void setDmpProjectConfigInfos(List<DmpProjectConfigInfo> dmpProjectConfigInfos) {
this.dmpProjectConfigInfos = dmpProjectConfigInfos;
}
}
package com.jz.dmp.modules.controller.projconfig.bean;
import com.jz.dmp.modules.model.DmpProjectConfigInfo;
import io.swagger.annotations.ApiModel;
/**项目配置表Dto
* @author ybz
*
*/
@ApiModel(value = "项目配置表Dto", description = "项目配置表Dto")
public class DmpProjectConfigInfoDto extends DmpProjectConfigInfo {
}
package com.jz.dmp.modules.controller.projconfig.bean;
import java.util.Date;
import com.jz.common.bean.BasePageBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**项目配置表参数请求封装
* @author ybz
*
*/
@ApiModel(value = "项目配置表参数请求封装", description = "项目配置表参数请求封装")
public class DmpProjectConfigInfoRequest extends BasePageBean {
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private Integer projectConfigId;
/**
* 项目主键
*/
@ApiModelProperty(value = "项目主键")
private Integer projectId;
/**