13 changed files with 189 additions and 54 deletions
Split 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