From a53211446ec0c893be45394bfeaa8a988be66385 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Wed, 27 Aug 2025 15:35:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=99=E6=A0=B7=E6=9F=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rabbit/RabbitListenerConfiguration.java | 28 +++++----- .../domain/KitchenSampleCabinetRecord.java | 10 +++- .../KitchenSampleCabinetRecordMapper.java | 2 + ...KitchenSampleCabinetRecordServiceImpl.java | 56 +++++++++++++++---- .../KitchenSampleCabinetRecordMapper.xml | 27 ++++++++- 5 files changed, 95 insertions(+), 28 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/houqin/mq/rabbit/RabbitListenerConfiguration.java b/bonus-common-biz/src/main/java/com/bonus/common/houqin/mq/rabbit/RabbitListenerConfiguration.java index 5531faa..6ef1095 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/houqin/mq/rabbit/RabbitListenerConfiguration.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/houqin/mq/rabbit/RabbitListenerConfiguration.java @@ -161,20 +161,20 @@ public class RabbitListenerConfiguration implements RabbitListenerConfigurer { public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { this.nowQueues.add(this.rabbitPropertiesExt.getRetryQueue()); - try { - this.existQueues().forEach((queue, queueStatus) -> { - if (!this.nowQueues.contains(queue) || !this.mqProperties.getNamespace().equals(queueStatus.getNamespace())) { - if (queueStatus.messagesReady > 0L) { - throw new IllegalStateException("Queue be deleted while unconsumed messages exist. \"" + queue + "\""); - } - - this.amqpAdmin.deleteQueue(queue); - } - - }); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } +// try { +// this.existQueues().forEach((queue, queueStatus) -> { +// if (!this.nowQueues.contains(queue) || !this.mqProperties.getNamespace().equals(queueStatus.getNamespace())) { +// if (queueStatus.messagesReady > 0L) { +// throw new IllegalStateException("Queue be deleted while unconsumed messages exist. \"" + queue + "\""); +// } +// +// this.amqpAdmin.deleteQueue(queue); +// } +// +// }); +// } catch (JsonProcessingException e) { +// throw new RuntimeException(e); +// } Iterator var2 = this.rabbitListenerEndpoints.iterator(); while(var2.hasNext()) { diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java index 03d54c2..6ec36fb 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java @@ -25,22 +25,26 @@ public class KitchenSampleCabinetRecord extends BaseEntity { private static final long serialVersionUID = 1L; /** 主键id */ - private Long recordId; + private String recordId; /** 设备id */ @Excel(name = "设备id") @ApiModelProperty(value = "设备id") private Long deviceId; + @Excel(name = "留样id") + @ApiModelProperty(value = "留样id") + private String sampleId; + /** 开柜温度 */ @Excel(name = "开柜温度") @ApiModelProperty(value = "开柜温度") - private Long openCabinetTemp; + private String openCabinetTemp; /** 关柜温度 */ @Excel(name = "关柜温度") @ApiModelProperty(value = "关柜温度") - private Long closeCabinetTemp; + private String closeCabinetTemp; /** 操作员工id */ @Excel(name = "操作员工id") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenSampleCabinetRecordMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenSampleCabinetRecordMapper.java index a0d67fd..492f98c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenSampleCabinetRecordMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenSampleCabinetRecordMapper.java @@ -57,4 +57,6 @@ public interface KitchenSampleCabinetRecordMapper { * @return 结果 */ public int deleteKitchenSampleCabinetRecordByRecordIds(Long[] recordIds); + + int updateKitchenSampleRecord(KitchenSampleCabinetRecord kitchenSampleCabinetRecord); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenSampleCabinetRecordServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenSampleCabinetRecordServiceImpl.java index 4fe5a71..6ca9327 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenSampleCabinetRecordServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenSampleCabinetRecordServiceImpl.java @@ -6,15 +6,19 @@ import cn.hutool.core.collection.CollUtil; import com.bonus.canteen.core.kitchen.domain.constants.SampleCabinetActionTypeEnum; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.security.utils.SecurityUtils; +import org.hibernate.validator.internal.util.StringHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.canteen.core.kitchen.mapper.KitchenSampleCabinetRecordMapper; import com.bonus.canteen.core.kitchen.domain.KitchenSampleCabinetRecord; import com.bonus.canteen.core.kitchen.service.IKitchenSampleCabinetRecordService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; /** * 留样柜操作记录Service业务层处理 - * + * * @author xsheng * @date 2025-06-16 */ @@ -25,7 +29,7 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi /** * 查询留样柜操作记录 - * + * * @param recordId 留样柜操作记录主键 * @return 留样柜操作记录 */ @@ -36,7 +40,7 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi /** * 查询留样柜操作记录列表 - * + * * @param kitchenSampleCabinetRecord 留样柜操作记录 * @return 留样柜操作记录 */ @@ -44,7 +48,7 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi public List selectKitchenSampleCabinetRecordList(KitchenSampleCabinetRecord kitchenSampleCabinetRecord) { List kitchenSampleCabinetRecordList = kitchenSampleCabinetRecordMapper .selectKitchenSampleCabinetRecordList(kitchenSampleCabinetRecord); - if(CollUtil.isNotEmpty(kitchenSampleCabinetRecordList)) { + if (CollUtil.isNotEmpty(kitchenSampleCabinetRecordList)) { for (KitchenSampleCabinetRecord record : kitchenSampleCabinetRecordList) { record.setActionTypeName(SampleCabinetActionTypeEnum.getDescByKey(record.getActionType())); } @@ -54,24 +58,56 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi /** * 新增留样柜操作记录 - * + * * @param kitchenSampleCabinetRecord 留样柜操作记录 * @return 结果 */ @Override + @Transactional(rollbackFor = Exception.class) public int insertKitchenSampleCabinetRecord(KitchenSampleCabinetRecord kitchenSampleCabinetRecord) { kitchenSampleCabinetRecord.setCreateTime(DateUtils.getNowDate()); + kitchenSampleCabinetRecord.setCreateBy(SecurityUtils.getUsername()); kitchenSampleCabinetRecord.setRecordId(null); try { - return kitchenSampleCabinetRecordMapper.insertKitchenSampleCabinetRecord(kitchenSampleCabinetRecord); + if (StringHelper.isNullOrEmptyString(kitchenSampleCabinetRecord.getSampleId())){ + kitchenSampleCabinetRecord.setSampleId("-1"); + int code = kitchenSampleCabinetRecordMapper.insertKitchenSampleCabinetRecord(kitchenSampleCabinetRecord); + if (code <= 0) { + throw new ServiceException("新增留样柜操作记录失败"); + } + return 1; + } + String[] arr = kitchenSampleCabinetRecord.getSampleId().split(","); + for (String id : arr) { + kitchenSampleCabinetRecord.setSampleId(id); + int code = kitchenSampleCabinetRecordMapper.insertKitchenSampleCabinetRecord(kitchenSampleCabinetRecord); + if (code <= 0) { + throw new ServiceException("新增留样柜操作记录失败"); + } + if (2 == kitchenSampleCabinetRecord.getOperateType()){ + return 1; + } + if( 1 == kitchenSampleCabinetRecord.getActionType() || 2 == kitchenSampleCabinetRecord.getActionType()) { + // 记录新增成功后,更新留样柜状态 + int updateCode = kitchenSampleCabinetRecordMapper.updateKitchenSampleRecord(kitchenSampleCabinetRecord); + if (updateCode <= 0) { + throw new ServiceException("更新留样柜状态失败"); + } + } + + } + return 1; } catch (Exception e) { - throw new ServiceException(e.getMessage()); + // 回滚事务 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + // 抛出自定义异常 + throw new ServiceException("新增留样柜操作记录失败"); } } /** * 修改留样柜操作记录 - * + * * @param kitchenSampleCabinetRecord 留样柜操作记录 * @return 结果 */ @@ -87,7 +123,7 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi /** * 批量删除留样柜操作记录 - * + * * @param recordIds 需要删除的留样柜操作记录主键 * @return 结果 */ @@ -98,7 +134,7 @@ public class KitchenSampleCabinetRecordServiceImpl implements IKitchenSampleCabi /** * 删除留样柜操作记录信息 - * + * * @param recordId 留样柜操作记录主键 * @return 结果 */ diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml index a442955..4117867 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml @@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -39,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and kscr.device_id = #{deviceId} + and kscr.sampleId = #{sampleId} and open_cabinet_temp = #{openCabinetTemp} and close_cabinet_temp = #{closeCabinetTemp} and kscr.staff_id = #{staffId} @@ -76,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into kitchen_sample_cabinet_record device_id, + sampleId, open_cabinet_temp, close_cabinet_temp, staff_id, @@ -92,6 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{deviceId}, + #{sampleId}, #{openCabinetTemp}, #{closeCabinetTemp}, #{staffId}, @@ -112,6 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update kitchen_sample_cabinet_record device_id = #{deviceId}, + device_id = #{sampleId}, open_cabinet_temp = #{openCabinetTemp}, close_cabinet_temp = #{closeCabinetTemp}, staff_id = #{staffId}, @@ -123,7 +128,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" operate_date = #{operateDate}, create_by = #{createBy}, create_time = #{createTime}, - update_by = #{updateBy}, + 0 update_by = #{updateBy}, update_time = #{updateTime}, where record_id = #{recordId} @@ -139,4 +144,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{recordId} + + + + update kitchen_sample_dishes_record set + enter_cabinet_time= now(), + cabinet_no = #{deviceId}, + save_status = '2' + where record_id = #{sampleId}; + + + + update kitchen_sample_dishes_record set + leave_cabinet_time= now(), + cabinet_no = #{deviceId}, + save_status = '3', + valid_duration = TIMESTAMPDIFF(HOUR , enter_cabinet_time, now()), + duration_standard = if(TIMESTAMPDIFF(HOUR, enter_cabinet_time, now()), 1, 2) + where record_id = #{sampleId}; + + \ No newline at end of file