Commit 8fbf4e8e by wqc

新增组件

parent 19ea9fac
......@@ -119,7 +119,12 @@ public class CommonQueryController {
AssertUtils.notNull(id, "缺失ID");
Object tableName = body.get("tableName");
AssertUtils.notNull(tableName, "缺失表名");
return ResultVo.success(TableUtil.getColumns(Convert.toLong(id), Convert.toStr(tableName)));
}
@ApiOperation("查询表内容")
@PostMapping("/selectTable")
public ResultVo selectTable(@RequestBody Map<String, Object> body) throws Exception {
return ResultVo.success(commonQueryService.selectTable(body));
}
}
......@@ -169,4 +169,12 @@ public class CommonQueryService extends ServiceImpl<CommonQuerySettingDao, Commo
}
return results;
}
public Object selectTable(Map<String, Object> body) throws Exception {
JSONObject jsonObject = JSONUtil.parseObj(body);
Long id = Long.valueOf(jsonObject.get("id").toString());
String tableName = jsonObject.get("tableName").toString();
String sql="SELECT * FROM "+tableName;
return commonQuery(sql,id);
}
}
......@@ -23,7 +23,7 @@ public class IdentityExecutor implements ShapeExecutor {
public Shape shape() {
Shape shape = new Shape();
//web界面上显示的图标
shape.setImage("");
shape.setImage("data:image/png;base64,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");
//拖放至容器里时默认的节点名称
shape.setLabel("身份证清洗");
//模板文件名
......@@ -51,8 +51,12 @@ public class IdentityExecutor implements ShapeExecutor {
}else if(IdentityUtils.is18BitLegalIdCard(metaData)!=true){
logger.warn("身份证不满18位!");
}else {
try{
// ExceptionUtils.wrapAndThrow(e);
}catch (Exception e){
logger.error("获取出错,异常信息:{}", e.getMessage(), e);
ExceptionUtils.wrapAndThrow(e);
}
}
}
}
package com.zq.spiderflow.core.executor.shape;
import com.zq.spiderflow.context.SpiderContext;
import com.zq.spiderflow.executor.ShapeExecutor;
import com.zq.spiderflow.model.Shape;
import com.zq.spiderflow.model.SpiderNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author Administrator
*/
@Component
public class MappingValueExecutor implements ShapeExecutor {
public static final String DATASOURCE_ID = "datasourceId";
public static final String META_DATA = "metaData";
public static final String TABLE_NAME = "tableName";
private static final Logger logger = LoggerFactory.getLogger(ExecuteSQLExecutor.class);
@Override
public Shape shape() {
Shape shape = new Shape();
//web界面上显示的图标
shape.setImage("data:image/png;base64,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");
//拖放至容器里时默认的节点名称
shape.setLabel("映射值");
//模板文件名
shape.setName("MappingValue");
//鼠标移动至图标上显示的名称
shape.setTitle("映射值");
return shape;
}
@Override
public String supportShape() {
return "MappingValue";
}
@Override
public void execute(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
}
@Override
public boolean allowExecuteNext(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
return false;
}
@Override
public boolean isThread() {
return false;
}
}
package com.zq.spiderflow.core.executor.shape;
import com.zq.spiderflow.context.SpiderContext;
import com.zq.spiderflow.core.utils.ConnectionUtil;
import com.zq.spiderflow.executor.ShapeExecutor;
import com.zq.spiderflow.model.Shape;
import com.zq.spiderflow.model.SpiderNode;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
import java.sql.Connection;
import java.util.Map;
/**
* @author Administrator
*/
@Component
public class ReplaceStringExecutor implements ShapeExecutor {
public static final String DATASOURCE_ID = "datasourceId";
public static final String META_DATA = "metaData";
public static final String TABLE_NAME = "tableName";
private static final Logger logger = LoggerFactory.getLogger(ExecuteSQLExecutor.class);
@Override
public Shape shape() {
Shape shape = new Shape();
//web界面上显示的图标
shape.setImage("data:image/png;base64,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");
//拖放至容器里时默认的节点名称
shape.setLabel("字符串替换");
//模板文件名
shape.setName("ReplaceString");
//鼠标移动至图标上显示的名称
shape.setTitle("字符串替换");
return shape;
}
@Override
public String supportShape() {
return "ReplaceString";
}
@Override
public void execute(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
}
@Override
public boolean allowExecuteNext(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
return false;
}
@Override
public boolean isThread() {
return false;
}
}
package com.zq.spiderflow.core.executor.shape;
import com.zq.spiderflow.context.SpiderContext;
import com.zq.spiderflow.executor.ShapeExecutor;
import com.zq.spiderflow.model.Shape;
import com.zq.spiderflow.model.SpiderNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author Administrator
*/
@Component
public class SortRecordExecutor implements ShapeExecutor {
public static final String DATASOURCE_ID = "datasourceId";
public static final String META_DATA = "metaData";
public static final String TABLE_NAME = "tableName";
private static final Logger logger = LoggerFactory.getLogger(ExecuteSQLExecutor.class);
@Override
public Shape shape() {
Shape shape = new Shape();
//web界面上显示的图标
shape.setImage("data:image/png;base64,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");
//拖放至容器里时默认的节点名称
shape.setLabel("SortRecord");
//模板文件名
shape.setName("SortRecord");
//鼠标移动至图标上显示的名称
shape.setTitle("排序记录");
return shape;
}
@Override
public String supportShape() {
return "SortRecord";
}
@Override
public void execute(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
}
@Override
public boolean allowExecuteNext(SpiderNode node, SpiderContext context, Map<String, Object> variables) {
return false;
}
@Override
public boolean isThread() {
return false;
}
}
package com.zq.spiderflow.core.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zq.common.utils.PagingUtils;
import com.zq.common.vo.PageVo;
import com.zq.common.vo.ResultVo;
import com.zq.spiderflow.core.mapper.FlowNoticeMapper;
......@@ -116,18 +118,17 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
.build();
spiderFlow.setNextExecuteTime(trigger.getStartTime());
}
SpiderFlow byId = sfMapper.selectById(spiderFlow.getId());
String id = UUID.randomUUID().toString().replace("-", "");
SpiderFlow build = SpiderFlow.builder().id(id).cron(spiderFlow.getCron()).xml(spiderFlow.getXml()).name(spiderFlow.getName()).createDate(DateUtil.now()).build();
if(byId!=null){
sfMapper.updateById(build);
if(StringUtils.isNotEmpty(spiderFlow.getId())){ //update 任务
sfMapper.updateSpiderFlow(spiderFlow.getId(), spiderFlow.getName(), spiderFlow.getXml());
spiderJobManager.remove(spiderFlow.getId());
spiderFlow = getById(spiderFlow.getId());
if("1".equals(spiderFlow.getEnabled()) && StringUtils.isNotEmpty(spiderFlow.getCron())){
spiderJobManager.addJob(spiderFlow);
}
}else{
sfMapper.insert(build);
}else{//insert 任务
String id = UUID.randomUUID().toString().replace("-", "");
sfMapper.insertSpiderFlow(id, spiderFlow.getName(), spiderFlow.getXml());
spiderFlow.setId(id);
}
File file = new File(workspace,spiderFlow.getId() + File.separator + "xmls" + File.separator + System.currentTimeMillis() + ".xml");
try {
......@@ -138,6 +139,28 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
return ResultVo.success();
}
// SpiderFlow byId = sfMapper.selectById(spiderFlow.getId());
// String id = UUID.randomUUID().toString().replace("-", "");
// SpiderFlow build = SpiderFlow.builder().id(id).cron(spiderFlow.getCron()).xml(spiderFlow.getXml()).name(spiderFlow.getName()).createDate(DateUtil.now()).build();
// if(byId!=null){
// sfMapper.updateById(build);
// spiderJobManager.remove(spiderFlow.getId());
// spiderFlow = getById(spiderFlow.getId());
// if("1".equals(spiderFlow.getEnabled()) && StringUtils.isNotEmpty(spiderFlow.getCron())){
// spiderJobManager.addJob(spiderFlow);
// }
// }else{
// sfMapper.insert(build);
// }
// File file = new File(workspace,spiderFlow.getId() + File.separator + "xmls" + File.separator + System.currentTimeMillis() + ".xml");
// try {
// FileUtils.write(file,spiderFlow.getXml(),"UTF-8");
// } catch (IOException e) {
// logger.error("保存历史记录出错",e);
// }
// return ResultVo.success();
// }
public void stop(String id){
sfMapper.resetSpiderStatus(id,"0");
sfMapper.resetNextExecuteTime(id);
......@@ -232,21 +255,8 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
return sfMapper.getFlowMaxTaskId(flowId);
}
public PageVo<SpiderFlowVo> getPageList(SpiderFlowVo vo) {
List<SpiderFlowVo> pageList = sfMapper.getPageList(vo);
int start=0;
PageVo<SpiderFlowVo> pageVo = new PageVo<>();
if (vo.getPage() - 1 == 0) {
pageVo.setStart(0);
start = 0;
} else {
pageVo.setStart((vo.getPage() - 1) * vo.getSize());
start = (vo.getPage() - 1) * vo.getSize();
}
pageVo.setPage(vo.getPage());
pageVo.setSize(vo.getSize());
pageVo.setRows(pageList);
pageVo.setTotal(pageList.size());
return pageVo;
public PageVo<SpiderFlow> getPageList(SpiderFlowVo vo) {
LambdaQueryWrapper<SpiderFlow> queryWrapper = new LambdaQueryWrapper<>();
return PagingUtils.paging(vo,sfMapper,queryWrapper,SpiderFlow.class);
}
}
......@@ -99,7 +99,7 @@ public class SpiderFlowController {
* @return Page<SpiderFlow> 所有爬虫的列表页
*/
@PostMapping("/list")
public PageVo<SpiderFlowVo> list(@RequestBody SpiderFlowVo vo) {
public PageVo<SpiderFlow> list(@RequestBody SpiderFlowVo vo) {
return spiderFlowService.getPageList(vo);
}
......
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