Browse Source

Merge branch 'JCB-KF' of uskycloud/usky-cloud into master

gez 2 years ago
parent
commit
6f98efb3f4
18 changed files with 415 additions and 164 deletions
  1. 160 122
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysUserVO.java
  2. 13 0
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/model/LoginUser.java
  3. 7 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMenuController.java
  4. 132 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysProfileController.java
  5. 1 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java
  6. 1 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/UserConfigController.java
  7. 3 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMenuMapper.java
  8. 3 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java
  9. 2 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysMenuService.java
  10. 2 2
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java
  11. 22 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java
  12. 30 23
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPermissionServiceImpl.java
  13. 4 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java
  14. 5 5
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantConfigServiceImpl.java
  15. 13 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  16. 10 1
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml
  17. 7 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml
  18. 0 1
      usky-common/usky-common-log/src/main/java/com/usky/common/log/service/AsyncLogService.java

+ 160 - 122
base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysUserVO.java

@@ -13,71 +13,134 @@ import java.util.List;
 
 /**
  * 用户对象 sys_user
- * 
+ *
  * @author ruoyi
  */
-public class SysUserVO extends BaseEntity
-{
+public class SysUserVO extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 用户ID */
+    /**
+     * 用户ID
+     */
     private Long userId;
 
-    /** 部门ID */
+    /**
+     * 部门ID
+     */
     private Long deptId;
 
-    /** 用户账号 */
+    /**
+     * 用户账号
+     */
     private String userName;
 
-    /** 用户昵称 */
+    /**
+     * 用户昵称
+     */
     private String nickName;
 
-    /** 用户邮箱 */
+    /**
+     * 用户邮箱
+     */
     private String email;
 
-    /** 手机号码 */
+    /**
+     * 手机号码
+     */
     private String phonenumber;
 
-    /** 用户性别 */
+    /**
+     * 用户性别
+     */
     private String sex;
 
-    /** 用户头像 */
+    /**
+     * 用户头像
+     */
     private String avatar;
 
-    /** 密码 */
+    /**
+     * 密码
+     */
     private String password;
 
-    /** 帐号状态(0正常 1停用) */
+    /**
+     * 盐加密
+     */
+    private String salt;
+
+    /**
+     * 帐号状态(0正常 1停用)
+     */
     private String status;
 
-    /** 删除标志(0代表存在 2代表删除) */
+    /**
+     * 删除标志(0代表存在 2代表删除)
+     */
     private String delFlag;
 
-    /** 最后登录IP */
+    /**
+     * 最后登录IP
+     */
     private String loginIp;
 
-    /** 最后登录时间 */
+    /**
+     * 最后登录时间
+     */
     private Date loginDate;
 
-    /** 部门对象 */
+    /**
+     * 部门对象
+     */
     private SysDeptVO dept;
 
-    /** 角色对象 */
+    /**
+     * 角色对象
+     */
     private List<SysRoleVO> roles;
 
-    /** 角色组 */
+    /**
+     * 角色组
+     */
     private Long[] roleIds;
 
-    /** 岗位组 */
+    /**
+     * 岗位组
+     */
     private Long[] postIds;
 
-    /** 角色ID */
+    /**
+     * 角色ID
+     */
     private Long roleId;
     /**
      * 租户id
      */
     private Integer tenantId;
 
+    /**
+     * 地址
+     */
+    private String address;
+
+    /**
+     * 用户类型
+     */
+    private String userType;
+
+    /**
+     * 姓名
+     */
+    private String fullName;
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
     public Integer getTenantId() {
         return tenantId;
     }
@@ -86,236 +149,211 @@ public class SysUserVO extends BaseEntity
         this.tenantId = tenantId;
     }
 
+    public String getUserType() {
+        return userType;
+    }
 
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
 
