From ea71e40b904ebafa72021d0f5fce8adfa28c0d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 31 Jul 2025 11:08:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AE=8C=E5=96=84=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E6=BA=B6=E6=B6=B2=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/ReceiveRecordController.java | 22 ++++++-------- .../handacid/common/model/entity/Channel.java | 4 +-- .../common/model/entity/ReceiveRecord.java | 3 +- .../common/service/ReceiveRecordService.java | 34 ++++++++++++++++++++++ 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java b/src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java index b1446b5..1a70744 100644 --- a/src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java +++ b/src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java @@ -3,7 +3,6 @@ package com.iflytop.handacid.app.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iflytop.handacid.app.common.utils.UsbDriverUtil; import com.iflytop.handacid.common.base.BasePageQuery; -import com.iflytop.handacid.common.model.entity.AuditRecord; import com.iflytop.handacid.common.model.entity.ReceiveRecord; import com.iflytop.handacid.common.result.PageResult; import com.iflytop.handacid.common.result.Result; @@ -12,13 +11,11 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.File; @@ -26,6 +23,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.List; + /** * 领取 */ @@ -35,8 +33,7 @@ import java.util.List; @RequiredArgsConstructor @Slf4j public class ReceiveRecordController { - @Autowired - private ReceiveRecordService receiveRecordService; + private final ReceiveRecordService receiveRecordService; @GetMapping("/list") @Operation(summary = "获取List数据") @@ -51,23 +48,22 @@ public class ReceiveRecordController { } @GetMapping("/{id}") - @Operation(summary = "根据ID获取") + @Operation(summary = "根据ID获取领取记录") public Result getById(@PathVariable Integer id) { return Result.success(receiveRecordService.getById(id)); } @PostMapping @Operation(summary = "领取溶液") - public Result create(@RequestBody ReceiveRecord receiveRecord) { - boolean flag = receiveRecordService.save(receiveRecord); - return flag? Result.success("添加成功") : Result.failed("添加失败"); + public Result receive(@RequestBody ReceiveRecord receiveRecord) { + return receiveRecordService.receive(receiveRecord) ? Result.success() : Result.failed(); } @PutMapping @Operation(summary = "修改记录") public Result update(@RequestBody ReceiveRecord receiveRecord) { - boolean flag = receiveRecordService.updateById(receiveRecord); - return flag? Result.success("修改成功") : Result.failed("修改失败"); + boolean flag = receiveRecordService.updateById(receiveRecord); + return flag ? Result.success() : Result.failed(); } @DeleteMapping("/{ids}") @@ -76,7 +72,7 @@ public class ReceiveRecordController { boolean success = receiveRecordService.removeBatchByIds( Arrays.stream(ids.split(",")).map(Long::valueOf).toList() ); - return success? Result.success("删除成功") : Result.failed("删除失败"); + return success ? Result.success() : Result.failed(); } @GetMapping("/export") @@ -107,7 +103,7 @@ public class ReceiveRecordController { row.createCell(2).setCellValue(record.getReceiverNickname()); row.createCell(3).setCellValue(record.getSolutionName()); row.createCell(4).setCellValue(record.getConcentration()); - row.createCell(5).setCellValue(record.getChannelCode()); + row.createCell(5).setCellValue(record.getChannelCode().toString()); row.createCell(6).setCellValue(record.getReceivedVolume()); row.createCell(7).setCellValue(record.getCreateTime() != null ? record.getCreateTime().toString() : ""); row.createCell(8).setCellValue(record.getUpdateTime() != null ? record.getUpdateTime().toString() : ""); diff --git a/src/main/java/com/iflytop/handacid/common/model/entity/Channel.java b/src/main/java/com/iflytop/handacid/common/model/entity/Channel.java index 7bd2249..4c852f2 100644 --- a/src/main/java/com/iflytop/handacid/common/model/entity/Channel.java +++ b/src/main/java/com/iflytop/handacid/common/model/entity/Channel.java @@ -1,7 +1,7 @@ package com.iflytop.handacid.common.model.entity; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.iflytop.handacid.app.common.enums.ChannelCode; import com.iflytop.handacid.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -17,7 +17,7 @@ public class Channel extends BaseEntity { private String name; @Schema(description = "通道Code") - private String code; + private ChannelCode code; @Schema(description = "绑定的溶液ID") private Long solutionId; diff --git a/src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java b/src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java index a53fdfb..275c5ce 100644 --- a/src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java +++ b/src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java @@ -2,6 +2,7 @@ package com.iflytop.handacid.common.model.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.iflytop.handacid.app.common.enums.ChannelCode; import com.iflytop.handacid.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -41,5 +42,5 @@ public class ReceiveRecord extends BaseEntity { private Double receivedVolume; @Schema(description = "通道Code") - private String channelCode; + private ChannelCode channelCode; } diff --git a/src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java b/src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java index d29daa1..6dd87a6 100644 --- a/src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java +++ b/src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java @@ -1,14 +1,48 @@ package com.iflytop.handacid.common.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.iflytop.handacid.app.core.state.ChannelState; +import com.iflytop.handacid.app.core.state.DeviceState; import com.iflytop.handacid.common.mapper.ReceiveRecordMapper; +import com.iflytop.handacid.common.model.entity.Channel; import com.iflytop.handacid.common.model.entity.ReceiveRecord; +import com.iflytop.handacid.common.model.entity.Solution; +import com.iflytop.handacid.common.model.entity.User; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; + /** * 领取记录接口服务 */ @Service @RequiredArgsConstructor public class ReceiveRecordService extends ServiceImpl { + private final UserService userService; + private final SolutionService solutionService; + private final ChannelService channelService; + private final DeviceState deviceState; + + public boolean receive(ReceiveRecord receiveRecord) { + User issuer = userService.getById(receiveRecord.getIssuerId()); + receiveRecord.setIssuerNickname(issuer.getNickname()); + User receiver = userService.getById(receiveRecord.getReceiverId()); + receiveRecord.setReceiverNickname(receiver.getNickname()); + Solution solution = solutionService.getById(receiveRecord.getSolutionId()); + receiveRecord.setSolutionName(solution.getName()); + this.save(receiveRecord); + + Channel channel = channelService.getOne(new LambdaQueryWrapper<>(new Channel()).eq(Channel::getCode, receiveRecord.getChannelCode())); + channel.setCurrentVolume(receiveRecord.getReceivedVolume()); + channel.setReceivedVolume(receiveRecord.getReceivedVolume()); + channel.setConcentration(receiveRecord.getConcentration()); + channelService.updateById(channel); + + ChannelState channelState = deviceState.getChannelStateMap().get(receiveRecord.getChannelCode()); + channelState.setCurrentVolume(receiveRecord.getReceivedVolume()); + channelState.setReceivedVolume(receiveRecord.getReceivedVolume()); + channelState.setConcentration(receiveRecord.getConcentration()); + + return true; + } }