From 167d184121945c0d6098b92fcaeec5e3c8fd4fa3 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 07 八月 2023 11:56:27 +0800 Subject: [PATCH] 优化雷达报警 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 69 +++++++++++++++++++++++++++++++++- 1 files changed, 66 insertions(+), 3 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 6b36d4f..ba64906 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -3,13 +3,20 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.validation.Validator; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.alarm.config.domain.ArdAlarmTypeConfig; +import com.ruoyi.alarm.config.mapper.ArdAlarmTypeConfigMapper; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.common.utils.uuid.IdUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -67,6 +74,8 @@ protected Validator validator; @Resource private RedisCache redisCache; + @Resource + private ArdAlarmTypeConfigMapper ardAlarmTypeConfigMapper; /** * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨 @@ -128,7 +137,17 @@ public List<SysUser> selectUserList(SysUser user) { return userMapper.selectUserList(user); } - + /** + * 鑾峰彇App鍗曞叺鍜屾寚鎸ョ鐢ㄦ埛鍒楄〃 + * + * @param user APP鐢ㄦ埛淇℃伅 + * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 + */ + @Override +// @DataScope(deptAlias = "d", userAlias = "u") + public List<SysUser> selectAllAppUserList(SysUser user) { + return userMapper.selectAllAppUserList(user); + } /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛� * @@ -301,6 +320,8 @@ insertUserPost(user); // 鏂板鐢ㄦ埛涓庤鑹茬鐞� insertUserRole(user); + // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + insertAlarmTypeConfig(user); return rows; } @@ -325,6 +346,11 @@ @Transactional public int updateUser(SysUser user) { String userId = user.getUserId(); + // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByUserId(userId); + // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + insertAlarmTypeConfig(user); + // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.deleteUserRoleByUserId(userId); // 鏂板鐢ㄦ埛涓庤鑹茬鐞� @@ -424,7 +450,14 @@ public void insertUserRole(SysUser user) { this.insertUserRole(user.getUserId(), user.getRoleIds()); } - + /** + * 鏂板鐢ㄦ埛鎶ヨ绫诲瀷淇℃伅 + * + * @param user 鐢ㄦ埛瀵硅薄 + */ + public void insertAlarmTypeConfig(SysUser user) { + this.insertAlarmTypeConfig(user.getUserId(), user.getCommands()); + } /** * 鏂板鐢ㄦ埛宀椾綅淇℃伅 * @@ -464,7 +497,27 @@ userRoleMapper.batchUserRole(list); } } - + /** + * 鏂板鐢ㄦ埛鎶ヨ绫诲瀷 + * + * @param userId 鐢ㄦ埛ID + * @param commands 鎶ヨ绫诲瀷缁� + */ + public void insertAlarmTypeConfig(String userId, List<String> commands) { + if (StringUtils.isNotEmpty(commands)) { + // 鏂板鐢ㄦ埛涓庤鑹茬鐞� + List<ArdAlarmTypeConfig> list = new ArrayList<ArdAlarmTypeConfig>(commands.size()); + for (String command : commands) { + ArdAlarmTypeConfig ur = new ArdAlarmTypeConfig(); + ur.setUserId(userId); + ur.setCommand(command); + String alarm_type = DictUtils.getDictLabel("alarm_type", command); + ur.setAlarmType(alarm_type); + list.add(ur); + } + ardAlarmTypeConfigMapper.batchAlarmTypeConfig(list); + } + } /** * 閫氳繃鐢ㄦ埛ID鍒犻櫎鐢ㄦ埛 * @@ -498,6 +551,8 @@ checkUserAllowed(new SysUser(userId)); checkUserDataScope(userId); } + // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByIds(userIds); // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.deleteUserRole(userIds); // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱� @@ -575,4 +630,12 @@ private String getCacheKey(String configKey) { return CacheConstants.USER_LIST_KEY + configKey; } + + + @Override + public List<SysUser> userByDeptList(List<Long> deptList) { + QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>(); + queryWrapper.in("dept_id",deptList); + return userMapper.selectList(queryWrapper); + } } -- Gitblit v1.9.3