Commit 4629084c1ba1411109403dcec1f11b6096b46f32
1 parent
0302ebee
refactor(iot): 重构升级记录状态更新逻辑
- 修改 IotOtaUpgradeRecordMapper 中的 cancelUpgradeRecordByTaskId 方法- 新增 updateUpgradeRecordStatusByTaskIdAndStatus 方法,用于更通用的状态更新 - 在 IotOtaUpgradeRecordServiceImpl 中调用新方法来取消升级记录
Showing
2 changed files
with
13 additions
and
10 deletions
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaUpgradeRecordMapper.java
| @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||
| 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; | 6 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; |
| 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; | 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; |
| 8 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum; | ||
| 9 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 8 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 10 | import org.apache.ibatis.annotations.Mapper; | 9 | import org.apache.ibatis.annotations.Mapper; |
| 11 | import org.apache.ibatis.annotations.Param; | 10 | import org.apache.ibatis.annotations.Param; |
| @@ -82,18 +81,20 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | @@ -82,18 +81,20 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | ||
| 82 | } | 81 | } |
| 83 | 82 | ||
| 84 | /** | 83 | /** |
| 85 | - * 根据任务ID取消升级记录。 | ||
| 86 | - * 该方法通过任务ID查找状态为“待处理”的升级记录,并将其状态更新为“已取消”。 | 84 | + * 根据任务ID和状态更新升级记录的状态 |
| 85 | + * <p> | ||
| 86 | + * 该函数用于将符合指定任务ID和状态的升级记录的状态更新为新的状态。 | ||
| 87 | * | 87 | * |
| 88 | - * @param taskId 任务ID,用于查找对应的升级记录。 | 88 | + * @param setStatus 要设置的新状态值,类型为Integer |
| 89 | + * @param taskId 要更新的升级记录对应的任务ID,类型为Long | ||
| 90 | + * @param whereStatus 用于筛选升级记录的当前状态值,类型为Integer | ||
| 89 | */ | 91 | */ |
| 90 | - default void cancelUpgradeRecordByTaskId(Long taskId) { | ||
| 91 | - // 使用LambdaUpdateWrapper构建更新条件,将状态为“待处理”的记录更新为“已取消” | ||
| 92 | - // TODO @li:哪些可以更新,通过 service 传递。mapper 尽量不要有逻辑 | 92 | + default void updateUpgradeRecordStatusByTaskIdAndStatus(Integer setStatus, Long taskId, Integer whereStatus) { |
| 93 | + // 使用LambdaUpdateWrapper构建更新条件,将指定状态的记录更新为指定状态 | ||
| 93 | update(new LambdaUpdateWrapper<IotOtaUpgradeRecordDO>() | 94 | update(new LambdaUpdateWrapper<IotOtaUpgradeRecordDO>() |
| 94 | - .set(IotOtaUpgradeRecordDO::getStatus, IotOtaUpgradeRecordStatusEnum.CANCELED.getStatus()) | 95 | + .set(IotOtaUpgradeRecordDO::getStatus, setStatus) |
| 95 | .eq(IotOtaUpgradeRecordDO::getTaskId, taskId) | 96 | .eq(IotOtaUpgradeRecordDO::getTaskId, taskId) |
| 96 | - .eq(IotOtaUpgradeRecordDO::getStatus, IotOtaUpgradeRecordStatusEnum.PENDING.getStatus()) | 97 | + .eq(IotOtaUpgradeRecordDO::getStatus, whereStatus) |
| 97 | ); | 98 | ); |
| 98 | } | 99 | } |
| 99 | 100 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeRecordServiceImpl.java
| @@ -134,7 +134,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -134,7 +134,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 134 | @Override | 134 | @Override |
| 135 | public void cancelUpgradeRecordByTaskId(Long taskId) { | 135 | public void cancelUpgradeRecordByTaskId(Long taskId) { |
| 136 | // 暂定只有待推送的升级记录可以取消 | 136 | // 暂定只有待推送的升级记录可以取消 |
| 137 | - upgradeRecordMapper.cancelUpgradeRecordByTaskId(taskId); | 137 | + upgradeRecordMapper.updateUpgradeRecordStatusByTaskIdAndStatus( |
| 138 | + IotOtaUpgradeRecordStatusEnum.CANCELED.getStatus(), taskId, | ||
| 139 | + IotOtaUpgradeRecordStatusEnum.PENDING.getStatus()); | ||
| 138 | } | 140 | } |
| 139 | 141 | ||
| 140 | @Override | 142 | @Override |