From 904727f59b7e10a291ce7d1576e33192a619f2f2 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 05 八月 2025 17:08:39 +0800
Subject: [PATCH] MDC设备树和设备权限改造

---
 src/main/java/org/jeecg/modules/system/controller/SysUserController.java |  226 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 215 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index ba318e0..9cc6fdd 100644
--- a/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -12,6 +12,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import liquibase.pro.packaged.I;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -25,13 +26,21 @@
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
+import org.jeecg.modules.base.entity.UserFactory;
+import org.jeecg.modules.base.entity.UserGroup;
 import org.jeecg.modules.base.service.BaseCommonService;
+import org.jeecg.modules.base.service.IUserFactoryService;
+import org.jeecg.modules.base.service.IUserGroupService;
+import org.jeecg.modules.mdc.model.ProductionIdModel;
+import org.jeecg.modules.mdc.service.IMdcUserProductionService;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.model.DepartIdModel;
-import org.jeecg.modules.system.model.ProductionIdModel;
+import org.jeecg.modules.base.model.FactoryIdModel;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.SysDepartUsersVO;
+import org.jeecg.modules.system.vo.SysUserFactoryVO;
+import org.jeecg.modules.system.vo.SysUserGroupVO;
 import org.jeecg.modules.system.vo.SysUserRoleVO;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -97,7 +106,13 @@
     private BaseCommonService baseCommonService;
 
     @Resource
+    private IUserFactoryService userFactoryService;
+
+    @Resource
     private IMdcUserProductionService userProductionService;
