diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/FactoryUserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/FactoryUserController.java index f0da4d15..788b6ba8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/FactoryUserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/FactoryUserController.java @@ -4,15 +4,10 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi; import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.dto.FactoryInfoDTO; -import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.UsersExtRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserSaveReqVO; -import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO; -import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO; -import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO; import cn.iocoder.yudao.module.system.convert.user.FactoryUserConvert; -import cn.iocoder.yudao.module.system.convert.user.UserConvert; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; import cn.iocoder.yudao.module.system.dal.dataobject.equipment.UsersExtDO; @@ -29,11 +24,9 @@ import org.springframework.context.annotation.Lazy; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.Valid; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -44,7 +37,6 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 工厂用户") @RestController @@ -108,9 +100,16 @@ public class FactoryUserController { @Operation(summary = "删除工厂用户") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('system:factory-user:delete')") - public CommonResult deleteUser(@RequestParam("id") Long id) { - factoryUserService.deleteUser(id); - return success(true); + public CommonResult deleteUser(@RequestParam("id") Long id) { + + String msg = factoryUserService.deleteUser(id); + if (msg == null) { + + return success("true"); + }else { + + return error(-1, msg); + } } @GetMapping("/get") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtService.java index 40561f58..38febe07 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtService.java @@ -57,7 +57,7 @@ public interface UsersExtService { /** * 删除用户人脸信息 */ - void deleteUser(Long userId); + String deleteUser(Long userId); /** * 获得用户信息拓展 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtServiceImpl.java index 98e2bcfa..2042cfa3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/equipment/UsersExtServiceImpl.java @@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.User import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.UsersExtPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.UsersExtRespVO; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.UsersExtSaveReqVO; +import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.websocket.DeleteUserVO; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.websocket.UpdateFaceImgVO; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.websocket.WebsocketBaseVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO; @@ -24,6 +25,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.mysql.equipment.UsersExtMapper; import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; +import cn.iocoder.yudao.module.system.service.websocket.WebsocketService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import org.springframework.context.annotation.Lazy; @@ -70,6 +72,9 @@ public class UsersExtServiceImpl implements UsersExtService { @Resource private DistributeRecordService recordService; + @Resource + private WebsocketService websocketService; + @Override public void createUsers(UsersExtSaveReqVO createReqVO) { @@ -192,7 +197,7 @@ public class UsersExtServiceImpl implements UsersExtService { } @Override - public void deleteUser(Long userId) { + public String deleteUser(Long userId) { //校验 当前用户人脸信息是否已存在 UsersExtDO usersExtDO = usersExtMapper.selectOne(UsersExtDO::getUserId, userId); @@ -203,7 +208,23 @@ public class UsersExtServiceImpl implements UsersExtService { usersExtMapper.delete(UsersExtDO::getUserId, userId); } + if (deviceNos != null && !deviceNos.isEmpty()) { + DeleteUserVO userVO = new DeleteUserVO() + .setCmd("delMultiUser") + .setUser_ids(new String[]{String.valueOf(usersExtDO.getUserId())}); + + try { + for (String deviceNo : deviceNos) { + + websocketService.sendSn(deviceNo, userVO, 0); + } + } catch (RuntimeException ex) { + + return ex.getMessage(); + } + } + return null; } private void validateUsersExtExists(Long userId) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserService.java index e5531b1b..bde6896a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserService.java @@ -1,10 +1,6 @@ package cn.iocoder.yudao.module.system.service.user; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserSaveReqVO; -import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; /** * 后台工厂用户 Service 接口 @@ -29,5 +25,5 @@ public interface FactoryUserService { * 删除工厂用户 * @param id 用户id */ - void deleteUser(Long id); + String deleteUser(Long id); } 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 0d71432a..e3570280 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 @@ -1,16 +1,13 @@ package cn.iocoder.yudao.module.system.service.user; -import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.userExt.UsersExtSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.equipment.vo.websocket.AddUserVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.equipment.AttendanceMachineDO; -import cn.iocoder.yudao.module.system.dal.dataobject.equipment.UsersExtDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper; import cn.iocoder.yudao.module.system.service.dept.DeptService; @@ -24,10 +21,8 @@ import org.springframework.context.annotation.Lazy; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import java.io.IOException; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -197,7 +192,8 @@ public class FactoryUserServiceImpl implements FactoryUserService{ } @Override - public void deleteUser(Long id) { + @Transactional(rollbackFor = Exception.class) // 异常回滚 + public String deleteUser(Long id) { // 校验是否存在 validateId(id); @@ -206,7 +202,7 @@ public class FactoryUserServiceImpl implements FactoryUserService{ userMapper.deleteById(id); // 同步删除用户拓展信息 - usersExtService.deleteUser(id); + return usersExtService.deleteUser(id); } private void validateId(Long id) {