19 changed files with 367 additions and 36 deletions
-
14src/main/java/com/iflytop/gd/app/mapper/SystemConfigMapper.java
-
22src/main/java/com/iflytop/gd/app/model/entity/SystemConfig.java
-
77src/main/java/com/iflytop/gd/app/service/CraftsStepService.java
-
19src/main/java/com/iflytop/gd/app/service/SystemConfigService.java
-
34src/main/java/com/iflytop/gd/common/enums/HeatModuleId.java
-
9src/main/java/com/iflytop/gd/common/enums/TrayLiftStatus.java
-
7src/main/java/com/iflytop/gd/infrastructure/modules/CapArea.java
-
36src/main/java/com/iflytop/gd/infrastructure/modules/Device.java
-
7src/main/java/com/iflytop/gd/infrastructure/modules/HeatArea.java
-
7src/main/java/com/iflytop/gd/infrastructure/modules/LiquidArea.java
-
7src/main/java/com/iflytop/gd/infrastructure/modules/RailArm.java
-
10src/main/java/com/iflytop/gd/infrastructure/modules/area/CapArea.java
-
10src/main/java/com/iflytop/gd/infrastructure/modules/area/ColdTrapArea.java
-
10src/main/java/com/iflytop/gd/infrastructure/modules/area/DoorArea.java
-
36src/main/java/com/iflytop/gd/infrastructure/modules/area/HeatArea.java
-
10src/main/java/com/iflytop/gd/infrastructure/modules/area/LiquidArea.java
-
10src/main/java/com/iflytop/gd/infrastructure/modules/area/RailArmArea.java
-
67src/main/java/com/iflytop/gd/infrastructure/modules/model/bo/HeatModule.java
-
11src/main/resources/sql/init.sql
@ -0,0 +1,14 @@ |
|||
package com.iflytop.gd.app.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.iflytop.gd.app.model.entity.Ores; |
|||
import com.iflytop.gd.app.model.entity.SystemConfig; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 系统配置持久层接口 |
|||
*/ |
|||
@Mapper |
|||
public interface SystemConfigMapper extends BaseMapper<SystemConfig> { |
|||
|
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.iflytop.gd.app.model.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.iflytop.gd.infrastructure.repository.base.BaseEntity; |
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import jakarta.validation.constraints.NotBlank; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
@EqualsAndHashCode(callSuper = true) |
|||
@Schema(description = "系统配置") |
|||
@TableName("system_config") |
|||
@Data |
|||
public class SystemConfig extends BaseEntity { |
|||
|
|||
@NotBlank |
|||
@Schema(description = "配置键") |
|||
private String key; |
|||
|
|||
@Schema(description = "配置值") |
|||
private String value; |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.iflytop.gd.app.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.iflytop.gd.app.mapper.SystemConfigMapper; |
|||
import com.iflytop.gd.app.model.entity.SystemConfig; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* 系统配置业务实现类 |
|||
*/ |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class SystemConfigService extends ServiceImpl<SystemConfigMapper, SystemConfig> { |
|||
|
|||
private final SystemConfigMapper systemConfigMapper; |
|||
|
|||
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.iflytop.gd.common.enums; |
|||
|
|||
/** |
|||
* 加热模块id枚举 |
|||
* 格式为 "heat_module_01" ~ "heat_module_06" |
|||
*/ |
|||
public enum HeatModuleId { |
|||
MODULE_01("heat_module_01"), |
|||
MODULE_02("heat_module_02"), |
|||
MODULE_03("heat_module_03"), |
|||
MODULE_04("heat_module_04"), |
|||
MODULE_05("heat_module_05"), |
|||
MODULE_06("heat_module_06"); |
|||
|
|||
private final String id; |
|||
|
|||
HeatModuleId(String id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
/** |
|||
* 获取对应的加热模块 ID |
|||
* |
|||
* @return 模块唯一标识 |
|||
*/ |
|||
public String getId() { |
|||
return id; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return id; |
|||
} |
|||
} |
@ -0,0 +1,9 @@ |
|||
package com.iflytop.gd.common.enums; |
|||
|
|||
/** |
|||
* 托盘升降状态 |
|||
*/ |
|||
public enum TrayLiftStatus { |
|||
UP, |
|||
DOWN |
|||
} |
@ -1,7 +0,0 @@ |
|||
package com.iflytop.gd.infrastructure.modules; |
|||
|
|||
/** |
|||
* 拍子存放区 |
|||
*/ |
|||
public class CapArea { |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.iflytop.gd.infrastructure.modules; |
|||
|
|||
import com.iflytop.gd.infrastructure.modules.area.*; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@RequiredArgsConstructor |
|||
public class Device { |
|||
/** |
|||
* 加热区 |
|||
*/ |
|||
private final HeatArea heatArea; |
|||
/** |
|||
* 加液区 |
|||
*/ |
|||
private final LiquidArea liquidArea; |
|||
/** |
|||
* 导轨机械臂 |
|||
*/ |
|||
private final RailArmArea railArmArea; |
|||
/** |
|||
* 拍子存放区 |
|||
*/ |
|||
private final CapArea capArea; |
|||
/** |
|||
* 冷阱 |
|||
*/ |
|||
private final ColdTrapArea coldTrapArea; |
|||
/** |
|||
* 门 |
|||
*/ |
|||
private final DoorArea doorArea; |
|||
|
|||
|
|||
} |
@ -1,7 +0,0 @@ |
|||
package com.iflytop.gd.infrastructure.modules; |
|||
|
|||
/** |
|||
* 加热区 |
|||
*/ |
|||
public class HeatArea { |
|||
} |
@ -1,7 +0,0 @@ |
|||
package com.iflytop.gd.infrastructure.modules; |
|||
|
|||
/** |
|||
* 加液区 |
|||
*/ |
|||
public class LiquidArea { |
|||
} |
@ -1,7 +0,0 @@ |
|||
package com.iflytop.gd.infrastructure.modules; |
|||
|
|||
/** |
|||
* 导轨机械臂 |
|||
*/ |
|||
public class RailArm { |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 拍子存放区 |
|||
*/ |
|||
@Component |
|||
public class CapArea { |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 冷阱 |
|||
*/ |
|||
@Component |
|||
public class ColdTrapArea { |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 门 |
|||
*/ |
|||
@Component |
|||
public class DoorArea { |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import com.iflytop.gd.common.enums.HeatModuleId; |
|||
import com.iflytop.gd.infrastructure.modules.model.bo.HeatModule; |
|||
import com.iflytop.gd.system.devices.StepMotor; |
|||
import jakarta.annotation.PostConstruct; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 加热区 |
|||
*/ |
|||
@Component |
|||
public class HeatArea { |
|||
/** |
|||
* 加热模块 |
|||
*/ |
|||
private final List<HeatModule> heatModuleList = Collections.synchronizedList(new ArrayList<>()); |
|||
|
|||
@PostConstruct |
|||
private void init(){ |
|||
for (HeatModuleId moduleId : HeatModuleId.values()) { |
|||
HeatModule heatModule = new HeatModule(); |
|||
heatModule.setHeatId(moduleId); |
|||
// heatModule.setLiftMotor(); |
|||
|
|||
|
|||
heatModuleList.add(heatModule); |
|||
System.out.println("模块枚举名: " + moduleId.name() |
|||
+ ",模块 ID: " + moduleId.getId()); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 加液区 |
|||
*/ |
|||
@Component |
|||
public class LiquidArea { |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.iflytop.gd.infrastructure.modules.area; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 导轨机械臂 |
|||
*/ |
|||
@Component |
|||
public class RailArmArea { |
|||
} |
@ -0,0 +1,67 @@ |
|||
package com.iflytop.gd.infrastructure.modules.model.bo; |
|||
|
|||
import com.iflytop.gd.common.enums.HeatModuleId; |
|||
import com.iflytop.gd.common.enums.TrayLiftStatus; |
|||
import com.iflytop.gd.system.devices.StepMotor; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.time.Duration; |
|||
import java.time.LocalDateTime; |
|||
|
|||
/** |
|||
* 加热区的加热模块 |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
@Builder |
|||
public class HeatModule { |
|||
/** |
|||
* 加热区ID |
|||
*/ |
|||
private HeatModuleId heatId; |
|||
|
|||
/** |
|||
* 升降电机 |
|||
*/ |
|||
private StepMotor liftMotor; |
|||
|
|||
/** |
|||
* 当前升降状态:抬起(RAISED) 或 降下(LOWERED) |
|||
*/ |
|||
private TrayLiftStatus liftStatus = TrayLiftStatus.DOWN; |
|||
|
|||
/** |
|||
* 是否正在加热 |
|||
*/ |
|||
private boolean heating = false; |
|||
|
|||
/** |
|||
* 目标温度,单位:摄氏度 |
|||
*/ |
|||
private double targetTemperature = 0; |
|||
|
|||
/** |
|||
* 开始加热时间 |
|||
*/ |
|||
private LocalDateTime startHeatingTime; |
|||
|
|||
/** |
|||
* 加热持续时间 |
|||
*/ |
|||
private Duration heatingDuration; |
|||
|
|||
/** |
|||
* 是否存在托盘 |
|||
*/ |
|||
private boolean hasTray = false; |
|||
|
|||
/** |
|||
* 是否存在拍子 |
|||
*/ |
|||
private boolean hasCap = false; |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue