From e2c650a7fd5bda313735ce93f169ba1617d30efc Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Wed, 11 Sep 2024 10:15:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E8=AE=BE=E5=A4=87=E9=80=BB=E8=BE=91=E4=BB=A5=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E5=8E=9F=E5=AD=90=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整FactoryUserServiceImpl中用户与考勤设备绑定的逻辑。在异常情况下,现在会清除用户绑定的设备,并且在最终块中重新尝试绑定操作,确保数据库状态与实际业务流程一致。 --- .../system/service/user/FactoryUserServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java index 99d22544..aff328bc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java @@ -101,7 +101,7 @@ public class FactoryUserServiceImpl implements FactoryUserService{ usersExtDO.setUserId(user.getId()); usersExtDO.setDeptId(deptDO.getId()); usersExtDO.setAttendanceMachineNos(convertList(attendanceMachineDOS, AttendanceMachineDO::getDeviceNo)); - usersExtService.createUsers(usersExtDO); +// usersExtService.createUsers(usersExtDO); // 工厂用户添加到GPS定位系统中 adminUserService.gpsIncrementalSynchronizationOfUsers(user); try { @@ -118,12 +118,21 @@ public class FactoryUserServiceImpl implements FactoryUserService{ // 发送指令至 考勤设备 下发员工 websocketService.sendSn(machineDO.getDeviceNo(), addUserVO, 1); + + // 下发成功则设置 用户绑定设备 + usersExtDO.setAttendanceMachineNos(convertList(attendanceMachineDOS, AttendanceMachineDO::getDeviceNo)); } } catch (Exception ex) { // 手动回滚 // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + + // 下发失败则清空 用户绑定设备 + usersExtDO.setAttendanceMachineNos(null); return ex.getMessage(); + }finally { + + usersExtService.createUsers(usersExtDO); } return null;