+
+    @Resource
+    private IUserGroupService userGroupService;
 
     /**
      * 鑾峰彇鐢ㄦ埛鍒楄〃鏁版嵁
@@ -238,7 +253,7 @@
         Result<SysUser> result = new Result<SysUser>();
         String selectedRoles = jsonObject.getString("selectedroles");
         String selectedDeparts = jsonObject.getString("selecteddeparts");
-        String selectedProductions = jsonObject.getString("selectedProduction");
+        String selectedProductions = jsonObject.getString("selectedFactorys");
         try {
             SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
             user.setCreateTime(new Date());//璁剧疆鍒涘缓鏃堕棿
@@ -280,7 +295,7 @@
                 user.setPassword(sysUser.getPassword());
                 String roles = jsonObject.getString("selectedroles");
                 String departs = jsonObject.getString("selecteddeparts");
-                String productions = jsonObject.getString("selectedProduction");
+                String productions = jsonObject.getString("selectedFactorys");
                 if (oConvertUtils.isEmpty(departs)) {
                     //vue3.0鍓嶇鍙紶閫掍簡departIds
                     departs = user.getDepartIds();
@@ -461,17 +476,17 @@
 
     }
 
-    @AutoLog(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屼骇绾垮叧鑱旂殑鏁版嵁")
-    @ApiOperation(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屼骇绾垮叧鑱旂殑鏁版嵁", notes = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屼骇绾垮叧鑱旂殑鏁版嵁")
-    @GetMapping(value = "/userProductionList")
-    public Result<List<ProductionIdModel>> getUserProductionsList(@RequestParam(name = "userId", required = true) String userId) {
-        Result<List<ProductionIdModel>> result = new Result<>();
+    @AutoLog(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屽伐鍘傚缓妯″叧鑱旂殑鏁版嵁")
+    @ApiOperation(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屽伐鍘傚缓妯″叧鑱旂殑鏁版嵁", notes = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜屽伐鍘傚缓妯″叧鑱旂殑鏁版嵁")
+    @GetMapping(value = "/userFactorysList")
+    public Result<List<FactoryIdModel>> getUserFactorysList(@RequestParam(name = "userId", required = true) String userId) {
+        Result<List<FactoryIdModel>> result = new Result<>();
         try {
-            List<ProductionIdModel> proIdModelList = this.userProductionService.queryProductionIdsOfUser(userId);
-            if (proIdModelList != null && !proIdModelList.isEmpty()) {
+            List<FactoryIdModel> facIdModelList = this.userFactoryService.queryFactoryIdsOfUser(userId);
+            if (facIdModelList != null && !facIdModelList.isEmpty()) {
                 result.setSuccess(true);
                 result.setMessage("鏌ユ壘鎴愬姛");
-                result.setResult(proIdModelList);
+                result.setResult(facIdModelList);
             } else {
                 result.setSuccess(false);
                 result.setMessage("鏌ユ壘澶辫触");
@@ -1588,4 +1603,193 @@
         return ls;
     }
 
+
+    @RequestMapping(value = "/userGroupList", method = RequestMethod.GET)
+    public Result<IPage<SysUser>> userGroupList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+        Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
+        Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+        String groupId = req.getParameter("groupId");
+        String username = req.getParameter("username");
+        IPage<SysUser> pageList = sysUserService.getUserByGroupId(page, groupId, username);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 缁欐寚瀹氱彮缁勬坊鍔犱汉鍛�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/addBaseUserGroup", method = RequestMethod.POST)
+    public Result<String> addBaseUserGroup(@RequestBody SysUserGroupVO sysUserGroupVO) {
+        Result<String> result = new Result<String>();
+        try {
+            String groupId = sysUserGroupVO.getGroupId();
+            for (String userId : sysUserGroupVO.getUserIdList()) {
+                UserGroup userGroup = new UserGroup(groupId,userId);
+                QueryWrapper<UserGroup> queryWrapper = new QueryWrapper<UserGroup>();
+                queryWrapper.eq("group_id", groupId).eq("user_id", userId);
+                UserGroup one = userGroupService.getOne(queryWrapper);
+                if (one == null) {
+                    userGroupService.save(userGroup);
+                }
+
+            }
+            result.setMessage("娣诲姞鎴愬姛!");
+            result.setSuccess(true);
+            return result;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+            result.setMessage("鍑洪敊浜�: " + e.getMessage());
+            return result;
+        }
+    }
+
+    /**
+     * 鍒犻櫎鎸囧畾鐝粍鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserGroup", method = RequestMethod.DELETE)
+    public Result<UserGroup> deleteUserGroup(@RequestParam(name = "groupId") String groupId,
+                                              @RequestParam(name = "userId", required = true) String userId
+    ) {
+        Result<UserGroup> result = new Result<UserGroup>();
+        try {
+            QueryWrapper<UserGroup> queryWrapper = new QueryWrapper<UserGroup>();
+            queryWrapper.eq("group_id", groupId).eq("user_id", userId);
+            userGroupService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎸囧畾鐝粍鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserGroupBatch", method = RequestMethod.DELETE)
+    public Result<UserGroup> deleteUserGroupBatch(
+            @RequestParam(name = "groupId") String groupId,
+            @RequestParam(name = "userIds", required = true) String userIds) {
+        Result<UserGroup> result = new Result<UserGroup>();
+        try {
+            QueryWrapper<UserGroup> queryWrapper = new QueryWrapper<UserGroup>();
+            queryWrapper.eq("group_id", groupId).in("user_id", Arrays.asList(userIds.split(",")));
+            userGroupService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
+    @RequestMapping(value = "/userFactoryList", method = RequestMethod.GET)
+    public Result<IPage<SysUser>> userFactoryList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+        Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
+        Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+        String factoryId = req.getParameter("factoryId");
+        String username = req.getParameter("username");
+        IPage<SysUser> pageList = sysUserService.getUserByFactoryId(page, factoryId, username);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 缁欐寚瀹氫骇绾挎坊鍔犱汉鍛�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/addBaseUserFactory", method = RequestMethod.POST)
+    public Result<String> addBaseUserFactory(@RequestBody SysUserFactoryVO sysUserFactoryVO) {
+        Result<String> result = new Result<String>();
+        try {
+            String factoryId = sysUserFactoryVO.getFactoryId();
+            for (String userId : sysUserFactoryVO.getUserIdList()) {
+                UserFactory userFactory = new UserFactory(factoryId,userId);
+                QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+                queryWrapper.eq("factory_id", factoryId).eq("user_id", userId);
+                UserFactory one = userFactoryService.getOne(queryWrapper);
+                if (one == null) {
+                    userFactoryService.save(userFactory);
+                }
+
+            }
+            result.setMessage("娣诲姞鎴愬姛!");
+            result.setSuccess(true);
+            return result;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+            result.setMessage("鍑洪敊浜�: " + e.getMessage());
+            return result;
+        }
+    }
+
+    /**
+     * 鍒犻櫎鎸囧畾浜х嚎鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserFactory", method = RequestMethod.DELETE)
+    public Result<UserFactory> deleteUserFactory(@RequestParam(name = "factoryId") String factoryId,
+                                             @RequestParam(name = "userId", required = true) String userId
+    ) {
+        Result<UserFactory> result = new Result<UserFactory>();
+        try {
+            QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+            queryWrapper.eq("factory_id", factoryId).eq("user_id", userId);
+            userFactoryService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎸囧畾浜х嚎鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserFactoryBatch", method = RequestMethod.DELETE)
+    public Result<UserFactory> deleteUserFactoryBatch(
+            @RequestParam(name = "factoryId") String factoryId,
+            @RequestParam(name = "userIds", required = true) String userIds) {
+        Result<UserFactory> result = new Result<UserFactory>();
+        try {
+            QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+            queryWrapper.eq("factory_id", factoryId).in("user_id", Arrays.asList(userIds.split(",")));
+            userFactoryService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
 }

--
Gitblit v1.9.3