From 4b838e2a64b4f441819f43fccd067c076eb422b9 Mon Sep 17 00:00:00 2001 From: liusuyi <13324259@qq.com> Date: 星期三, 26 七月 2023 22:47:15 +0800 Subject: [PATCH] 修改用户关联报警类型 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 46 insertions(+), 2 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 93eca00..c74bca5 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,19 @@ 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.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 +73,8 @@ protected Validator validator; @Resource private RedisCache redisCache; + @Resource + private ArdAlarmTypeConfigMapper ardAlarmTypeConfigMapper; /** * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨 @@ -306,6 +314,8 @@ insertUserPost(user); // 鏂板鐢ㄦ埛涓庤鑹茬鐞� insertUserRole(user); + // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + insertAlarmTypeConfig(user); return rows; } @@ -330,6 +340,11 @@ @Transactional public int updateUser(SysUser user) { String userId = user.getUserId(); + // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByUserId(userId); + // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + insertAlarmTypeConfig(user); + // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.deleteUserRoleByUserId(userId); // 鏂板鐢ㄦ埛涓庤鑹茬鐞� @@ -429,7 +444,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()); + } /** * 鏂板鐢ㄦ埛宀椾綅淇℃伅 * @@ -469,7 +491,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鍒犻櫎鐢ㄦ埛 * @@ -503,6 +545,8 @@ checkUserAllowed(new SysUser(userId)); checkUserDataScope(userId); } + // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱� + ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByIds(userIds); // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.deleteUserRole(userIds); // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱� -- Gitblit v1.9.3