From ca39aeadb7b19b2e854d5e2694e52b63ef9e8afe Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 21 十一月 2023 14:35:00 +0800
Subject: [PATCH] 菜单/字典/系统配置增加双语

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 73 insertions(+), 6 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..9e26b0f 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,21 @@
 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.domain.model.LoginUser;
 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 +75,8 @@
     protected Validator validator;
     @Resource
     private RedisCache redisCache;
+    @Resource
+    private ArdAlarmTypeConfigMapper ardAlarmTypeConfigMapper;
 
     /**
      * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨
@@ -128,12 +138,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> selectAppUserList(SysUser user) {
-        return userMapper.selectAppUserList(user);
+//    @DataScope(deptAlias = "d", userAlias = "u")
+    public List<SysUser> selectAllAppUserList(SysUser user) {
+        return userMapper.selectAllAppUserList(user);
     }
-
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�
      *
@@ -298,6 +313,7 @@
     public int insertUser(SysUser user) {
 
         // 鏂板鐢ㄦ埛淇℃伅
+        user.setUserId(IdUtils.simpleUUID());
         int rows = userMapper.insertUser(user);
         if (rows > 0) {  //澧炲姞鐢ㄦ埛缂撳瓨
             redisCache.setCacheObject(getCacheKey(user.getUserId()), user);
@@ -306,6 +322,8 @@
         insertUserPost(user);
         // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
         insertUserRole(user);
+        // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱�
+        insertAlarmTypeConfig(user);
         return rows;
     }
 
@@ -330,6 +348,11 @@
     @Transactional
     public int updateUser(SysUser user) {
         String userId = user.getUserId();
+        // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱�
+        ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByUserId(userId);
+        // 鏂板鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱�
+        insertAlarmTypeConfig(user);
+
         // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
         userRoleMapper.deleteUserRoleByUserId(userId);
         // 鏂板鐢ㄦ埛涓庤鑹茬鐞�
@@ -429,7 +452,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 +499,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 +553,8 @@
             checkUserAllowed(new SysUser(userId));
             checkUserDataScope(userId);
         }
+        // 鍒犻櫎鐢ㄦ埛涓庢姤璀︾被鍨嬪叧鑱�
+        ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByIds(userIds);
         // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱�
         userRoleMapper.deleteUserRole(userIds);
         // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱�
@@ -580,4 +632,19 @@
     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);
+    }
+
+    @Override
+    public List<SysUser> userByDept(Long deptId) {
+        QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("dept_id",deptId).eq("del_flag","0").eq("app_user_type","1");
+        return userMapper.selectList(queryWrapper);
+    }
 }

--
Gitblit v1.9.3