parent
17f90ce524
commit
cdba2e4a76
@ -0,0 +1,13 @@ |
||||
/* |
||||
* Class created by lensfrex. |
||||
*/ |
||||
|
||||
package net.lensfrex.dscape; |
||||
|
||||
import org.mybatis.spring.annotation.MapperScan; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
||||
@SpringBootApplication |
||||
@MapperScan("net.lensfrex.dscape.dao.mapper") |
||||
public class ComputeMain { |
||||
} |
@ -0,0 +1,10 @@ |
||||
package net.lensfrex.dscape.dto.request.compute; |
||||
|
||||
import lombok.Data; |
||||
|
||||
@Data |
||||
public class ComputeRequestBody{ |
||||
private int pid; |
||||
private int cpg; |
||||
private int ctdna; |
||||
} |
@ -0,0 +1,10 @@ |
||||
package net.lensfrex.dscape.dto.response.data.compute; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
|
||||
@Data |
||||
@AllArgsConstructor |
||||
public class ComputeResponseData{ |
||||
private Long id; |
||||
} |
@ -0,0 +1,24 @@ |
||||
/* |
||||
* Class created by lensfrex. |
||||
*/ |
||||
|
||||
package net.lensfrex.dscape.enums.compute; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue; |
||||
import lombok.Data; |
||||
import lombok.Getter; |
||||
|
||||
@Getter |
||||
public enum ComputeStatusEnum { |
||||
FINISHED(0, "完成"), |
||||
PROCESSING(1, "处理中"); |
||||
|
||||
@EnumValue |
||||
private final int code; |
||||
private final String name; |
||||
|
||||
ComputeStatusEnum(int code, String name) { |
||||
this.code = code; |
||||
this.name = name; |
||||
} |
||||
} |
@ -1,24 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- |
||||
~ Class created by lensfrex. |
||||
--> |
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<parent> |
||||
<artifactId>dscape-web</artifactId> |
||||
<groupId>net.lensfrex</groupId> |
||||
<version>0.0.1-dev</version> |
||||
</parent> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<artifactId>message-queue</artifactId> |
||||
|
||||
<properties> |
||||
<maven.compiler.source>11</maven.compiler.source> |
||||
<maven.compiler.target>11</maven.compiler.target> |
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
||||
</properties> |
||||
|
||||
</project> |
@ -0,0 +1,64 @@ |
||||
/* |
||||
* Class created by lensfrex. |
||||
*/ |
||||
|
||||
package net.lensfrex.dscape.web.service.compute; |
||||
|
||||
import cn.dev33.satoken.stp.StpUtil; |
||||
import com.github.yitter.idgen.YitIdHelper; |
||||
import net.lensfrex.dscape.configure.RabbitConfigure; |
||||
import net.lensfrex.dscape.dao.entity.ComputeHistory; |
||||
import net.lensfrex.dscape.dao.entity.PatientData; |
||||
import net.lensfrex.dscape.dao.service.ComputeHistoryService; |
||||
import net.lensfrex.dscape.dao.service.PatientDataService; |
||||
import net.lensfrex.dscape.dto.request.compute.ComputeRequestBody; |
||||
import net.lensfrex.dscape.enums.compute.ComputeStatusEnum; |
||||
import net.lensfrex.dscape.mq.MessageQueueProducer; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
@Service |
||||
public class ComputeService { |
||||
private final PatientDataService patientDataService; |
||||
|
||||
private final ComputeHistoryService computeHistoryService; |
||||
|
||||
private final MessageQueueProducer messageQueueProducer; |
||||
|
||||
public ComputeService(PatientDataService patientDataService, |
||||
ComputeHistoryService computeHistoryService, |
||||
MessageQueueProducer messageQueueProducer) { |
||||
|
||||
this.patientDataService = patientDataService; |
||||
this.computeHistoryService = computeHistoryService; |
||||
this.messageQueueProducer = messageQueueProducer; |
||||
} |
||||
|
||||
@Transactional |
||||
public long addTask(ComputeRequestBody request) { |
||||
long rid = YitIdHelper.nextId(); |
||||
String uid = StpUtil.getLoginIdAsString(); |
||||
|
||||
ComputeHistory computeHistory = new ComputeHistory(); |
||||
computeHistory.setUid(uid); |
||||
computeHistory.setRid(rid); |
||||
computeHistory.setStatus(ComputeStatusEnum.PROCESSING.getCode()); |
||||
|
||||
PatientData patientData = new PatientData(); |
||||
patientData.setId(rid); |
||||
patientData.setCpg(request.getCpg()); |
||||
patientData.setPid(request.getPid()); |
||||
patientData.setCtdnaLength(request.getCtdna()); |
||||
|
||||
computeHistoryService.save(computeHistory); |
||||
patientDataService.save(patientData); |
||||
|
||||
this.addMessageQueue(patientData); |
||||
|
||||
return rid; |
||||
} |
||||
|
||||
private void addMessageQueue(PatientData patientData) { |
||||
messageQueueProducer.sendObject(patientData); |
||||
} |
||||
} |
Loading…
Reference in new issue