-    public SysUserVO()
-    {
+    public String getFullName() {
+        return fullName;
+    }
 
+    public void setFullName(String fullName) {
+        this.fullName = fullName;
     }
 
-    public SysUserVO(Long userId)
-    {
+    public SysUserVO() {
+
+    }
+
+    public SysUserVO(Long userId) {
         this.userId = userId;
     }
 
-    public Long getUserId()
-    {
+    public Long getUserId() {
         return userId;
     }
 
-    public void setUserId(Long userId)
-    {
+    public void setUserId(Long userId) {
         this.userId = userId;
     }
 
-    public boolean isAdmin()
-    {
+    public boolean isAdmin() {
         return isAdmin(this.userId);
     }
 
-    public static boolean isAdmin(Long userId)
-    {
+    public static boolean isAdmin(Long userId) {
         return userId != null && 1L == userId;
     }
 
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return deptId;
     }
 
-    public void setDeptId(Long deptId)
-    {
+    public void setDeptId(Long deptId) {
         this.deptId = deptId;
     }
 
     @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
-    public String getNickName()
-    {
+    public String getNickName() {
         return nickName;
     }
 
-    public void setNickName(String nickName)
-    {
+    public void setNickName(String nickName) {
         this.nickName = nickName;
     }
 
     @NotBlank(message = "用户账号不能为空")
     @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
-    public String getUserName()
-    {
+    public String getUserName() {
         return userName;
     }
 
-    public void setUserName(String userName)
-    {
+    public void setUserName(String userName) {
         this.userName = userName;
     }
 
     @Email(message = "邮箱格式不正确")
     @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
-    public String getEmail()
-    {
+    public String getEmail() {
         return email;
     }
 
-    public void setEmail(String email)
-    {
+    public void setEmail(String email) {
         this.email = email;
     }
 
     @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
-    public String getPhonenumber()
-    {
+    public String getPhonenumber() {
         return phonenumber;
     }
 
-    public void setPhonenumber(String phonenumber)
-    {
+    public void setPhonenumber(String phonenumber) {
         this.phonenumber = phonenumber;
     }
 
-    public String getSex()
-    {
+    public String getSex() {
         return sex;
     }
 
-    public void setSex(String sex)
-    {
+    public void setSex(String sex) {
         this.sex = sex;
     }
 
-    public String getAvatar()
-    {
+    public String getAvatar() {
         return avatar;
     }
 
-    public void setAvatar(String avatar)
-    {
+    public void setAvatar(String avatar) {
         this.avatar = avatar;
     }
 
     @JsonProperty
-    public String getPassword()
-    {
+    public String getPassword() {
         return password;
     }
 
-    public void setPassword(String password)
-    {
+    public void setPassword(String password) {
         this.password = password;
     }
 
-    public String getStatus()
-    {
+    public String getStatus() {
         return status;
     }
 
-    public void setStatus(String status)
-    {
+    public void setStatus(String status) {
         this.status = status;
     }
 
-    public String getDelFlag()
-    {
+    public String getDelFlag() {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag)
-    {
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
 
-    public String getLoginIp()
-    {
+    public String getLoginIp() {
         return loginIp;
     }
 
-    public void setLoginIp(String loginIp)
-    {
+    public void setLoginIp(String loginIp) {
         this.loginIp = loginIp;
     }
 
-    public Date getLoginDate()
-    {
+    public Date getLoginDate() {
         return loginDate;
     }
 
-    public void setLoginDate(Date loginDate)
-    {
+    public void setLoginDate(Date loginDate) {
         this.loginDate = loginDate;
     }
 
-    public SysDeptVO getDept()
-    {
+    public SysDeptVO getDept() {
         return dept;
     }
 
-    public void setDept(SysDeptVO dept)
-    {
+    public void setDept(SysDeptVO dept) {
         this.dept = dept;
     }
 
-    public List<SysRoleVO> getRoles()
-    {
+    public List<SysRoleVO> getRoles() {
         return roles;
     }
 
-    public void setRoles(List<SysRoleVO> roles)
-    {
+    public void setRoles(List<SysRoleVO> roles) {
         this.roles = roles;
     }
 
-    public Long[] getRoleIds()
-    {
+    public Long[] getRoleIds() {
         return roleIds;
     }
 
-    public void setRoleIds(Long[] roleIds)
-    {
+    public void setRoleIds(Long[] roleIds) {
         this.roleIds = roleIds;
     }
 
-    public Long[] getPostIds()
-    {
+    public Long[] getPostIds() {
         return postIds;
     }
 
-    public void setPostIds(Long[] postIds)
-    {
+    public void setPostIds(Long[] postIds) {
         this.postIds = postIds;
     }
 
-    public Long getRoleId()
-    {
+    public Long getRoleId() {
         return roleId;
     }
 
-    public void setRoleId(Long roleId)
-    {
+    public void setRoleId(Long roleId) {
         this.roleId = roleId;
     }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("userId", getUserId())
-            .append("deptId", getDeptId())
-            .append("userName", getUserName())
-            .append("nickName", getNickName())
-            .append("email", getEmail())
-            .append("phonenumber", getPhonenumber())
-            .append("sex", getSex())
-            .append("avatar", getAvatar())
-            .append("password", getPassword())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("loginIp", getLoginIp())
-            .append("loginDate", getLoginDate())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .append("dept", getDept())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("userId", getUserId())
+                .append("deptId", getDeptId())
+                .append("userName", getUserName())
+                .append("nickName", getNickName())
+                .append("email", getEmail())
+                .append("phonenumber", getPhonenumber())
+                .append("sex", getSex())
+                .append("avatar", getAvatar())
+                .append("password", getPassword())
+                .append("status", getStatus())
+                .append("delFlag", getDelFlag())
+                .append("loginIp", getLoginIp())
+                .append("loginDate", getLoginDate())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .append("dept", getDept())
+                .toString();
     }
 }

+ 13 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/model/LoginUser.java

@@ -60,6 +60,19 @@ public class LoginUser implements Serializable
      */
     private SysUserVO sysUser;
 
+    /** 租户ID */
+    private Integer tenantId;
+
+    public Integer getTenantId()
+    {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId)
+    {
+        this.tenantId = tenantId;
+    }
+
     public String getToken()
     {
         return token;

+ 7 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMenuController.java

@@ -158,7 +158,13 @@ public class SysMenuController extends BaseController
     {
         Long userId = SecurityUtils.getUserId();
 
-        SysUser sysUser = userService.selectUserById(userId);
+//        LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(SysUser::getDelFlag, 0).eq(SysUser::getStatus,0);
+//        List<SysUser> sysUserList = userService.list(queryWrapper);
+//        if (sysUserList.size()<=0){
+//            throw new BusinessException("用户相关配置未完成配置,请联系管理员");
+//        }
+        SysUser sysUser = userService.selectUserByIdOne(userId);
         List<SysMenu> menus = new ArrayList<>();
         if ("01".equals(sysUser.getUserType())){
             menus = menuService.selectMenuTreeByUserIdOne(SecurityUtils.getTenantId());

+ 132 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysProfileController.java

@@ -0,0 +1,132 @@
+package com.usky.system.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.core.util.StringUtils;
+import com.usky.common.security.service.TokenService;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.SysUser;
+import com.usky.system.domain.SysUserVO;
+import com.usky.system.domain.constants.UserConstants;
+import com.usky.system.model.LoginUser;
+import com.usky.system.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * 个人信息 业务处理
+ * 
+ * @author yq
+ */
+@RestController
+@RequestMapping("/user/profile")
+public class SysProfileController extends BaseController
+{
+    @Autowired
+    private ISysUserService userService;
+
+    @Autowired
+    private TokenService tokenService;
+
+    /**
+     * 个人信息
+     */
+    @GetMapping
+    public ApiResult profile()
+    {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUserVO user = loginUser.getSysUser();
+        Map<String,Object> map = new HashMap<>();
+        map.put("user",user);
+        map.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername()));
+        map.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername()));
+        return ApiResult.success(map);
+    }
+
+    /**
+     * 修改用户
+     */
+    @PutMapping
+    public ApiResult updateProfile(@RequestBody SysUser user)
+    {
+        if (StringUtils.isNotEmpty(user.getPhonenumber())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
+        {
+            throw new BusinessException("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        }
+        if (StringUtils.isNotEmpty(user.getEmail())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
+        {
+            throw new BusinessException("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUserVO sysUser = loginUser.getSysUser();
+        user.setUserId(sysUser.getUserId());
+        user.setPassword(null);
+        if (userService.updateUserProfile(user) > 0)
+        {
+            // 更新缓存用户信息
+            sysUser.setNickName(user.getNickName());
+            sysUser.setPhonenumber(user.getPhonenumber());
+            sysUser.setEmail(user.getEmail());
+            sysUser.setSex(user.getSex());
+            tokenService.setLoginUser(loginUser);
+            return ApiResult.success();
+        }
+        throw new BusinessException("修改个人信息异常,请联系管理员");
+    }
+
+    /**
+     * 重置密码
+     */
+    @PutMapping("/updatePwd")
+    public ApiResult updatePwd(String oldPassword, String newPassword)
+    {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUserVO sysUser = loginUser.getSysUser();
+        String userName = sysUser.getUserName();
+        String password = sysUser.getPassword();
+        if (!SecurityUtils.matchesPassword(oldPassword, password))
+        {
+            throw new BusinessException("修改密码失败,旧密码错误");
+        }
+        if (SecurityUtils.matchesPassword(newPassword, password))
+        {
+            throw new BusinessException("新密码不能与旧密码相同");
+        }
+        if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0)
+        {
+            // 更新缓存用户密码
+            sysUser.setPassword(SecurityUtils.encryptPassword(newPassword));
+            tokenService.setLoginUser(loginUser);
+            return ApiResult.success();
+        }
+        throw new BusinessException("修改密码异常,请联系管理员");
+    }
+
+    /**
+     * 头像上传
+     */
+    @PostMapping("/avatar")
+    public ApiResult avatar(@RequestParam String filePath) throws IOException
+    {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUserVO sysUser = loginUser.getSysUser();
+        if (userService.updateUserAvatar(loginUser.getUsername(), filePath))
+        {
+            Map<String,Object> map = new HashMap<>();
+            map.put("imgUrl", filePath);
+            // 更新缓存用户头像
+            sysUser.setAvatar(filePath);
+            tokenService.setLoginUser(loginUser);
+            return ApiResult.success(map);
+        }
+        return ApiResult.success();
+    }
+}

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java

@@ -79,7 +79,7 @@ public class SysUserController extends BaseController
     @PostMapping
     public ApiResult<Void> add(@Validated @RequestBody SysUser user)
     {
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName())))
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),SecurityUtils.getTenantId())))
         {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/UserConfigController.java

@@ -41,7 +41,7 @@ public class UserConfigController extends BaseController {
     @Transactional
     @PostMapping("/addUserData")
     public ApiResult<Void> addUserData(@Validated @RequestBody SysUser user) {
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),user.getTenantId()))) {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }
         user.setCreateBy(SecurityUtils.getUsername());

+ 3 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMenuMapper.java

@@ -48,6 +48,8 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      */
     public List<String> selectMenuPermsByUserId(Long userId);
 
+    public List<String> selectMenuPermsByUserIdOne(Integer tenantId);
+
     /**
      * 根据用户ID查询菜单
      *
@@ -63,7 +65,7 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      */
     public List<SysMenu> selectMenuTreeByUserId(Long userId);
 
-    public List<SysMenu> selectMenuTreeByUserIdOne(Integer tenantId);
+    public List<SysMenu> selectMenuTreeByUserIdOne(@Param("tenantId") Integer tenantId);
 
     /**
      * 根据角色ID查询菜单树信息

+ 3 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java

@@ -58,6 +58,8 @@ public interface SysUserMapper extends CrudMapper<SysUser>
      */
     public SysUser selectUserById(Long userId);
 
+    public SysUser selectUserByIdOne(Long userId);
+
     /**
      * 新增用户信息
      * 
@@ -114,7 +116,7 @@ public interface SysUserMapper extends CrudMapper<SysUser>
      * @param userName 用户名称
      * @return 结果
      */
-    public int checkUserNameUnique(String userName,Integer tenantId);
+    public int checkUserNameUnique(@Param("userName") String userName,@Param("tenantId") Integer tenantId);
 
     /**
      * 校验手机号码是否唯一

+ 2 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysMenuService.java

@@ -41,6 +41,8 @@ public interface ISysMenuService extends CrudService<SysMenu>
      */
     public Set<String> selectMenuPermsByUserId(Long userId);
 
+    public Set<String> selectMenuPermsByUserIdOne(Integer tenantId);
+
     /**
      * 根据用户ID查询菜单树信息
      * 

+ 2 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java

@@ -53,7 +53,7 @@ public interface ISysUserService extends CrudService<SysUser> {
      */
     public SysUser selectUserById(Long userId);
 
-
+    public SysUser selectUserByIdOne(Long userId);
 
     /**
      * 根据用户ID查询用户所属角色组
@@ -77,7 +77,7 @@ public interface ISysUserService extends CrudService<SysUser> {
      * @param userName 用户名称
      * @return 结果
      */
-    public String checkUserNameUnique(String userName);
+    public String checkUserNameUnique(String userName,Integer tenantId);
 
     /**
      * 校验手机号码是否唯一

+ 22 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java

@@ -96,6 +96,28 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
         return permsSet;
     }
 
+    /**
+     * 根据租戶ID查询权限
+     *
+     * @param tenantId 租戶ID
+     * @return 权限列表
+     */
+    @Override
+    public Set<String> selectMenuPermsByUserIdOne(Integer tenantId)
+    {
+        List<String> perms = menuMapper.selectMenuPermsByUserIdOne(tenantId);
+        Set<String> permsSet = new HashSet<>();
+        for (String perm : perms)
+        {
+            if (StringUtils.isNotEmpty(perm))
+            {
+                permsSet.addAll(Arrays.asList(perm.trim().split(",")));
+            }
+        }
+        return permsSet;
+    }
+
+
     /**
      * 根据用户ID查询菜单
      *

+ 30 - 23
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPermissionServiceImpl.java

@@ -1,65 +1,72 @@
 package com.usky.system.service.impl;
 
-import java.util.HashSet;
-import java.util.Set;
-
+import com.usky.system.domain.SysUser;
 import com.usky.system.domain.SysUserVO;
 import com.usky.system.service.ISysMenuService;
 import com.usky.system.service.ISysPermissionService;
 import com.usky.system.service.ISysRoleService;
+import com.usky.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashSet;
+import java.util.Set;
+
 
 @Service
-public class SysPermissionServiceImpl implements ISysPermissionService
-{
+public class SysPermissionServiceImpl implements ISysPermissionService {
     @Autowired
     private ISysRoleService roleService;
 
     @Autowired
     private ISysMenuService menuService;
 
+    @Autowired
+    private ISysUserService userService;
+
     /**
      * 获取角色数据权限
-     * 
+     *
      * @param userId 用户Id
      * @return 角色权限信息
      */
     @Override
-    public Set<String> getRolePermission(Long userId)
-    {
+    public Set<String> getRolePermission(Long userId) {
         Set<String> roles = new HashSet<String>();
         // 管理员拥有所有权限
-        if (SysUserVO.isAdmin(userId))
-        {
+        SysUser sysUser = userService.selectUserByIdOne(userId);
+        if ("01".equals(sysUser.getUserType())) {
             roles.add("admin");
-        }
-        else
-        {
-            roles.addAll(roleService.selectRolePermissionByUserId(userId));
+        } else {
+            if (SysUserVO.isAdmin(userId)) {
+                roles.add("admin");
+            } else {
+                roles.addAll(roleService.selectRolePermissionByUserId(userId));
+            }
         }
         return roles;
     }
 
     /**
      * 获取菜单数据权限
-     * 
+     *
      * @param userId 用户Id
      * @return 菜单权限信息
      */
     @Override
-    public Set<String> getMenuPermission(Long userId)
-    {
+    public Set<String> getMenuPermission(Long userId) {
         Set<String> perms = new HashSet<String>();
         // 管理员拥有所有权限
-        if (SysUserVO.isAdmin(userId))
-        {
+        SysUser sysUser = userService.selectUserByIdOne(userId);
+        if ("01".equals(sysUser.getUserType())) {
             perms.add("*:*:*");
-        }
-        else
-        {
-            perms.addAll(menuService.selectMenuPermsByUserId(userId));
+//                perms.addAll(menuService.selectMenuPermsByUserIdOne(SecurityUtils.getTenantId()));
+        } else {
+            if (SysUserVO.isAdmin(userId)) {
+                perms.add("*:*:*");
+            } else {
+                perms.addAll(menuService.selectMenuPermsByUserId(userId));
+            }
         }
         return perms;
     }

+ 4 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java

@@ -87,6 +87,10 @@ public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMappe
             this.save(sysPlatform);
             Integer fid = sysPlatform.getId();
             platformMenuVo.setPlatformId(fid.longValue());
+        }else {
+            sysPlatform.setId(platformMenuVo.getPlatformId().intValue());
+            sysPlatform.setPlatformName(platformMenuVo.getPlatformName());
+            this.updateById(sysPlatform);
         }
 
         Long[] arr = platformMenuVo.getMenuIds();

+ 5 - 5
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantConfigServiceImpl.java

@@ -51,12 +51,12 @@ public class SysTenantConfigServiceImpl extends AbstractCrudService<SysTenantCon
 
     @Override
     public List<SysTenantConfig> getMiddleConfig() {
-        SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
-        if ("".equals(sysUser) && sysUser == null) {
-            throw new BusinessException("无此租户,请联系管理员");
-        }
+//        SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
+//        if ("".equals(sysUser) && sysUser == null) {
+//            throw new BusinessException("无此租户,请联系管理员");
+//        }
         LambdaQueryWrapper<SysTenantConfig> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SysTenantConfig::getTenantId, sysUser.getTenantId());
+        queryWrapper.eq(SysTenantConfig::getTenantId, SecurityUtils.getTenantId());
         List<SysTenantConfig> list = this.list(queryWrapper);
         return list;
     }

+ 13 - 3
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -114,6 +114,16 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         return userMapper.selectUserById(userId);
     }
 
+    /**
+     * 通过用户ID查询用户
+     *
+     * @param userId 用户ID
+     * @return 用户对象信息
+     */
+    @Override
+    public SysUser selectUserByIdOne(Long userId) {
+        return userMapper.selectUserByIdOne(userId);
+    }
 
     /**
      * 查询用户所属角色组
@@ -160,8 +170,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      * @return 结果
      */
     @Override
-    public String checkUserNameUnique(String userName) {
-        int count = userMapper.checkUserNameUnique(userName,SecurityUtils.getTenantId());
+    public String checkUserNameUnique(String userName,Integer tenantId) {
+        int count = userMapper.checkUserNameUnique(userName,tenantId);
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -462,7 +472,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         {
             throw new BusinessException("当前系统没有开启注册功能!");
         }
-        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username)))
+        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username,SecurityUtils.getTenantId())))
         {
             throw new BusinessException("保存用户'" + username + "'失败,注册账号已存在");
         }

+ 10 - 1
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -128,7 +128,7 @@
         order by m.parent_id, m.order_num
     </select>
 
-    <select id="selectMenuTreeByUserIdOne" parameterType="Long" resultMap="SysMenuResult">
+    <select id="selectMenuTreeByUserIdOne" resultMap="SysMenuResult">
         SELECT
             m.menu_id,
             m.parent_id,
@@ -187,6 +187,15 @@
           and ur.user_id = #{userId}
     </select>
 
+    <select id="selectMenuPermsByUserIdOne" resultType="String">
+        select distinct m.perms
+        from sys_menu m
+                join sys_tenant_menu t on m.menu_id = t.menu_id
+        where m.status = '0'
+          and t.tenant_id = #{tenantId}
+    </select>
+
+
     <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
         <include refid="selectMenuVo"/>
         where menu_id = #{menuId}

+ 7 - 2
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<sql id="selectUserVo">
         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, 
         d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
-        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,u.tenant_id as tenant_id
         from sys_user u
 		    left join sys_dept d on u.dept_id = d.dept_id
 		    left join sys_user_role ur on u.user_id = ur.user_id
@@ -140,8 +140,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<include refid="selectUserVo"/>
 		where u.user_id = #{userId}
 	</select>
+
+	<select id="selectUserByIdOne" parameterType="Long" resultMap="SysUserResult">
+		select * from sys_user as u
+		where u.user_id = #{userId}
+	</select>
 	
-	<select id="checkUserNameUnique" parameterType="String" resultType="int">
+	<select id="checkUserNameUnique" resultType="int">
 		select count(1) from sys_user where user_name = #{userName} and del_flag != '2'
 		 <if test="tenantId != null and tenantId != 0">
 			 and tenant_id = #{tenantId}

+ 0 - 1
usky-common/usky-common-log/src/main/java/com/usky/common/log/service/AsyncLogService.java

@@ -5,7 +5,6 @@ import com.usky.system.domain.SysOperLogVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
-import sun.security.util.SecurityConstants;
 
 /**
  * 异步调用日志服务