From 0e12e4ab45db6768a0f45d8952f78b0ae9190723 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期一, 19 五月 2025 16:09:01 +0800
Subject: [PATCH] 手机号登录,去掉短信验证。脱敏

---
 project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java |  115 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 101 insertions(+), 14 deletions(-)

diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
index e9aaa5d..411b4ff 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
@@ -1,6 +1,7 @@
 package com.project.admin.controller.system;
 
 import com.project.common.annotation.Log;
+import com.project.common.annotation.RepeatSubmit;
 import com.project.common.constant.UserConstants;
 import com.project.common.core.controller.BaseController;
 import com.project.common.core.domain.AjaxResult;
@@ -10,12 +11,15 @@
 import com.project.common.core.page.TableDataInfo;
 import com.project.common.enums.BusinessType;
 import com.project.common.utils.SecurityUtils;
+import com.project.common.utils.SensitiveUtil;
 import com.project.common.utils.StringUtils;
 import com.project.common.utils.poi.ExcelUtil;
-import com.project.system.service.ISysDeptService;
-import com.project.system.service.ISysPostService;
-import com.project.system.service.ISysRoleService;
-import com.project.system.service.ISysUserService;
+import com.project.system.domain.bo.editBo.UserDeptBo;
+import com.project.system.domain.vo.SysUserResultVo;
+import com.project.system.domain.vo.SysUserVo;
+import com.project.system.service.*;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -41,6 +45,7 @@
     private final ISysRoleService roleService;
     private final ISysDeptService deptService;
     private final ISysPostService postService;
+    private final ISysUserDeptService userDeptService;
 
     /**
      * 鑾峰彇鐢ㄦ埛鍒楄〃
@@ -50,7 +55,8 @@
     public TableDataInfo list(SysUser user)
     {
         startPage();
-        List<SysUser> list = userService.selectUserList(user);
+        List<SysUser> list = userService.selectUserListCommon(user);
+        list.forEach(SensitiveUtil::desensitize);
         return getDataTable(list);
     }
 
@@ -59,10 +65,12 @@
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysUser user)
     {
-        List<SysUser> list = userService.selectUserList(user);
+        List<SysUser> list = userService.selectUserListCommon(user);
         ExcelUtil<SysUser> util = new ExcelUtil<>(SysUser.class);
         util.exportExcel(response, list, "鐢ㄦ埛鏁版嵁");
     }
+
+
 
     @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
     @PreAuthorize("@ss.hasPermi('system:user:import')")
@@ -76,12 +84,7 @@
         return success(message);
     }
 
-    @PostMapping("/importTemplate")
-    public void importTemplate(HttpServletResponse response)
-    {
-        ExcelUtil<SysUser> util = new ExcelUtil<>(SysUser.class);
-        util.importTemplateExcel(response, "鐢ㄦ埛鏁版嵁");
-    }
+
 
     /**
      * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇璇︾粏淇℃伅
@@ -113,11 +116,15 @@
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysUser user)
     {
+        user.setPassword(user.getPhonenumber());
         if (user.getDeptId()!=null){
+            user.setUserType("01");
             SysDept sysDept = deptService.selectDeptById(user.getDeptId());
             if (sysDept.getAncestors().contains("101") || sysDept.getDeptId().equals(101L)){
-                user.setUserType("01");
+                user.setUserType("00");
                 user.setRecommendPhone(deptService.getCheckDeptIdByLoginDeptId(user.getDeptId()).toString());
+            } else {
+                user.setUserType("01");
             }
         }
 
@@ -152,9 +159,12 @@
     {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
+        user.setPassword(user.getPhonenumber());
         if (user.getDeptId()!=null){
             SysDept sysDept = deptService.selectDeptById(user.getDeptId());
             if (sysDept.getAncestors().contains("101") || sysDept.getDeptId().equals(101L)){
+                user.setUserType("00");
+            } else {
                 user.setUserType("01");
             }
         }
@@ -194,7 +204,7 @@
     /**
      * 閲嶇疆瀵嗙爜
      */
-    @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
+//    @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping("/resetPwd")
     public AjaxResult resetPwd(@RequestBody SysUser user)
@@ -206,6 +216,44 @@
         user.setUpdateBy(getUsername());
 
         return toAjax(userService.resetPwd(user));
+    }
+
+    @ApiOperation("鐢ㄦ埛澶氭満鏋勨�斺�斿洖鏄�")
+    @GetMapping("/batchUserDeptView")
+    public AjaxResult batchUserDeptView(@RequestParam("userId") Long userId)
+    {
+        return AjaxResult.success(userDeptService.batchUserDeptView(userId));
+    }
+
+    @ApiOperation("鐢ㄦ埛澶氭満鏋勨�斺�斾繚瀛�")
+    @Log(title = "鐢ㄦ埛澶氭満鏋勪繚瀛�", businessType = BusinessType.UPDATE)
+    @PostMapping("/batchUserDeptSave")
+    public AjaxResult batchUserDeptSave(@RequestBody UserDeptBo bo)
+    {
+        return AjaxResult.success(userDeptService.batchUserDeptSave(bo));
+    }
+
+    @ApiOperation("鐢ㄦ埛澶氭満鏋勨�斺�旀満鏋勬爲")
+    @GetMapping("/batchUserDeptTree")
+    public AjaxResult batchUserDeptTree(@RequestParam("deptId") Long deptId)
+    {
+        return AjaxResult.success(userDeptService.batchUserDeptTree(deptId));
+    }
+
+    @ApiOperation("浼佷笟鐢ㄦ埛閲嶇疆瀵嗙爜")
+    @Log(title = "浼佷笟鐢ㄦ埛閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE)
+    @PostMapping("/resetCompanyUserPwd")
+    public AjaxResult resetCompanyUserPwd(@RequestParam("companyId") Long companyId,@RequestParam("newPassword") String newPassword)
+    {
+        SysUser user = userService.list(userService.lq().eq(SysUser::getDeptId, companyId)).get(0);
+        if (user==null) {
+            return AjaxResult.error("娌℃湁璇ヤ紒涓氬搴旇处鎴�");
+        }
+        if (userService.resetUserPwd(user.getUserName(), SecurityUtils.encryptPassword(newPassword), newPassword) > 0)
+        {
+            return success();
+        }
+        return error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�");
     }
 
     /**
@@ -259,4 +307,43 @@
     {
         return success(deptService.selectDeptTreeList(dept));
     }
+
+
+    @ApiOperation("鐢ㄦ埛妯℃澘涓嬭浇")
+    @GetMapping("/exportTemplate")
+    public AjaxResult exportTemplate()
+    {
+        ExcelUtil<SysUserVo> util = new ExcelUtil<>(SysUserVo.class);
+        return util.exportExcel(null, "鐢ㄦ埛淇℃伅妯℃澘");
+    }
+
+    @ApiOperation(value = "澶勭悊瀵煎叆淇℃伅")
+    @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅澶勭悊" , businessType = BusinessType.OTHER)
+    @ApiImplicitParam(value = "鐢ㄦ埛淇℃伅", name = "file", dataType = "file", dataTypeClass = MultipartFile.class)
+    @PostMapping("/doImport")
+    public AjaxResult doImport(@RequestPart(value = "file") MultipartFile file, @RequestParam("deptId") Long deptId) throws Exception
+    {
+
+        ExcelUtil<SysUserVo> util = new ExcelUtil<>(SysUserVo.class);
+        List<SysUserVo> list = util.importExcel(file.getInputStream());
+        return AjaxResult.success(userService.doImport(list, deptId));
+    }
+
+    @ApiOperation(value = "鏍¢獙瀵煎叆淇℃伅")
+    @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅鏍¢獙" , businessType = BusinessType.OTHER)
+    @PostMapping("/checkImport")
+    public AjaxResult checkImport(@RequestBody SysUserResultVo resultVo)
+    {
+        return AjaxResult.success(userService.checkImport(resultVo));
+    }
+
+    @ApiOperation(value = "淇濆瓨瀵煎叆淇℃伅")
+    @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅淇濆瓨" , businessType = BusinessType.IMPORT)
+    @PostMapping("/saveImport")
+    @RepeatSubmit
+    public AjaxResult saveImport(@RequestBody SysUserResultVo resultVo)
+    {
+        return toAjax(userService.saveImport(resultVo) ? 1 : 0);
+    }
+
 }

--
Gitblit v1.9.1