Przeglądaj źródła

处理用户数据

459242451@qq.com 3 lat temu
rodzic
commit
b83562db6d

+ 58 - 95
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -3,8 +3,8 @@ package com.ruoyi.web.controller.system;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONObject;
 import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.Security;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -16,7 +16,7 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.framework.web.service.UserUtil;
 import com.ruoyi.system.domain.vo.SysUserExportVo;
 import com.ruoyi.system.domain.vo.SysUserImportVo;
 import com.ruoyi.system.mapper.SysUserRoleMapper;
@@ -26,12 +26,18 @@ import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -44,8 +50,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequestMapping("/system/user")
-public class SysUserController extends BaseController
-{
+public class SysUserController extends BaseController {
     @Autowired
     private ISysUserService userService;
 
@@ -63,61 +68,55 @@ public class SysUserController extends BaseController
      */
 //    @PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysUser user)
-    {
+    public TableDataInfo list(SysUser user) {
         return userService.selectPageUserList(user);
     }
 
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('system:user:export')")
     @GetMapping("/export")
-    public void export(SysUser user, HttpServletResponse response)
-    {
+    public void export(SysUser user, HttpServletResponse response) {
         List<SysUser> list = userService.selectUserList(user);
-		List<SysUserExportVo> listVo = BeanUtil.copyToList(list, SysUserExportVo.class);
-		for (int i = 0; i < list.size(); i++) {
-			SysDept dept = list.get(i).getDept();
-			SysUserExportVo vo = listVo.get(i);
-			if (ObjectUtil.isNotEmpty(dept)) {
-				vo.setDeptName(dept.getDeptName());
-				vo.setLeader(dept.getLeader());
-			}
-		}
-		ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response);
+        List<SysUserExportVo> listVo = BeanUtil.copyToList(list, SysUserExportVo.class);
+        for (int i = 0; i < list.size(); i++) {
+            SysDept dept = list.get(i).getDept();
+            SysUserExportVo vo = listVo.get(i);
+            if (ObjectUtil.isNotEmpty(dept)) {
+                vo.setDeptName(dept.getDeptName());
+                vo.setLeader(dept.getLeader());
+            }
+        }
+        ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response);
     }
 
     @Log(title = "用户管理", businessType = BusinessType.IMPORT)
     @PreAuthorize("@ss.hasPermi('system:user:import')")
     @PostMapping("/importData")
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
-    {
-		List<SysUserImportVo> userListVo = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class);
-		List<SysUser> userList = BeanUtil.copyToList(userListVo, SysUser.class);
+    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
+        List<SysUserImportVo> userListVo = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class);
+        List<SysUser> userList = BeanUtil.copyToList(userListVo, SysUser.class);
         String operName = getUsername();
         String message = userService.importUser(userList, updateSupport, operName);
         return AjaxResult.success(message);
     }
 
     @GetMapping("/importTemplate")
-    public void importTemplate(HttpServletResponse response)
-    {
-		ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response);
+    public void importTemplate(HttpServletResponse response) {
+        ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response);
     }
 
     /**
      * 根据用户编号获取详细信息
      */
     @PreAuthorize("@ss.hasPermi('system:user:query')")
