From d40f53888f3bb5e591d2714fa1bd3b094b4a5410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=A2=A6=E8=BF=9C?= <1063331231@qq.com> Date: Wed, 30 Jul 2025 14:49:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E6=96=B9=E7=A7=BB=E9=99=A4=E5=86=97?= =?UTF-8?q?=E4=BD=99=E5=AD=97=E6=AE=B5=20=E5=A2=9E=E5=8A=A0=E8=BF=9E?= =?UTF-8?q?=E8=A1=A8=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=20=E9=80=9A?= =?UTF-8?q?=E9=81=93=E7=8A=B6=E6=80=81=E5=A2=9E=E5=8A=A0volume=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=93=9D=E7=89=99=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=B1=BB=E9=80=9A=E9=81=93=E4=B8=8B=E6=8B=89=E9=80=89=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iflytop/handacid/HandAcidApplication.java | 2 + .../command/control/SolutionAddStartCommand.java | 2 +- .../app/controller/FormulationController.java | 31 +++++------ .../app/controller/SystemConfigController.java | 45 +++++++++++++++- .../app/core/listener/BleGamepadEventListener.java | 54 +++++++++++++++++++ .../handacid/app/core/state/ChannelState.java | 3 ++ .../handacid/app/model/dto/ChannelSetDTO.java | 12 +++++ .../websocket/client/BleGamepadDriverConfig.java | 41 -------------- .../app/websocket/client/SocketClient.java | 61 --------------------- .../handacid/common/enums/SystemConfigType.java | 8 +-- .../handacid/common/mapper/FormulationMapper.java | 7 ++- .../handacid/common/mapper/FormulationMapper.xml | 30 +++++++++++ .../handacid/common/model/entity/Formulation.java | 8 --- .../handacid/common/model/vo/FormulationVO.java | 33 ++++++++++++ .../common/service/FormulationService.java | 16 ++++++ .../hardware/service/BleGamepadService.java | 62 ---------------------- src/main/resources/sql/init.sql | 5 +- 17 files changed, 223 insertions(+), 197 deletions(-) create mode 100644 src/main/java/com/iflytop/handacid/app/core/listener/BleGamepadEventListener.java create mode 100644 src/main/java/com/iflytop/handacid/app/model/dto/ChannelSetDTO.java delete mode 100644 src/main/java/com/iflytop/handacid/app/websocket/client/BleGamepadDriverConfig.java delete mode 100644 src/main/java/com/iflytop/handacid/app/websocket/client/SocketClient.java create mode 100644 src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.xml create mode 100644 src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java delete mode 100644 src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java diff --git a/src/main/java/com/iflytop/handacid/HandAcidApplication.java b/src/main/java/com/iflytop/handacid/HandAcidApplication.java index c42d596..aa4c3f1 100644 --- a/src/main/java/com/iflytop/handacid/HandAcidApplication.java +++ b/src/main/java/com/iflytop/handacid/HandAcidApplication.java @@ -1,11 +1,13 @@ package com.iflytop.handacid; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; @SpringBootApplication +@MapperScan("com.iflytop.handacid.common.mapper") public class HandAcidApplication { public static void main(String[] args) { diff --git a/src/main/java/com/iflytop/handacid/app/command/control/SolutionAddStartCommand.java b/src/main/java/com/iflytop/handacid/app/command/control/SolutionAddStartCommand.java index 63af35f..caec699 100644 --- a/src/main/java/com/iflytop/handacid/app/command/control/SolutionAddStartCommand.java +++ b/src/main/java/com/iflytop/handacid/app/command/control/SolutionAddStartCommand.java @@ -96,7 +96,7 @@ public class SolutionAddStartCommand extends BaseCommandHandler { for (ChannelCode channelCode : channelCodeList) { deviceState.getChannelStateMap().get(channelCode).setStateCode(ChannelStateCode.IDLE); } - deviceState.setSolutionAddStop(false); + deviceState. setSolutionAddStop(false); } }); } diff --git a/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java b/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java index e84e042..f68496c 100644 --- a/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java +++ b/src/main/java/com/iflytop/handacid/app/controller/FormulationController.java @@ -1,12 +1,12 @@ package com.iflytop.handacid.app.controller; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iflytop.handacid.common.base.BasePageQuery; import com.iflytop.handacid.common.model.entity.Formulation; +import com.iflytop.handacid.common.model.vo.FormulationVO; import com.iflytop.handacid.common.result.PageResult; import com.iflytop.handacid.common.result.Result; import com.iflytop.handacid.common.service.FormulationService; +import com.iflytop.handacid.common.service.SolutionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -15,8 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; -import java.util.List; -import java.util.Objects; /** * 配方 @@ -29,19 +27,21 @@ import java.util.Objects; public class FormulationController { @Autowired private FormulationService formulationService; + @Autowired + private SolutionService solutionService; @PostMapping("/page") @Operation(summary = "获取分页数据") - public PageResult getPage( BasePageQuery query) { - return PageResult.success(formulationService.page(new Page<>(query.getPageNum(), query.getPageSize()))); + public PageResult getPage(BasePageQuery query) { + return PageResult.success(formulationService.selectPageVo(query)); } - @GetMapping("/list") +/* @GetMapping("/list") @Operation(summary = "获取List数据") public Result> getList( @RequestParam Integer solutionId, @RequestParam String concentration) { List formulations=formulationService.list(new LambdaQueryWrapper().eq(Formulation::getSolutionId, solutionId).eq(Formulation::getConcentration,concentration)); return Result.success(formulations); - } + }*/ @GetMapping("/{id}") @Operation(summary = "根据ID获取") @@ -52,26 +52,27 @@ public class FormulationController { @PostMapping @Operation(summary = "创建配方") public Result create(@RequestBody Formulation formulation) { - boolean flag = formulationService.save(formulation); - return flag? Result.success("添加成功") : Result.failed("添加失败"); + boolean flag = formulationService.save(formulation); + return flag ? Result.success("添加成功") : Result.failed("添加失败"); } @PutMapping @Operation(summary = "修改配方") public Result update(@RequestBody Formulation formulation) { - boolean flag = formulationService.saveOrUpdate(formulation); - return flag? Result.success("修改成功") : Result.failed("修改失败"); + boolean flag = formulationService.saveOrUpdate(formulation); + return flag ? Result.success("修改成功") : Result.failed("修改失败"); } + @DeleteMapping("/{ids}") @Operation(summary = "删除配方") public Result delete(@PathVariable String ids) { boolean success = formulationService.removeBatchByIds( Arrays.stream(ids.split(",")).map(Long::valueOf).toList() ); - return success? Result.success("删除成功") : Result.failed("删除失败"); + return success ? Result.success("删除成功") : Result.failed("删除失败"); } - @GetMapping("/concentration/{id}") +/* @GetMapping("/concentration/{id}") @Operation(summary = "根据ID获取浓度") public Result> getConcentration(@PathVariable Integer id) { List formulations=formulationService.list(new LambdaQueryWrapper().eq(Formulation::getSolutionId, id)); @@ -81,7 +82,7 @@ public class FormulationController { .toList()); } return null; - } + }*/ } diff --git a/src/main/java/com/iflytop/handacid/app/controller/SystemConfigController.java b/src/main/java/com/iflytop/handacid/app/controller/SystemConfigController.java index 6dabfba..9fc6a19 100644 --- a/src/main/java/com/iflytop/handacid/app/controller/SystemConfigController.java +++ b/src/main/java/com/iflytop/handacid/app/controller/SystemConfigController.java @@ -1,7 +1,12 @@ package com.iflytop.handacid.app.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.iflytop.handacid.app.common.enums.ChannelStateCode; +import com.iflytop.handacid.app.model.dto.ChannelSetDTO; import com.iflytop.handacid.common.base.BasePageQuery; +import com.iflytop.handacid.common.enums.SystemConfigType; import com.iflytop.handacid.common.model.entity.SystemConfig; import com.iflytop.handacid.common.result.PageResult; import com.iflytop.handacid.common.result.Result; @@ -14,6 +19,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Tag(name = "\uD83D\uDEE0\uFE0F系统配置接口") @RestController @@ -26,10 +34,45 @@ public class SystemConfigController { @Operation(summary = "分页查询系统配置") @PostMapping("/page") - public PageResult getList(@RequestBody BasePageQuery query) { + public PageResult getPage(@RequestBody BasePageQuery query) { return PageResult.success(systemConfigService.page(new Page<>(query.getPageNum(), query.getPageSize()))); } + @Operation(summary = "查询溶液种类配置") + @GetMapping("/solutions") + public Result> getSolutions() { + List systemConfigs = systemConfigService.list(new LambdaQueryWrapper().eq(SystemConfig::getKey, SystemConfigType.SOLUTION_TYPE)); + List solutionTypes = systemConfigs.stream().map(SystemConfig::getValue).toList(); + return Result.success(solutionTypes); + } + @Operation(summary = "查询溶液种类配置") + @PutMapping("/solutions") + public Result> setSolutions(@RequestBody List solutions) { + String solutionTypes = String.join(",", solutions); + systemConfigService.update(new LambdaUpdateWrapper().eq(SystemConfig::getKey, SystemConfigType.SOLUTION_TYPE).set(SystemConfig::getValue, solutionTypes)); + return Result.success(); + } + @Operation(summary = "查询通道下拉选配置") + @GetMapping("/channels") + public Result getChannels() { + Map maps=new HashMap<>(); + ChannelStateCode[] values = ChannelStateCode.values(); + Arrays.stream(values).forEach(channelStateCode -> { + maps.put(channelStateCode.name(),systemConfigService.list(new LambdaQueryWrapper().eq(SystemConfig::getKey, channelStateCode))); + }); + return Result.success(maps); + } + @Operation(summary = "设置通道下拉选配置") + @PutMapping("/channels") + public Result> setChannels(@RequestBody ChannelSetDTO dto) { + List stringList = Arrays.stream(dto.getValues()) + .mapToObj(String::valueOf) + .toList(); + String volumeList = String.join(",", stringList); + systemConfigService.update(new LambdaUpdateWrapper().eq(SystemConfig::getKey, dto.getChannel()).set(SystemConfig::getValue, volumeList)); + return Result.success(); + } + @Operation(summary = "添加配置项") @PostMapping("") public Result add(@Valid @RequestBody SystemConfig config) { diff --git a/src/main/java/com/iflytop/handacid/app/core/listener/BleGamepadEventListener.java b/src/main/java/com/iflytop/handacid/app/core/listener/BleGamepadEventListener.java new file mode 100644 index 0000000..f92bdc6 --- /dev/null +++ b/src/main/java/com/iflytop/handacid/app/core/listener/BleGamepadEventListener.java @@ -0,0 +1,54 @@ +package com.iflytop.handacid.app.core.listener; + +import com.iflytop.handacid.hardware.service.AppEventBusService; +import com.iflytop.handacid.hardware.type.A8kPacket; +import com.iflytop.handacid.hardware.type.CmdId; +import com.iflytop.handacid.hardware.type.appevent.A8kHardwareReport; +import com.iflytop.handacid.hardware.type.appevent.AppEvent; +import jakarta.annotation.PostConstruct; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 蓝牙手柄按钮事件监听 + * + */ + +@Component +@Slf4j +@RequiredArgsConstructor +public class BleGamepadEventListener { + private final AppEventBusService eventBus; + + @PostConstruct + synchronized public void init() { + eventBus.regListener(this::onAppEvent); + } + + /** + * 事件总线事件处理 + * @param event e + */ + private void onAppEvent(AppEvent event) { + if (event instanceof A8kHardwareReport canPacket) { + A8kPacket packet = canPacket.getReportPacket(); + CmdId cmdId = CmdId.valueOf(packet.getCmdId()); + if (CmdId.event_ble_gamepad_liquid_acid.equals(cmdId)) { + //判断当前的设备状态 + log.info("蓝牙手柄 加酸按钮 按下"); + } else if (CmdId.event_ble_gamepad_liquid_acid_prefilling.equals(cmdId)) { + log.info("蓝牙手柄 预充按钮 按下"); + } + else if (CmdId.event_ble_gamepad_connected.equals(cmdId)) { + log.info("蓝牙手柄 连接成功"); + } + else if (CmdId.event_ble_gamepad_disconnected.equals(cmdId)) { + log.info("蓝牙手柄 连接断开"); + } + + } + } + +} + diff --git a/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java b/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java index 58ba77d..33309eb 100644 --- a/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java +++ b/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java @@ -28,6 +28,9 @@ public class ChannelState { @Schema(description = "剩余容量(单位:mL)") private volatile Double remainingVolume; + @Schema(description = "加液量(单位:mL)") + private Double volume; + @Schema(description = "溶液id") private volatile Long solutionId; diff --git a/src/main/java/com/iflytop/handacid/app/model/dto/ChannelSetDTO.java b/src/main/java/com/iflytop/handacid/app/model/dto/ChannelSetDTO.java new file mode 100644 index 0000000..fa3d948 --- /dev/null +++ b/src/main/java/com/iflytop/handacid/app/model/dto/ChannelSetDTO.java @@ -0,0 +1,12 @@ +package com.iflytop.handacid.app.model.dto; + +import com.iflytop.handacid.app.common.enums.ChannelCode; +import lombok.Data; + +@Data +public class ChannelSetDTO { + private int[] values; + private ChannelCode channel; + + +} diff --git a/src/main/java/com/iflytop/handacid/app/websocket/client/BleGamepadDriverConfig.java b/src/main/java/com/iflytop/handacid/app/websocket/client/BleGamepadDriverConfig.java deleted file mode 100644 index 6cfee03..0000000 --- a/src/main/java/com/iflytop/handacid/app/websocket/client/BleGamepadDriverConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.iflytop.handacid.app.websocket.client; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.net.URI; - -@Slf4j -@Configuration -@RequiredArgsConstructor -public class BleGamepadDriverConfig { - - @Value("${iflytophald.ip}") - String ip; - @Value("${iflytophald.datach.port}") - Integer port; - - - @Bean - SocketClient clientService() { - URI uri = URI.create(String.format("ws://%s:%d/%s", ip, port, "key")); - return new SocketClient(uri, s -> { - - //蓝牙手柄 加酸按钮 按下 - //蓝牙手柄 预充按钮 按下 - //蓝牙手柄 连接成功 - //蓝牙手柄 连接断开 - if (s.get("event").equals("press")) { - - - } else if (s.get("event").equals("release")) { - - log.info("解除急停{}", s); - } - }); - - } -} diff --git a/src/main/java/com/iflytop/handacid/app/websocket/client/SocketClient.java b/src/main/java/com/iflytop/handacid/app/websocket/client/SocketClient.java deleted file mode 100644 index 5b52686..0000000 --- a/src/main/java/com/iflytop/handacid/app/websocket/client/SocketClient.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.iflytop.handacid.app.websocket.client; - -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; -import org.java_websocket.client.WebSocketClient; -import org.java_websocket.enums.ReadyState; -import org.java_websocket.handshake.ServerHandshake; -import org.springframework.scheduling.annotation.Scheduled; - -import java.net.URI; -import java.util.function.Consumer; - -/** - * WebsocketClient - */ -@Slf4j -public class SocketClient extends WebSocketClient { - private Consumer consumer; - - public SocketClient(URI serverUri, Consumer consumer) { - super(serverUri); - this.consumer = consumer; - } - - @Override - public void onOpen(ServerHandshake handshakedata) { - log.info("device_status_listener_websocket connect success"); - } - - @Override - public void onMessage(String message) { - JSONObject jsonObject = JSONUtil.parseObj(message); - consumer.accept(jsonObject); - } - - @Override - public void onClose(int code, String reason, boolean remote) { - log.info("device_status_listener_websocket lost connection..."); - } - - @Override - public void onError(Exception ex) { - log.info("device_status_listener_websocket on error"); - } - - //失去连接后重新连接 10s轮询 - @Scheduled(fixedRate = 10000) - private void autoConnect() { - if (!isOpen()) { - if (getReadyState().equals(ReadyState.NOT_YET_CONNECTED)) { - try { - connect(); - } catch (IllegalStateException ignored) { - } - } else if (getReadyState().equals(ReadyState.CLOSED)) { - reconnect(); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/com/iflytop/handacid/common/enums/SystemConfigType.java b/src/main/java/com/iflytop/handacid/common/enums/SystemConfigType.java index 90f89c0..0257399 100644 --- a/src/main/java/com/iflytop/handacid/common/enums/SystemConfigType.java +++ b/src/main/java/com/iflytop/handacid/common/enums/SystemConfigType.java @@ -7,10 +7,10 @@ import lombok.Getter; */ public enum SystemConfigType { SOLUTION_TYPE("溶液种类"), - CHANNEL_1_VOLUME("通道一溶液使用量"), - CHANNEL_2_VOLUME("通道二溶液使用量"), - CHANNEL_3_VOLUME("通道三溶液使用量"), - CHANNEL_4_VOLUME("通道四溶液使用量"), + CHANNEL_1("通道一溶液使用量"), + CHANNEL_2("通道二溶液使用量"), + CHANNEL_3("通道三溶液使用量"), + CHANNEL_4("通道四溶液使用量"), ; /** diff --git a/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.java b/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.java index 30ae42d..18cee71 100644 --- a/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.java +++ b/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.java @@ -1,11 +1,16 @@ package com.iflytop.handacid.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.iflytop.handacid.common.model.entity.Formulation; -import org.apache.ibatis.annotations.Mapper; +import com.iflytop.handacid.common.model.vo.FormulationVO; +import org.apache.ibatis.annotations.*; + + /** * 配方持久层接口 */ @Mapper public interface FormulationMapper extends BaseMapper { + IPage selectPageVo(IPage page); } \ No newline at end of file diff --git a/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.xml b/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.xml new file mode 100644 index 0000000..33ecc3c --- /dev/null +++ b/src/main/java/com/iflytop/handacid/common/mapper/FormulationMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java b/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java index 1021042..3acd6a5 100644 --- a/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java +++ b/src/main/java/com/iflytop/handacid/common/model/entity/Formulation.java @@ -18,15 +18,7 @@ public class Formulation extends BaseEntity { @NotNull @Schema(description = "酸液ID") private Long solutionId; - @NotNull - @Schema(description = "酸液名称") - private String solutionName; - @NotNull - @Schema(description = "浓度") - private String concentration; - @Schema(description = "系数") - private Double scale; @Schema(description = "转数") private Double revolutions; } diff --git a/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java b/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java new file mode 100644 index 0000000..6dbceba --- /dev/null +++ b/src/main/java/com/iflytop/handacid/common/model/vo/FormulationVO.java @@ -0,0 +1,33 @@ +package com.iflytop.handacid.common.model.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iflytop.handacid.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@TableName("formulation") +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(description = "配方") +public class FormulationVO extends BaseEntity { + @NotNull + @Schema(description = "用量") + private Double volume; + @NotNull + @Schema(description = "酸液ID") + private Long solutionId; + + @Schema(description = "转数") + private Double revolutions; + + @Schema(description = "酸液名称") + private String solutionName; + + @Schema(description = "浓度") + private String concentration; + + @Schema(description = "系数") + private Double scale; +} diff --git a/src/main/java/com/iflytop/handacid/common/service/FormulationService.java b/src/main/java/com/iflytop/handacid/common/service/FormulationService.java index 12cd751..7017109 100644 --- a/src/main/java/com/iflytop/handacid/common/service/FormulationService.java +++ b/src/main/java/com/iflytop/handacid/common/service/FormulationService.java @@ -1,14 +1,30 @@ package com.iflytop.handacid.common.service; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.iflytop.handacid.common.base.BasePageQuery; import com.iflytop.handacid.common.mapper.FormulationMapper; import com.iflytop.handacid.common.model.entity.Formulation; +import com.iflytop.handacid.common.model.vo.FormulationVO; +import com.iflytop.handacid.common.result.PageResult; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + +import java.util.List; + /** * 配方接口服务 */ @Service @RequiredArgsConstructor public class FormulationService extends ServiceImpl { + private final FormulationMapper formulationMapper; + public IPage selectPageVo(BasePageQuery query) { + IPage page = new Page<>(); + page.setSize(query.getPageSize()); + page.setCurrent(query.getPageNum()); + return formulationMapper.selectPageVo(page); + } } diff --git a/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java b/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java deleted file mode 100644 index 164463a..0000000 --- a/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.iflytop.handacid.hardware.service; - -import com.iflytop.handacid.hardware.comm.can.A8kCanBusService; -import com.iflytop.handacid.hardware.type.A8kPacket; -import com.iflytop.handacid.hardware.type.CmdId; -import com.iflytop.handacid.hardware.type.appevent.A8kCanBusOnConnectEvent; -import com.iflytop.handacid.hardware.type.appevent.A8kHardwareReport; -import com.iflytop.handacid.hardware.type.appevent.AppEvent; -import jakarta.annotation.PostConstruct; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import jakarta.annotation.PostConstruct; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -/** - * 蓝牙手柄服务管理 - * - */ - -@Component -@Slf4j -@RequiredArgsConstructor -public class BleGamepadService { - private final A8kCanBusService canBus; - private final AppEventBusService eventBus; - - @PostConstruct - synchronized public void init() { - eventBus.regListener(this::onAppEvent); - } - - - /** - * 事件总线事件处理 - * @param event e - */ - private void onAppEvent(AppEvent event) { - if (event instanceof A8kHardwareReport canPacket) { - A8kPacket packet = canPacket.getReportPacket(); - CmdId cmdId = CmdId.valueOf(packet.getCmdId()); - if (CmdId.event_ble_gamepad_liquid_acid.equals(cmdId)) { - log.info("蓝牙手柄 加酸按钮 按下"); - } else if (CmdId.event_ble_gamepad_liquid_acid_prefilling.equals(cmdId)) { - log.info("蓝牙手柄 预充按钮 按下"); - } - else if (CmdId.event_ble_gamepad_connected.equals(cmdId)) { - log.info("蓝牙手柄 连接成功"); - } - else if (CmdId.event_ble_gamepad_disconnected.equals(cmdId)) { - log.info("蓝牙手柄 连接断开"); - } - - } else if (event instanceof A8kCanBusOnConnectEvent canPacket) { - log.info("a8k canbus connect sucess"); - } - } - -} - diff --git a/src/main/resources/sql/init.sql b/src/main/resources/sql/init.sql index a874d66..933ef79 100644 --- a/src/main/resources/sql/init.sql +++ b/src/main/resources/sql/init.sql @@ -43,13 +43,11 @@ INSERT OR IGNORE INTO channel ( -- ---------------------------- -- Table structure for formulation -- ---------------------------- +-- drop table IF EXISTS formulation; CREATE TABLE IF NOT EXISTS formulation ( id INTEGER NOT NULL PRIMARY KEY, volume DOUBLE, solution_id INTEGER, - solution_name TEXT, - concentration TEXT, - scale DOUBLE, revolutions DOUBLE, create_time DATE DEFAULT CURRENT_TIMESTAMP, update_time DATE DEFAULT CURRENT_TIMESTAMP @@ -76,6 +74,7 @@ CREATE TABLE IF NOT EXISTS receive_record ( -- ---------------------------- -- Table structure for solution -- ---------------------------- +-- drop table IF EXISTS solution; CREATE TABLE IF NOT EXISTS solution ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT,