13 changed files with 189 additions and 54 deletions
Unified View
Diff Options
-
8pom.xml
-
2src/main/java/com/qniao/zsh/ZtbSpiderHandleApplication.java
-
41src/main/java/com/qniao/zsh/api/command/controlspider/admin/SpiderStateAdminCommandController.java
-
1src/main/java/com/qniao/zsh/api/command/controlspider/admin/request/SpiderCreateDto.java
-
27src/main/java/com/qniao/zsh/api/command/controlspider/admin/request/SpiderStopDto.java
-
49src/main/java/com/qniao/zsh/api/validator/SpiderStopped.java
-
14src/main/java/com/qniao/zsh/application/service/createspider/CreateSpiderApplicationService.java
-
14src/main/java/com/qniao/zsh/application/service/startspider/SpiderStateApplicationService.java
-
3src/main/java/com/qniao/zsh/domain/aggregate/spiderstate/constant/SpiderStateEnum.java
-
21src/main/java/com/qniao/zsh/infrastructure/config/MybatisPlusPageConfig.java
-
8src/main/java/com/qniao/zsh/query/spider/SpiderQueryService.java
-
34src/main/java/com/qniao/zsh/query/spider/impl/SpiderQueryServiceImpl.java
-
21src/main/java/com/qniao/zsh/query/spider/queryparams/SpiderByQueryParam.java
@ -0,0 +1,27 @@ |
|||||
|
package com.qniao.zsh.api.command.controlspider.admin.request; |
||||
|
|
||||
|
import com.qniao.zsh.api.validator.SpiderStopped; |
||||
|
import com.qniao.zsh.domain.aggregate.spiderstate.entity.SpiderState; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
import org.mc.ddd.domain.Assembler; |
||||
|
import org.mc.ddd.infrastructure.util.ObjectConverter; |
||||
|
|
||||
|
/** |
||||
|
* @author wh |
||||
|
* @date 2023/3/27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class SpiderStopDto implements Assembler<SpiderState> { |
||||
|
@SpiderStopped |
||||
|
@ApiModelProperty("爬虫ID") |
||||
|
private Long id; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public SpiderState transform() { |
||||
|
SpiderState spiderState = ObjectConverter.convert(this, SpiderState.class); |
||||
|
spiderState.setId(id); |
||||
|
return spiderState; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,49 @@ |
|||||
|
package com.qniao.zsh.api.validator; |
||||
|
|
||||
|
import cn.hutool.core.util.ObjectUtil; |
||||
|
import com.qniao.zsh.domain.aggregate.spiderstate.constant.SpiderStateEnum; |
||||
|
import com.qniao.zsh.domain.aggregate.spiderstate.entity.SpiderState; |
||||
|
import com.qniao.zsh.infrastructure.dao.SpiderStateDao; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import javax.validation.Constraint; |
||||
|
import javax.validation.ConstraintValidator; |
||||
|
import javax.validation.ConstraintValidatorContext; |
||||
|
import javax.validation.Payload; |
||||
|
import java.lang.annotation.Documented; |
||||
|
import java.lang.annotation.Retention; |
||||
|
import java.lang.annotation.RetentionPolicy; |
||||
|
import java.lang.annotation.Target; |
||||
|
|
||||
|
import static java.lang.annotation.ElementType.FIELD; |
||||
|
import static java.lang.annotation.ElementType.PARAMETER; |
||||
|
|
||||
|
/** |
||||
|
* @author wh |
||||
|
* @date 2023/3/27 |
||||
|
*/ |
||||
|
@Documented |
||||
|
@Retention(RetentionPolicy.RUNTIME) |
||||
|
@Target({FIELD, PARAMETER}) |
||||
|
@Constraint(validatedBy = {SpiderStoppedValidator.class}) |
||||
|
public @interface SpiderStopped { |
||||
|
String message() default "爬虫已经停止"; |
||||
|
|
||||
|
Class<?>[] groups() default {}; |
||||
|
|
||||
|
Class<? extends Payload>[] payload() default {}; |
||||
|
} |
||||
|
|
||||
|
class SpiderStoppedValidator implements ConstraintValidator<SpiderStopped, Long> { |
||||
|
@Resource |
||||
|
private SpiderStateDao spiderStateDao; |
||||
|
|
||||
|
@Override |
||||
|
public boolean isValid(Long id, ConstraintValidatorContext context) { |
||||
|
SpiderState spiderState = spiderStateDao.selectById(id); |
||||
|
boolean test = spiderState.getStatus() == SpiderStateEnum.FAIL; |
||||
|
// return spiderState.getStatus() == SpiderStateEnum.FAIL; |
||||
|
return spiderState.getStatus() != SpiderStateEnum.NOT_STARTED; |
||||
|
|
||||
|
} |
||||
|
} |
||||
@ -1,21 +0,0 @@ |
|||||
package com.qniao.zsh.infrastructure.config; |
|
||||
|
|
||||
import com.baomidou.mybatisplus.annotation.DbType; |
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; |
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; |
|
||||
import org.springframework.context.annotation.Bean; |
|
||||
import org.springframework.context.annotation.Configuration; |
|
||||
|
|
||||
/** |
|
||||
* @author wh |
|
||||
* @date 2023/3/22 |
|
||||
*/ |
|
||||
@Configuration |
|
||||
public class MybatisPlusPageConfig { |
|
||||
@Bean |
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor(){ |
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); |
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); |
|
||||
return interceptor; |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,21 @@ |
|||||
|
package com.qniao.zsh.query.spider.queryparams; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.time.LocalDateTime; |
||||
|
|
||||
|
/** |
||||
|
* @author wh |
||||
|
* @date 2023/3.27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class SpiderByQueryParam{ |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
|
private LocalDateTime createTimeBegin; |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
|
private LocalDateTime createTimeEnd; |
||||
|
private Integer minDuration; |
||||
|
private Integer maxDuration; |
||||
|
|
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save