-    @GetMapping(value = { "/", "/{userId}" })
-    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) String userId)
-    {
-		userService.checkUserDataScope(userId);
+    @GetMapping(value = {"/", "/{userId}"})
+    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) String userId) {
+        userService.checkUserDataScope(userId);
         Map<String, Object> ajax = new HashMap<>();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
         ajax.put("posts", postService.selectPostAll());
-        if (StringUtils.isNotNull(userId))
-        {
+        if (StringUtils.isNotNull(userId)) {
             ajax.put("user", userService.selectUserById(userId));
             ajax.put("postIds", postService.selectPostListByUserId(userId));
             ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
@@ -131,20 +130,14 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:add')")
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName())))
-        {
+    public AjaxResult add(@Validated @RequestBody SysUser user) {
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
+            && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
-        {
+        } else if (StringUtils.isNotEmpty(user.getEmail())
+            && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setCreateBy(getUsername());
@@ -155,23 +148,20 @@ public class SysUserController extends BaseController
     /**
      * 修改用户
      */
-    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+//    @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysUser user)
-    {
-        userService.checkUserAllowed(user);
+    @Security
+    public AjaxResult edit(@Validated @RequestBody SysUser user) {
+        /*userService.checkUserAllowed(user);
         if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
+            && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
-        {
+        } else if (StringUtils.isNotEmpty(user.getEmail())
+            && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
             return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setUpdateBy(getUsername());
+        }*/
+        user.setUpdateBy(UserUtil.getCacheLoginUser().getUsername());
         return toAjax(userService.updateUser(user));
     }
 
@@ -181,10 +171,8 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:remove')")
     @Log(title = "用户管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
-    public AjaxResult remove(@PathVariable String[] userIds)
-    {
-        if (ArrayUtil.contains(userIds, getUserId()))
-        {
+    public AjaxResult remove(@PathVariable String[] userIds) {
+        if (ArrayUtil.contains(userIds, getUserId())) {
             return error("当前用户不能删除");
         }
         return toAjax(userService.deleteUserByIds(userIds));
@@ -196,8 +184,7 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/resetPwd")
-    public AjaxResult resetPwd(@RequestBody SysUser user)
-    {
+    public AjaxResult resetPwd(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setUpdateBy(getUsername());
@@ -210,8 +197,7 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysUser user)
-    {
+    public AjaxResult changeStatus(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         user.setUpdateBy(getUsername());
         return toAjax(userService.updateUserStatus(user));
@@ -222,11 +208,10 @@ public class SysUserController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping("/authRole/{userId}")
-    public AjaxResult authRole(@PathVariable("userId") String userId)
-    {
+    public AjaxResult authRole(@PathVariable("userId") String userId) {
         SysUser user = userService.selectUserById(userId);
         List<SysRole> roles = roleService.selectRolesByUserId(userId);
-		Map<String, Object> ajax = new HashMap<>();
+        Map<String, Object> ajax = new HashMap<>();
         ajax.put("user", user);
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
         return AjaxResult.success(ajax);
@@ -238,40 +223,18 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
-    public AjaxResult insertAuthRole(String userId, String[] roleIds)
-    {
+    public AjaxResult insertAuthRole(String userId, String[] roleIds) {
         userService.insertUserAuth(userId, roleIds);
         return success();
     }
 
     @PostMapping("/syncUc")
+    @Security
     public void syncUc() {
-        List<JSONObject> list = userService.queryTUcUser();
-        for (JSONObject jsonObject : list) {
-            SysUser sysUser = new SysUser();
-            sysUser.setUserId(jsonObject.getStr("userId"));
-            sysUser.setDeptId(jsonObject.getStr("deptId"));
-            sysUser.setUserName(jsonObject.getStr("userName"));
-            sysUser.setNickName(jsonObject.getStr("name"));
-            sysUser.setSex(jsonObject.getStr("sex"));
-            sysUser.setUserType(jsonObject.getStr("user_group_id"));
-            sysUser.setPhonenumber(jsonObject.getStr("mobile"));
-            sysUser.setPassword(SecurityUtils.encryptPassword("tocc!suqian"));
-            sysUser.setStatus(jsonObject.getStr("status"));
-            sysUser.setDelFlag(jsonObject.getStr("delFlag"));
-            sysUser.setCreateBy("system");
-            sysUser.setCreateTime(new Date());
-            sysUser.setOrgId(jsonObject.getStr("orgId"));
-            sysUser.setSuperior(jsonObject.getStr("superior"));
-            sysUser.setIdNumber(jsonObject.getStr("id_number"));
-            userService.save(sysUser);
-            SysUserRole ur = new SysUserRole();
-            ur.setUserId(sysUser.getUserId());
-            ur.setRoleId("2");
-            userRoleMapper.insert(ur);
+        List<SysUser> list = userService.list();
+        for (SysUser sysUser : list) {
+            this.edit(sysUser);
         }
-
-
     }
 
 }

+ 2 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/ResourceController.java

@@ -10,7 +10,6 @@ import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.annotation.Security;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.GatewayUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
@@ -89,12 +88,12 @@ public class ResourceController extends BaseController {
             }
         }
         // 临时增加处理只能看到该部门的数据
-        GatewayUser user = getGateWayUser();
+        /*GatewayUser user = getGateWayUser();
         if (user != null && StrUtil.isNotBlank(user.getOrgId())) {
             List<String> deptIds = new ArrayList<>();
             deptIds.add(user.getOrgId());
             bo.setDeptIds(deptIds);
-        }
+        }*/
         return iResourceService.queryPageList(bo);
     }
 

+ 42 - 68
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java

@@ -5,11 +5,11 @@ import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessStatus;
 import com.ruoyi.common.enums.HttpMethod;
 import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.framework.web.service.AsyncService;
+import com.ruoyi.framework.web.service.UserUtil;
 import com.ruoyi.system.domain.SysOperLog;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.Signature;
@@ -38,14 +38,12 @@ import java.util.Map;
  */
 @Aspect
 @Component
-public class LogAspect
-{
+public class LogAspect {
     private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
 
     // 配置织入点
     @Pointcut("@annotation(com.ruoyi.common.annotation.Log)")
-    public void logPointCut()
-    {
+    public void logPointCut() {
     }
 
     /**
@@ -54,8 +52,7 @@ public class LogAspect
      * @param joinPoint 切点
      */
     @AfterReturning(pointcut = "logPointCut()", returning = "jsonResult")
-    public void doAfterReturning(JoinPoint joinPoint, Object jsonResult)
-    {
+    public void doAfterReturning(JoinPoint joinPoint, Object jsonResult) {
         handleLog(joinPoint, null, jsonResult);
     }
 
@@ -63,27 +60,24 @@ public class LogAspect
      * 拦截异常操作
      *
      * @param joinPoint 切点
-     * @param e 异常
+     * @param e         异常
      */
     @AfterThrowing(value = "logPointCut()", throwing = "e")
-    public void doAfterThrowing(JoinPoint joinPoint, Exception e)
-    {
+    public void doAfterThrowing(JoinPoint joinPoint, Exception e) {
         handleLog(joinPoint, e, null);
     }
 
-    protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult)
-    {
-        try
-        {
+    protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult) {
+        try {
             // 获得注解
             Log controllerLog = getAnnotationLog(joinPoint);
-            if (controllerLog == null)
-            {
+            if (controllerLog == null) {
                 return;
             }
 
             // 获取当前的用户
-            LoginUser loginUser = SecurityUtils.getLoginUser();
+//            LoginUser loginUser = SecurityUtils.getLoginUser();
+            LoginUser loginUser = UserUtil.getCacheLoginUser();
 
             // *========数据库日志=========*//
             SysOperLog operLog = new SysOperLog();
@@ -95,13 +89,11 @@ public class LogAspect
             operLog.setJsonResult(JsonUtils.toJsonString(jsonResult));
 
             operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
-            if (loginUser != null)
-            {
+            if (loginUser != null) {
                 operLog.setOperName(loginUser.getUsername());
             }
 
-            if (e != null)
-            {
+            if (e != null) {
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
                 operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
             }
@@ -114,10 +106,8 @@ public class LogAspect
             // 处理设置注解上的参数
             getControllerMethodDescription(joinPoint, controllerLog, operLog);
             // 保存数据库
-			SpringUtils.getBean(AsyncService.class).recordOper(operLog);
-        }
-        catch (Exception exp)
-        {
+            SpringUtils.getBean(AsyncService.class).recordOper(operLog);
+        } catch (Exception exp) {
             // 记录本地异常日志
             log.error("==前置通知异常==");
             log.error("异常信息:{}", exp.getMessage());
@@ -128,12 +118,11 @@ public class LogAspect
     /**
      * 获取注解中对方法的描述信息 用于Controller层注解
      *
-     * @param log 日志
+     * @param log     日志
      * @param operLog 操作日志
      * @throws Exception
      */
-    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog) throws Exception
-    {
+    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog) throws Exception {
         // 设置action动作
         operLog.setBusinessType(log.businessType().ordinal());
         // 设置标题
@@ -141,8 +130,7 @@ public class LogAspect
         // 设置操作人类别
         operLog.setOperatorType(log.operatorType().ordinal());
         // 是否需要保存request,参数和值
-        if (log.isSaveRequestData())
-        {
+        if (log.isSaveRequestData()) {
             // 获取参数的信息,传入到数据库中。
             setRequestValue(joinPoint, operLog);
         }
@@ -154,16 +142,12 @@ public class LogAspect
      * @param operLog 操作日志
      * @throws Exception 异常
      */
-    private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog) throws Exception
-    {
+    private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog) throws Exception {
         String requestMethod = operLog.getRequestMethod();
-        if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))
-        {
+        if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) {
             String params = argsArrayToString(joinPoint.getArgs());
             operLog.setOperParam(StringUtils.substring(params, 0, 2000));
-        }
-        else
-        {
+        } else {
             Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
             operLog.setOperParam(StringUtils.substring(paramsMap.toString(), 0, 2000));
         }
@@ -172,14 +156,12 @@ public class LogAspect
     /**
      * 是否存在注解,如果存在就获取
      */
-    private Log getAnnotationLog(JoinPoint joinPoint) throws Exception
-    {
+    private Log getAnnotationLog(JoinPoint joinPoint) throws Exception {
         Signature signature = joinPoint.getSignature();
         MethodSignature methodSignature = (MethodSignature) signature;
         Method method = methodSignature.getMethod();
 
-        if (method != null)
-        {
+        if (method != null) {
             return method.getAnnotation(Log.class);
         }
         return null;
@@ -188,16 +170,14 @@ public class LogAspect
     /**
      * 参数拼装
      */
-    private String argsArrayToString(Object[] paramsArray)
-    {
+    private String argsArrayToString(Object[] paramsArray) {
         StringBuilder params = new StringBuilder();
-        if (paramsArray != null && paramsArray.length > 0)
-        {
-			for (Object o : paramsArray) {
-				if (StringUtils.isNotNull(o) && !isFilterObject(o)) {
-					params.append(JsonUtils.toJsonString(o)).append(" ");
-				}
-			}
+        if (paramsArray != null && paramsArray.length > 0) {
+            for (Object o : paramsArray) {
+                if (StringUtils.isNotNull(o) && !isFilterObject(o)) {
+                    params.append(JsonUtils.toJsonString(o)).append(" ");
+                }
+            }
         }
         return params.toString().trim();
     }
@@ -209,29 +189,23 @@ public class LogAspect
      * @return 如果是需要过滤的对象,则返回true;否则返回false。
      */
     @SuppressWarnings("rawtypes")
-    public boolean isFilterObject(final Object o)
-    {
+    public boolean isFilterObject(final Object o) {
         Class<?> clazz = o.getClass();
-        if (clazz.isArray())
-        {
+        if (clazz.isArray()) {
             return clazz.getComponentType().isAssignableFrom(MultipartFile.class);
-        }
-        else if (Collection.class.isAssignableFrom(clazz))
-        {
+        } else if (Collection.class.isAssignableFrom(clazz)) {
             Collection collection = (Collection) o;
-			for (Object value : collection) {
-				return value instanceof MultipartFile;
-			}
-        }
-        else if (Map.class.isAssignableFrom(clazz))
-        {
+            for (Object value : collection) {
+                return value instanceof MultipartFile;
+            }
+        } else if (Map.class.isAssignableFrom(clazz)) {
             Map map = (Map) o;
-			for (Object value : map.entrySet()) {
-				Map.Entry entry = (Map.Entry) value;
-				return entry.getValue() instanceof MultipartFile;
-			}
+            for (Object value : map.entrySet()) {
+                Map.Entry entry = (Map.Entry) value;
+                return entry.getValue() instanceof MultipartFile;
+            }
         }
         return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
-                || o instanceof BindingResult;
+            || o instanceof BindingResult;
     }
 }

+ 2 - 2
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -110,8 +110,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
             .antMatchers("/*/api-docs").anonymous()
             .antMatchers("/druid/**").anonymous()
             // 测试相关
-            .antMatchers("/system/dept/syncUc").anonymous()
-            .antMatchers("/system/user/syncUc").anonymous()
+            .antMatchers("/system/dept/**").anonymous()
+            .antMatchers("/system/user/**").anonymous()
             // Spring Boot Actuator 的安全配置
             .antMatchers("/actuator").anonymous()
             .antMatchers("/actuator/**").anonymous()

+ 0 - 4
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,11 +1,9 @@
 package com.ruoyi.system.mapper;
 
-import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -58,6 +56,4 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser> {
      */
     public SysUser selectUserById(String userId);
 
-    @Select("select * from t_uc_user where \"delFlag\" = '0'")
-    List<JSONObject> queryTUcUser();
 }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java

@@ -117,4 +117,12 @@ public interface ISysDeptService extends IService<SysDept> {
     public int deleteDeptById(String deptId);
 
     List<JSONObject> queryTUcDept();
+
+    /**
+     * 寻找该部门的机构部门
+     *
+     * @param sysDept
+     * @return
+     */
+    SysDept getOrgDept(SysDept sysDept);
 }

+ 4 - 6
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -1,6 +1,5 @@
 package com.ruoyi.system.service;
 
-import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -138,7 +137,7 @@ public interface ISysUserService extends IService<SysUser> {
     /**
      * 用户授权角色
      *
-     * @param userId 用户ID
+     * @param userId  用户ID
      * @param roleIds 角色组
      */
     public void insertUserAuth(String userId, String[] roleIds);
@@ -163,7 +162,7 @@ public interface ISysUserService extends IService<SysUser> {
      * 修改用户头像
      *
      * @param userName 用户名
-     * @param avatar 头像地址
+     * @param avatar   头像地址
      * @return 结果
      */
     public boolean updateUserAvatar(String userName, String avatar);
@@ -204,12 +203,11 @@ public interface ISysUserService extends IService<SysUser> {
     /**
      * 导入用户数据
      *
-     * @param userList 用户数据列表
+     * @param userList        用户数据列表
      * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
-     * @param operName 操作用户
+     * @param operName        操作用户
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
 
-    List<JSONObject> queryTUcUser();
 }

+ 15 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.TreeSelect;
 import com.ruoyi.common.core.domain.entity.SysDept;
@@ -41,6 +42,8 @@ public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept,
     @Autowired
     private SysUserMapper userMapper;
 
+    private List<SysDept> allDept;
+
     /**
      * 查询部门管理数据
      *
@@ -314,4 +317,16 @@ public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept,
     public List<JSONObject> queryTUcDept() {
         return baseMapper.queryTUcDept();
     }
+
+    @Override
+    public SysDept getOrgDept(SysDept sysDept) {
+        if (0 == sysDept.getFlag()) {
+            return sysDept;
+        }
+        if (allDept == null) {
+            allDept = baseMapper.selectList(Wrappers.emptyWrapper());
+        }
+        SysDept orgDept = allDept.stream().filter(x -> StrUtil.equals(x.getDeptId(), sysDept.getParentId())).findFirst().get();
+        return getOrgDept(orgDept);
+    }
 }

+ 47 - 36
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -1,11 +1,11 @@
 package com.ruoyi.system.service.impl;
 
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -18,8 +18,13 @@ import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.system.domain.SysPost;
 import com.ruoyi.system.domain.SysUserPost;
 import com.ruoyi.system.domain.SysUserRole;
-import com.ruoyi.system.mapper.*;
+import com.ruoyi.system.mapper.SysPostMapper;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.mapper.SysUserPostMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
 import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +59,9 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Autowired
     private ISysConfigService configService;
 
+    @Autowired
+    private ISysDeptService sysDeptService;
+
     @Override
 //    @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
     public TableDataInfo<SysUser> selectPageUserList(SysUser user) {
@@ -81,7 +89,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Override
     @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
     public TableDataInfo<SysUser> selectAllocatedList(SysUser user) {
-		return PageUtils.buildDataInfo(baseMapper.selectAllocatedList(PageUtils.buildPage(), user));
+        return PageUtils.buildDataInfo(baseMapper.selectAllocatedList(PageUtils.buildPage(), user));
     }
 
     /**
@@ -93,7 +101,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Override
     @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
     public TableDataInfo<SysUser> selectUnallocatedList(SysUser user) {
-		return PageUtils.buildDataInfo(baseMapper.selectUnallocatedList(PageUtils.buildPage(), user));
+        return PageUtils.buildDataInfo(baseMapper.selectUnallocatedList(PageUtils.buildPage(), user));
     }
 
     /**
@@ -181,8 +189,8 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     public String checkPhoneUnique(SysUser user) {
         String userId = StrUtil.isBlank(user.getUserId()) ? "-1" : user.getUserId();
         SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
-                .select(SysUser::getUserId, SysUser::getPhonenumber)
-                .eq(SysUser::getPhonenumber, user.getPhonenumber()).last("limit 1"));
+            .select(SysUser::getUserId, SysUser::getPhonenumber)
+            .eq(SysUser::getPhonenumber, user.getPhonenumber()).last("limit 1"));
         if (StringUtils.isNotNull(info) && info.getUserId().equals(userId)) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -199,8 +207,8 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     public String checkEmailUnique(SysUser user) {
         String userId = StrUtil.isBlank(user.getUserId()) ? "-1" : user.getUserId();
         SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
-                .select(SysUser::getUserId, SysUser::getEmail)
-                .eq(SysUser::getEmail, user.getEmail()).last("limit 1"));
+            .select(SysUser::getUserId, SysUser::getEmail)
+            .eq(SysUser::getEmail, user.getEmail()).last("limit 1"));
         if (StringUtils.isNotNull(info) && !info.getUserId().equals(userId)) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -260,7 +268,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
      * @param user 用户信息
      * @return 结果
      */
-	@Override
+    @Override
     public boolean registerUser(SysUser user) {
         return baseMapper.insert(user) > 0;
     }
@@ -275,29 +283,36 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Transactional
     public int updateUser(SysUser user) {
         String userId = user.getUserId();
+        // 查询用户的组织数据
+        if (StrUtil.isNotBlank(user.getDeptId())) {
+            SysDept sysDept = sysDeptService.selectDeptById(user.getDeptId());
+            SysDept orgDept = sysDeptService.getOrgDept(sysDept);
+            if (orgDept != null) {
+                user.setOrgId(orgDept.getDeptId());
+            }
+        }
         // 删除用户与角色关联
-        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId,userId));
+        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
         // 新增用户与角色管理
         insertUserRole(user);
         // 删除用户与岗位关联
-        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId,userId));
+//        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId,userId));
         // 新增用户与岗位管理
-        insertUserPost(user);
+//        insertUserPost(user);
         return baseMapper.updateById(user);
     }
 
     /**
      * 用户授权角色
      *
-     * @param userId 用户ID
+     * @param userId  用户ID
      * @param roleIds 角色组
      */
     @Override
     @Transactional
-    public void insertUserAuth(String userId, String[] roleIds)
-    {
+    public void insertUserAuth(String userId, String[] roleIds) {
         userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>()
-			.eq(SysUserRole::getUserId, userId));
+            .eq(SysUserRole::getUserId, userId));
         insertUserRole(userId, roleIds);
     }
 
@@ -327,15 +342,15 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
      * 修改用户头像
      *
      * @param userName 用户名
-     * @param avatar 头像地址
+     * @param avatar   头像地址
      * @return 结果
      */
     @Override
     public boolean updateUserAvatar(String userName, String avatar) {
         return baseMapper.update(null,
-                new LambdaUpdateWrapper<SysUser>()
-                        .set(SysUser::getAvatar,avatar)
-                        .eq(SysUser::getUserName,userName)) > 0;
+            new LambdaUpdateWrapper<SysUser>()
+                .set(SysUser::getAvatar, avatar)
+                .eq(SysUser::getUserName, userName)) > 0;
     }
 
     /**
@@ -359,9 +374,9 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Override
     public int resetUserPwd(String userName, String password) {
         return baseMapper.update(null,
-                new LambdaUpdateWrapper<SysUser>()
-                        .set(SysUser::getPassword,password)
-                        .eq(SysUser::getUserName,userName));
+            new LambdaUpdateWrapper<SysUser>()
+                .set(SysUser::getPassword, password)
+                .eq(SysUser::getUserName, userName));
     }
 
     /**
@@ -381,7 +396,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
                 list.add(ur);
             }
             if (list.size() > 0) {
-				userRoleMapper.insertAll(list);
+                userRoleMapper.insertAll(list);
             }
         }
     }
@@ -403,7 +418,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
                 list.add(up);
             }
             if (list.size() > 0) {
-				userPostMapper.insertAll(list);
+                userPostMapper.insertAll(list);
             }
         }
     }
@@ -411,7 +426,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     /**
      * 新增用户角色信息
      *
-     * @param userId 用户ID
+     * @param userId  用户ID
      * @param roleIds 角色组
      */
     public void insertUserRole(String userId, String[] roleIds) {
@@ -440,9 +455,9 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
     @Transactional
     public int deleteUserById(String userId) {
         // 删除用户与角色关联
-        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId,userId));
+        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
         // 删除用户与岗位表
-        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId,userId));
+        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId, userId));
         return baseMapper.deleteById(userId);
     }
 
@@ -460,18 +475,18 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
         }
         List<String> ids = Arrays.asList(userIds);
         // 删除用户与角色关联
-        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId,ids));
+        userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, ids));
         // 删除用户与岗位表
-        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().in(SysUserPost::getUserId,ids));
+        userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().in(SysUserPost::getUserId, ids));
         return baseMapper.deleteBatchIds(ids);
     }
 
     /**
      * 导入用户数据
      *
-     * @param userList 用户数据列表
+     * @param userList        用户数据列表
      * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
-     * @param operName 操作用户
+     * @param operName        操作用户
      * @return 结果
      */
     @Override
@@ -519,8 +534,4 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
         return successMsg.toString();
     }
 
-    @Override
-    public List<JSONObject> queryTUcUser() {
-        return baseMapper.queryTUcUser();
-    }
 }

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -193,7 +193,7 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
                 throw new ServiceException("请填写经验总结!");
             }
         } */
-        else if (!flag && !StrUtil.equals(bo.getAssistDept(), beforeInfo.getAssistDept())) {
+        else if (!flag && bo.getStatus() == 3 && !StrUtil.equals(bo.getAssistDept(), beforeInfo.getAssistDept())) {
             // 第二次对协办部门派发
             // 重新冗余协办部门
             if (StrUtil.isBlank(bo.getAssistDept())) {

+ 1 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/ResourceServiceImpl.java

@@ -81,6 +81,7 @@ public class ResourceServiceImpl extends ServicePlusImpl<ResourceMapper, Resourc
         lqw.eq(StringUtils.isNotBlank(bo.getContactPhone()), Resource::getContactPhone, bo.getContactPhone());
         lqw.in(ObjectUtil.isNotEmpty(bo.getResourceIds()), Resource::getId, bo.getResourceIds());
         lqw.in(ObjectUtil.isNotEmpty(bo.getDeptIds()), Resource::getDeptId, bo.getDeptIds());
+        lqw.orderByDesc(Resource::getCreateTime);
         return lqw;
     }