Commit c3f0922c by wqc

爬虫模块调整

parent d746c1ca
......@@ -5,9 +5,11 @@ import com.zq.common.exception.BusinessException;
import com.zq.model.entity.ModelInfo;
import com.zq.model.mapper.ModelInfoMapper;
import com.zq.model.service.ModelInfoService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ModelInfoServiceImpl extends ServiceImpl<ModelInfoMapper, ModelInfo> implements ModelInfoService {
@Override
......@@ -40,4 +42,4 @@ public class ModelInfoServiceImpl extends ServiceImpl<ModelInfoMapper, ModelInfo
throw new BusinessException("删除失败");
}
}
}
\ No newline at end of file
}
......@@ -2,6 +2,7 @@ package com.zq.spiderflow.common;
import com.zq.spiderflow.model.JsonBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -16,10 +17,10 @@ public abstract class CURDController<S extends ServiceImpl<M, T>,M extends BaseM
@Autowired
private S service;
@RequestMapping("/list")
public IPage<T> list(@RequestParam(name = "page",defaultValue = "1")Integer page, @RequestParam(name = "limit",defaultValue = "1")Integer size){
return service.page(new Page<T>(page, size), new QueryWrapper<T>().orderByDesc("create_date"));
}
// @RequestMapping("/list")
// public IPage<T> list(@RequestParam(name = "page",defaultValue = "1")Integer page, @RequestParam(name = "limit",defaultValue = "1")Integer size){
// return service.page(new Page<T>(page, size), new QueryWrapper<T>().orderByDesc("create_date"));
// }
@RequestMapping("get")
public JsonBean<T> get(String id) {
......
......@@ -23,7 +23,13 @@
<artifactId>dom4j</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<dependency>
<groupId>com.zq</groupId>
<artifactId>common-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
......
......@@ -3,9 +3,17 @@ package com.zq.spiderflow.core.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_datasource")
public class DataSource {
......@@ -24,68 +32,5 @@ public class DataSource {
private Date createDate;
public DataSource() {
}
public DataSource(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public String getJdbcUrl() {
return jdbcUrl;
}
public void setJdbcUrl(String jdbcUrl) {
this.jdbcUrl = jdbcUrl;
}
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 Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
......@@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 爬虫任务通知实体
......@@ -13,6 +17,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author BillDowney
* @date 2020年4月3日 下午2:57:46
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_flow_notice")
public class FlowNotice {
......
......@@ -3,9 +3,17 @@ package com.zq.spiderflow.core.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_function")
public class Function {
......@@ -20,43 +28,4 @@ public class Function {
private Date createDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
public String getScript() {
return script;
}
public void setScript(String script) {
this.script = script;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
......@@ -4,12 +4,21 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 爬虫持久化实体类
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_flow")
public class SpiderFlow {
......@@ -45,91 +54,4 @@ public class SpiderFlow {
private Integer running;
public SpiderFlow() {
}
public SpiderFlow(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getXml() {
return xml;
}
public void setXml(String xml) {
this.xml = xml;
}
public String getCron() {
return cron;
}
public void setCron(String cron) {
this.cron = cron;
}
public String getEnabled() {
return enabled;
}
public void setEnabled(String enabled) {
this.enabled = enabled;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getLastExecuteTime() {
return lastExecuteTime;
}
public void setLastExecuteTime(Date lastExecuteTime) {
this.lastExecuteTime = lastExecuteTime;
}
public Date getNextExecuteTime() {
return nextExecuteTime;
}
public void setNextExecuteTime(Date nextExecuteTime) {
this.nextExecuteTime = nextExecuteTime;
}
public Integer getExecuteCount() {
return executeCount;
}
public void setExecuteCount(Integer executeCount) {
this.executeCount = executeCount;
}
public Integer getRunning() {
return running;
}
public void setRunning(Integer running) {
this.running = running;
}
}
......@@ -3,9 +3,17 @@ package com.zq.spiderflow.core.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_task")
public class Task {
......@@ -18,35 +26,4 @@ public class Task {
private Date endTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFlowId() {
return flowId;
}
public void setFlowId(String flowId) {
this.flowId = flowId;
}
public Date getBeginTime() {
return beginTime;
}
public void setBeginTime(Date beginTime) {
this.beginTime = beginTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
}
......@@ -3,9 +3,17 @@ package com.zq.spiderflow.core.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sp_variable")
public class Variable {
......@@ -20,43 +28,5 @@ public class Variable {
private Date createDate;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
......@@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zq.spiderflow.core.mapper.FlowNoticeMapper;
import com.zq.spiderflow.core.mapper.SpiderFlowMapper;
import com.zq.spiderflow.core.vo.ResultVo;
import com.zq.spiderflow.core.vo.SpiderFlowVo;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.util.DateUtil;
import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.TriggerBuilder;
......@@ -84,24 +87,26 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
/**
* 重置定时任务
* @param id 爬虫的ID
* @param cron 定时器
*/
public void resetCornExpression(String id, String cron){
public ResultVo resetCornExpression(SpiderFlowVo vo){
CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity("Caclulate Next Execute Date")
.withSchedule(CronScheduleBuilder.cronSchedule(cron))
.withSchedule(CronScheduleBuilder.cronSchedule(vo.getCron()))
.build();
sfMapper.resetCornExpression(id, cron, trigger.getFireTimeAfter(null));
spiderJobManager.remove(id);
SpiderFlow spiderFlow = getById(id);
if("1".equals(spiderFlow.getEnabled()) && StringUtils.isNotEmpty(spiderFlow.getCron())){
spiderJobManager.addJob(spiderFlow);
if (trigger!=null){
sfMapper.resetCornExpression(vo.getId(), vo.getCron(), trigger.getFireTimeAfter(null));
spiderJobManager.remove(vo.getId());
SpiderFlow spiderFlow = getById(vo.getId());
if("1".equals(spiderFlow.getEnabled()) && StringUtils.isNotEmpty(spiderFlow.getCron())){
spiderJobManager.addJob(spiderFlow);
}
}else{
return ResultVo.fail("修改失败");
}
return ResultVo.success();
}
@Override
public boolean save(SpiderFlow spiderFlow){
public ResultVo saveTem(SpiderFlow spiderFlow){
//解析corn,获取并设置任务的开始时间
if(StringUtils.isNotEmpty(spiderFlow.getCron())){
CronTrigger trigger = TriggerBuilder.newTrigger()
......@@ -110,17 +115,18 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
.build();
spiderFlow.setNextExecuteTime(trigger.getStartTime());
}
if(StringUtils.isNotEmpty(spiderFlow.getId())){ //update 任务
sfMapper.updateSpiderFlow(spiderFlow.getId(), spiderFlow.getName(), spiderFlow.getXml());
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{//insert 任务
String id = UUID.randomUUID().toString().replace("-", "");
sfMapper.insertSpiderFlow(id, spiderFlow.getName(), spiderFlow.getXml());
spiderFlow.setId(id);
}else{
sfMapper.insert(build);
}
File file = new File(workspace,spiderFlow.getId() + File.separator + "xmls" + File.separator + System.currentTimeMillis() + ".xml");
try {
......@@ -128,7 +134,7 @@ public class SpiderFlowService extends ServiceImpl<SpiderFlowMapper, SpiderFlow>
} catch (IOException e) {
logger.error("保存历史记录出错",e);
}
return true;
return ResultVo.success();
}
public void stop(String id){
......
package com.zq.spiderflow.core.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataSourceVo extends PageReqVo {
@TableId(type = IdType.UUID)
private String id;
private String name;
private String driverClassName;
private String jdbcUrl;
private String username;
private String password;
private Date createDate;
}
package com.zq.spiderflow.core.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FunctionVo extends PageReqVo {
@TableId(type = IdType.UUID)
private String id;
private String name;
private String parameter;
private String script;
private Date createDate;
}
package com.zq.spiderflow.core.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 爬虫持久化实体类
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SpiderFlowVo extends PageReqVo{
@TableId(type = IdType.UUID)
private String id;
/**
* 定时任务表达式
*/
private String cron;
private String name;
/**
* xml流程图
*/
private String xml;
private String enabled;
private Date createDate;
private Date lastExecuteTime;
private Date nextExecuteTime;
/**
* 定时执行的执行次数
*/
private Integer executeCount;
@TableField(exist = false)
private Integer running;
}
package com.zq.spiderflow.core.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskVo extends PageReqVo {
@TableId(type = IdType.AUTO)
private Integer id;
private String flowId;
private Date beginTime;
private Date endTime;
}
package com.zq.spiderflow.core.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zq.common.vo.PageReqVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VariableVo extends PageReqVo {
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private String value;
private String description;
private Date createDate;
}
......@@ -18,7 +18,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
public class Swagger {
@Value("${spring.cloud.config.profile:product}")
@Value("${spring.cloud.config.profile:prod}")
private String profile;
@Bean
......
......@@ -6,10 +6,12 @@ import java.util.List;
import com.zq.spiderflow.core.service.DataSourceService;
import com.zq.spiderflow.core.utils.DataSourceUtils;
import com.zq.spiderflow.core.vo.DataSourceVo;
import org.apache.commons.lang3.StringUtils;
import com.zq.spiderflow.core.model.DataSource;
import com.zq.spiderflow.model.JsonBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -26,8 +28,8 @@ public class DataSourceController {
private DataSourceService dataSourceService;
@RequestMapping("/list")
public IPage<DataSource> list(@RequestParam(name = "page",defaultValue = "1")Integer page, @RequestParam(name = "limit",defaultValue = "1")Integer size) {
return dataSourceService.page(new Page<DataSource>(page, size), new QueryWrapper<DataSource>().select("id", "name", "driver_class_name", "create_date").orderByDesc("create_date"));
public IPage<DataSource> list(@RequestBody DataSourceVo vo) {
return dataSourceService.page(new Page<DataSource>(vo.getPage(), vo.getSize()), new QueryWrapper<DataSource>().select("id", "name", "driver_class_name", "create_date").orderByDesc("create_date"));
}
@RequestMapping("/all")
......
......@@ -4,9 +4,11 @@ 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.zq.spiderflow.core.service.FunctionService;
import com.zq.spiderflow.core.vo.FunctionVo;
import org.apache.commons.lang3.StringUtils;
import com.zq.spiderflow.core.model.Function;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -19,13 +21,13 @@ public class FunctionController {
private FunctionService functionService;
@RequestMapping("/list")
public IPage<Function> list(@RequestParam(name = "page",defaultValue = "1")Integer page, @RequestParam(name = "limit",defaultValue = "1")Integer size,String name) {
public IPage<Function> list(@RequestBody FunctionVo vo) {
QueryWrapper<Function> select = new QueryWrapper<Function>().select("id", "name", "parameter", "create_date");
if(StringUtils.isNotBlank(name)){
select.like("name",name);
if(StringUtils.isNotBlank(vo.getName())){
select.like("name",vo.getName());
}
select.orderByDesc("create_date");
return functionService.page(new Page<Function>(page, size), select);
return functionService.page(new Page<Function>(vo.getPage(), vo.getSize()), select);
}
@RequestMapping("/save")
......
package com.zq.spiderflow.controller;
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.zq.spiderflow.core.service.SpiderFlowService;
import com.zq.spiderflow.core.utils.ExecutorsUtils;
import com.zq.spiderflow.core.vo.SpiderFlowVo;
import com.zq.spiderflow.vo.ResultVo;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
......@@ -25,10 +29,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.PostConstruct;
import java.io.File;
......@@ -96,19 +97,16 @@ public class SpiderFlowController {
/**
* 爬虫列表
* @param page 页数
* @param size 每页显示条数
* @return Page<SpiderFlow> 所有爬虫的列表页
*/
@RequestMapping("/list")
public IPage<SpiderFlow> list(@RequestParam(name = "page", defaultValue = "1") Integer page, @RequestParam(name = "limit", defaultValue = "1") Integer size, @RequestParam(name = "name", defaultValue = "") String name) {
return spiderFlowService.selectSpiderPage(new Page<>(page, size), name);
public IPage<SpiderFlow> list(@RequestBody SpiderFlowVo vo) {
return spiderFlowService.page(new Page<SpiderFlow>(vo.getPage(),vo.getSize()),new LambdaQueryWrapper<SpiderFlow>().like(SpiderFlow ::getName,vo.getName()));
}
@RequestMapping("/save")
public String save(SpiderFlow spiderFlow){
spiderFlowService.save(spiderFlow);
return spiderFlow.getId();
public ResultVo save(@RequestBody SpiderFlow spiderFlow){
return ResultVo.success(spiderFlowService.saveTem(spiderFlow));
}
@RequestMapping("/history")
......@@ -148,14 +146,14 @@ public class SpiderFlowController {
spiderFlowService.stop(id);
}
@RequestMapping("/run")
public void run(String id){
@RequestMapping("/run/{id}")
public void run(@PathVariable("id") String id){
spiderFlowService.run(id);
}
@RequestMapping("/cron")
public void cron(String id,String cron){
spiderFlowService.resetCornExpression(id, cron);
public ResultVo cron(@RequestBody SpiderFlowVo vo){
return ResultVo.success(spiderFlowService.resetCornExpression(vo));
}
@RequestMapping("/xml")
......
......@@ -7,8 +7,10 @@ import com.zq.spiderflow.core.service.TaskService;
import com.zq.spiderflow.context.SpiderContext;
import com.zq.spiderflow.core.job.SpiderJob;
import com.zq.spiderflow.core.model.Task;
import com.zq.spiderflow.core.vo.TaskVo;
import com.zq.spiderflow.model.JsonBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -21,8 +23,8 @@ public class TaskController {
private TaskService taskService;
@RequestMapping("/list")
public IPage<Task> list(@RequestParam(name = "page", defaultValue = "1") Integer page, @RequestParam(name = "limit", defaultValue = "1") Integer size,String flowId){
return taskService.page(new Page<>(page,size),new QueryWrapper<Task>().eq("flow_id",flowId).last("order by isnull(end_time) desc,end_time desc"));
public IPage<Task> list(@RequestBody TaskVo vo){
return taskService.page(new Page<>(vo.getPage(),vo.getSize()),new QueryWrapper<Task>().eq("flow_id",vo.getFlowId()).last("order by isnull(end_time) desc,end_time desc"));
}
/**
......
package com.zq.spiderflow.controller;
import com.zq.spiderflow.core.mapper.VariableMapper;
import com.zq.spiderflow.core.service.VariableService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.spiderflow.common.CURDController;
import com.zq.spiderflow.core.mapper.VariableMapper;
import com.zq.spiderflow.core.model.Variable;
import com.zq.spiderflow.core.service.VariableService;
import com.zq.spiderflow.core.vo.VariableVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/spiderflow/variable")
public class VariableController extends CURDController<VariableService, VariableMapper, Variable> {
@Autowired
private VariableService variableService;
@RequestMapping("/list")
public IPage<Variable> list(@RequestBody VariableVo vo) {
LambdaQueryWrapper<Variable> eq = new LambdaQueryWrapper<>();
return variableService.page(new Page<Variable>(vo.getPage(),vo.getSize()),eq);
}
}
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