瀏覽代碼

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

gez 2 年之前
父節點
當前提交
0d77986d56
共有 73 個文件被更改,包括 2407 次插入376 次删除
  1. 5 0
      base-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TokenConstants.java
  2. 8 0
      base-components/gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
  3. 256 0
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysPerson.java
  4. 109 0
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysPersonVo.java
  5. 44 49
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/model/LoginUser.java
  6. 12 0
      base-modules/service-system/service-system-biz/pom.xml
  7. 107 108
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/MybatisGeneratorUtils.java
  8. 63 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SendSmsController.java
  9. 5 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMenuController.java
  10. 44 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileMenuController.java
  11. 41 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileTenantConfigController.java
  12. 22 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysMobileTenantMenuController.java
  13. 21 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysPersonController.java
  14. 21 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserPersonController.java
  15. 39 15
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java
  16. 133 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileMenu.java
  17. 108 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantConfig.java
  18. 36 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantMenu.java
  19. 117 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysPerson.java
  20. 40 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysUserPerson.java
  21. 4 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysConfigMapper.java
  22. 10 8
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDeptMapper.java
  23. 9 7
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDictDataMapper.java
  24. 7 5
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDictTypeMapper.java
  25. 2 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysLogininforMapper.java
  26. 24 13
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMenuMapper.java
  27. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileMenuMapper.java
  28. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantConfigMapper.java
  29. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantMenuMapper.java
  30. 4 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysNoticeMapper.java
  31. 3 2
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysOperLogMapper.java
  32. 18 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysPersonMapper.java
  33. 11 8
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysPostMapper.java
  34. 5 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleDeptMapper.java
  35. 11 8
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMapper.java
  36. 5 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMenuMapper.java
  37. 6 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java
  38. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserPersonMapper.java
  39. 4 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserPostMapper.java
  40. 3 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserRoleMapper.java
  41. 6 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysMenuService.java
  42. 2 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java
  43. 91 44
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysLoginService.java
  44. 23 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileMenuService.java
  45. 23 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantConfigService.java
  46. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantMenuService.java
  47. 21 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysPersonService.java
  48. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysUserPersonService.java
  49. 11 6
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysDeptServiceImpl.java
  50. 8 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMenuServiceImpl.java
  51. 134 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileMenuServiceImpl.java
  52. 32 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileTenantConfigServiceImpl.java
  53. 20 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysMobileTenantMenuServiceImpl.java
  54. 44 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPersonServiceImpl.java
  55. 1 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPostServiceImpl.java
  56. 20 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserPersonServiceImpl.java
  57. 35 27
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  58. 31 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java
  59. 255 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPersonVo.java
  60. 30 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml
  61. 28 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileMenuMapper.xml
  62. 25 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantConfigMapper.xml
  63. 12 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantMenuMapper.xml
  64. 27 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPersonMapper.xml
  65. 6 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPostMapper.xml
  66. 1 1
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysRoleDeptMapper.xml
  67. 2 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysRoleMapper.xml
  68. 2 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysRoleMenuMapper.xml
  69. 18 1
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml
  70. 12 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserPersonMapper.xml
  71. 5 0
      usky-common/usky-common-core/src/main/java/com/usky/common/core/constants/TokenConstants.java
  72. 19 37
      usky-common/usky-common-security/src/main/java/com/usky/common/security/service/TokenService.java
  73. 10 2
      usky-common/usky-common-security/src/main/java/com/usky/common/security/utils/SecurityUtils.java

+ 5 - 0
base-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TokenConstants.java

@@ -12,6 +12,11 @@ public class TokenConstants
      */
     public static final String AUTHENTICATION = "Authorization";
 
+    /**
+     * 令牌自定义标识
+     */
+    public static final String TOKEN = "token";
+
     /**
      * 令牌前缀
      */

+ 8 - 0
base-components/gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java

@@ -134,9 +134,17 @@ public class AuthFilter implements GlobalFilter, Ordered
        {
            token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY);
        }
+       token = getFireToken(request,token);
        return token;
     }
 
+    private String getFireToken(ServerHttpRequest request,String token){
+        if (StringUtils.isBlank(token)){
+            token = request.getHeaders().getFirst(TokenConstants.TOKEN);
+        }
+        return token;
+    }
+
     @Override
     public int getOrder()
     {

+ 256 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysPerson.java

@@ -0,0 +1,256 @@
+package com.usky.system.domain;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ * 人员信息
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public class SysPerson implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    private Integer id;
+
+    /**
+     * 姓名
+     */
+    private String fullName;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+    /**
+     * 性别;1男、2女
+     */
+    private Integer gender;
+
+    /**
+     * 家庭住址
+     */
+    private String address;
+
+    /**
+     * 文化程度;1小学、2初中、3高中、4大专、5本科、6硕士研究生、7博士研究生、8其他
+     */
+    private Integer educationDegree;
+
+    /**
+     * 身份证号
+     */
+    private String idNumber;
+
+    /**
+     * 联系方式
+     */
+    private String linkPhone;
+
+    /**
+     * 岗位ID
+     */
+    private Long postId;
+
+    /**
+     * 部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 入职时间
+     */
+    private Date entryTime;
+
+    /**
+     * 证书1
+     */
+    private String certificateUrl1;
+
+    /**
+     * 证书2
+     */
+    private String certificateUrl2;
+
+    /**
+     * 证书3
+     */
+    private String certificateUrl3;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getFullName() {
+        return fullName;
+    }
+
+    public void setFullName(String fullName) {
+        this.fullName = fullName;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public Integer getEducationDegree() {
+        return educationDegree;
+    }
+
+    public void setEducationDegree(Integer educationDegree) {
+        this.educationDegree = educationDegree;
+    }
+
+    public String getIdNumber() {
+        return idNumber;
+    }
+
+    public void setIdNumber(String idNumber) {
+        this.idNumber = idNumber;
+    }
+
+    public String getLinkPhone() {
+        return linkPhone;
+    }
+
+    public void setLinkPhone(String linkPhone) {
+        this.linkPhone = linkPhone;
+    }
+
+    public Long getPostId() {
+        return postId;
+    }
+
+    public void setPostId(Long postId) {
+        this.postId = postId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public Date getEntryTime() {
+        return entryTime;
+    }
+
+    public void setEntryTime(Date entryTime) {
+        this.entryTime = entryTime;
+    }
+
+    public String getCertificateUrl1() {
+        return certificateUrl1;
+    }
+
+    public void setCertificateUrl1(String certificateUrl1) {
+        this.certificateUrl1 = certificateUrl1;
+    }
+
+    public String getCertificateUrl2() {
+        return certificateUrl2;
+    }
+
+    public void setCertificateUrl2(String certificateUrl2) {
+        this.certificateUrl2 = certificateUrl2;
+    }
+
+    public String getCertificateUrl3() {
+        return certificateUrl3;
+    }
+
+    public void setCertificateUrl3(String certificateUrl3) {
+        this.certificateUrl3 = certificateUrl3;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdatePerson() {
+        return updatePerson;
+    }
+
+    public void setUpdatePerson(String updatePerson) {
+        this.updatePerson = updatePerson;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 109 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/domain/SysPersonVo.java

@@ -0,0 +1,109 @@
+package com.usky.system.domain;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 人员信息
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public class SysPersonVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    private Integer id;
+
+    /**
+     * 姓名
+     */
+    private String fullName;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+    /**
+     * 性别;1男、2女
+     */
+    private Integer gender;
+
+    /**
+     * 家庭住址
+     */
+    private String address;
+
+    /**
+     * 文化程度;1小学、2初中、3高中、4大专、5本科、6硕士研究生、7博士研究生、8其他
+     */
+    private Integer educationDegree;
+
+    /**
+     * 身份证号
+     */
+    private String idNumber;
+
+    /**
+     * 联系方式
+     */
+    private String linkPhone;
+
+    /**
+     * 岗位ID
+     */
+    private Long postId;
+
+    /**
+     * 部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 入职时间
+     */
+    private LocalDateTime entryTime;
+
+    /**
+     * 证书1
+     */
+    private String certificateUrl1;
+
+    /**
+     * 证书2
+     */
+    private String certificateUrl2;
+
+    /**
+     * 证书3
+     */
+    private String certificateUrl3;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

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

@@ -1,6 +1,6 @@
 package com.usky.system.model;
 
-
+import com.usky.system.domain.SysPerson;
 import com.usky.system.domain.SysUserVO;
 
 import java.io.Serializable;
@@ -11,8 +11,7 @@ import java.util.Set;
  *
  * @author ruoyi
  */
-public class LoginUser implements Serializable
-{
+public class LoginUser implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
@@ -60,119 +59,115 @@ public class LoginUser implements Serializable
      */
     private SysUserVO sysUser;
 
-    /** 租户ID */
+    /**
+     * 租户ID
+     */
     private Integer tenantId;
 
-    /** 用户类型 */
+    /**
+     * 用户类型
+     */
     private String userType;
 
-    public String getUserType()
-    {
+
+    /**
+     * 用户人员信息
+     */
+    private SysPerson sysPerson;
+
+    public SysPerson getSysPerson() {
+        return sysPerson;
+    }
+
+    public void setSysPerson(SysPerson sysPerson) {
+        this.sysPerson = sysPerson;
+    }
+
+    public String getUserType() {
         return userType;
     }
 
-    public void setUserType(String userType)
-    {
+    public void setUserType(String userType) {
         this.userType = userType;
     }
 
-    public Integer getTenantId()
-    {
+    public Integer getTenantId() {
         return tenantId;
     }
 
-    public void setTenantId(Integer tenantId)
-    {
+    public void setTenantId(Integer tenantId) {
         this.tenantId = tenantId;
     }
 
-    public String getToken()
-    {
+    public String getToken() {
         return token;
     }
 
-    public void setToken(String token)
-    {
+    public void setToken(String token) {
         this.token = token;
     }
 
-    public Long getUserid()
-    {
+    public Long getUserid() {
         return userid;
     }
 
-    public void setUserid(Long userid)
-    {
+    public void setUserid(Long userid) {
         this.userid = userid;
     }
 
-    public String getUsername()
-    {
+    public String getUsername() {
         return username;
     }
 
-    public void setUsername(String username)
-    {
+    public void setUsername(String username) {
         this.username = username;
     }
 
-    public Long getLoginTime()
-    {
+    public Long getLoginTime() {
         return loginTime;
     }
 
-    public void setLoginTime(Long loginTime)
-    {
+    public void setLoginTime(Long loginTime) {
         this.loginTime = loginTime;
     }
 
-    public Long getExpireTime()
-    {
+    public Long getExpireTime() {
         return expireTime;
     }
 
-    public void setExpireTime(Long expireTime)
-    {
+    public void setExpireTime(Long expireTime) {
         this.expireTime = expireTime;
     }
 
-    public String getIpaddr()
-    {
+    public String getIpaddr() {
         return ipaddr;
     }
 
-    public void setIpaddr(String ipaddr)
-    {
+    public void setIpaddr(String ipaddr) {
         this.ipaddr = ipaddr;
     }
 
-    public Set<String> getPermissions()
-    {
+    public Set<String> getPermissions() {
         return permissions;
     }
 
-    public void setPermissions(Set<String> permissions)
-    {
+    public void setPermissions(Set<String> permissions) {
         this.permissions = permissions;
     }
 
-    public Set<String> getRoles()
-    {
+    public Set<String> getRoles() {
         return roles;
     }
 
-    public void setRoles(Set<String> roles)
-    {
+    public void setRoles(Set<String> roles) {
         this.roles = roles;
     }
 
-    public SysUserVO getSysUser()
-    {
+    public SysUserVO getSysUser() {
         return sysUser;
     }
 
-    public void setSysUser(SysUserVO sysUser)
-    {
+    public void setSysUser(SysUserVO sysUser) {
         this.sysUser = sysUser;
     }
 }

+ 12 - 0
base-modules/service-system/service-system-biz/pom.xml

@@ -27,6 +27,18 @@
             <artifactId>pagehelper-spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-core</artifactId>
+            <version>4.5.16</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+            <version>1.1.0</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 107 - 108
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/MybatisGeneratorUtils.java

@@ -1,108 +1,107 @@
-//package com.usky.system.controller;//package com.usky.system.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
-//
-//import com.baomidou.mybatisplus.core.toolkit.StringPool;
-//import com.baomidou.mybatisplus.generator.AutoGenerator;
-//import com.baomidou.mybatisplus.generator.InjectionConfig;
-//import com.baomidou.mybatisplus.generator.config.*;
-//import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-//
-//import java.io.File;
-//import java.util.ArrayList;
-//import java.util.List;
-//
-///**
-// * @author yq
-// * @date 2021/7/6 11:42
-// */
-//public class MybatisGeneratorUtils {
-//    public static void main(String[] args) {
-//
-//            shell("service-system","service-system-biz");
-//    }
-//
-//    private static void shell(String parentName,String model) {
-//
-//        AutoGenerator mpg = new AutoGenerator();
-//        //1、全局配置
-//        GlobalConfig gc = new GlobalConfig();
-////        File file = new File(model);
-////        String path = file.getAbsolutePath();
-//        String projectPath = System.getProperty("user.dir");
-//        projectPath+="/"+parentName;
-//        projectPath+="/"+model;
-//        gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
-//        //修改为自己的名字
-//        gc.setAuthor("ya"); //设置作者
-//        gc.setOpen(false);
-//        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
-//        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
-//        gc.setBaseResultMap(true); //生成resultMap
-//        mpg.setGlobalConfig(gc);
-//
-//        //2、数据源配置
-//        //修改数据源
-//        DataSourceConfig dsc = new DataSourceConfig();
-//        dsc.setUrl("jdbc:mysql://47.111.81.118:3306/dm?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
-//        dsc.setDriverName("com.mysql.jdbc.Driver");
-//        dsc.setUsername("root");
-//        dsc.setPassword("Yt2021");
-//        mpg.setDataSource(dsc);
-//
-//        // 3、包配置
-//        PackageConfig pc = new PackageConfig();
-//        pc.setParent("com.usky.system");
-//        pc.setController("controller.web");
-//        pc.setEntity("domain");
-//        pc.setMapper("mapper");
-//        pc.setService("service");
-//        pc.setServiceImpl("service.impl");
-////        pc.setXml("mapper.demo");
-//        //pc.setModuleName("test");
-//        mpg.setPackageInfo(pc);
-//
-//        // 4、策略配置
-//        StrategyConfig strategy = new StrategyConfig();
-//        strategy.setNaming(NamingStrategy.underline_to_camel);
-//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
-//        strategy.setSuperMapperClass("com.usky.common.mvc.base.CrudMapper");
-//        strategy.setSuperServiceClass("com.usky.common.mvc.base.CrudService");
-//        strategy.setSuperServiceImplClass("com.usky.common.mvc.base.AbstractCrudService");
-//        // strategy.setTablePrefix("t_"); // 表名前缀
-//        strategy.setEntityLombokModel(true); //使用lombok
-//        //修改自己想要生成的表
-//        strategy.setInclude("sys_config");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
-//        mpg.setStrategy(strategy);
-//
-//        // 关闭默认 xml 生成,调整生成 至 根目录
-//        //修改对应的模块名称
-//        TemplateConfig tc = new TemplateConfig();
-//        // 自定义配置
-//        InjectionConfig cfg = new InjectionConfig() {
-//            @Override
-//            public void initMap() {
-//                // to do nothing
-//            }
-//        };
-//        //如果模板引擎是 velocity
-//        String templatePath = "/templates/mapper.xml.vm";
-//        // 自定义输出配置
-//        List<FileOutConfig> focList = new ArrayList<>();
-//        // 自定义配置会被优先输出
-//        String finalProjectPath = projectPath;
-//        focList.add(new FileOutConfig(templatePath) {
-//            @Override
-//            public String outputFile(TableInfo tableInfo) {
-//                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
-//                return finalProjectPath + "/src/main/resources/mapper.system" + "/"
-//                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
-//            }
-//        });
-//        cfg.setFileOutConfigList(focList);
-//        mpg.setCfg(cfg);
-//        tc.setXml(null);
-//        mpg.setTemplate(tc);
-//        //5、执行
-//        mpg.execute();
-//    }
-//}
+package com.usky.system;//package com.usky.system.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
+
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.po.TableInfo;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author yq
+ * @date 2021/7/6 11:42
+ */
+public class MybatisGeneratorUtils {
+    public static void main(String[] args) {
+
+        shell("service-system", "service-system-biz");
+    }
+
+    private static void shell(String parentName, String model) {
+
+        AutoGenerator mpg = new AutoGenerator();
+        //1、全局配置
+        GlobalConfig gc = new GlobalConfig();
+//        File file = new File(model);
+//        String path = file.getAbsolutePath();
+        String projectPath = System.getProperty("user.dir");
+        projectPath += "/" + parentName;
+        projectPath += "/" + model;
+        gc.setOutputDir(projectPath + "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
+        //修改为自己的名字
+        gc.setAuthor("JCB"); //设置作者
+        gc.setOpen(false);
+        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
+        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
+        gc.setBaseResultMap(true); //生成resultMap
+        mpg.setGlobalConfig(gc);
+
+        //2、数据源配置
+        //修改数据源
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
+        dsc.setUsername("usky");
+        dsc.setPassword("Yt#75Usky");
+        mpg.setDataSource(dsc);
+
+        // 3、包配置
+        PackageConfig pc = new PackageConfig();
+        pc.setParent("com.usky.system");
+        pc.setController("controller.web");
+        pc.setEntity("domain");
+        pc.setMapper("mapper");
+        pc.setService("service");
+        pc.setServiceImpl("service.impl");
+//        pc.setXml("mapper.demo");
+        //pc.setModuleName("test");
+        mpg.setPackageInfo(pc);
+
+        // 4、策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        strategy.setSuperMapperClass("com.usky.common.mybatis.core.CrudMapper");
+        strategy.setSuperServiceClass("com.usky.common.mybatis.core.CrudService");
+        strategy.setSuperServiceImplClass("com.usky.common.mybatis.core.AbstractCrudService");
+        // strategy.setTablePrefix("t_"); // 表名前缀
+        strategy.setEntityLombokModel(true); //使用lombok
+        //修改自己想要生成的表
+        strategy.setInclude("sys_user_person");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        mpg.setStrategy(strategy);
+
+        // 关闭默认 xml 生成,调整生成 至 根目录
+        //修改对应的模块名称
+        TemplateConfig tc = new TemplateConfig();
+        // 自定义配置
+        InjectionConfig cfg = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                // to do nothing
+            }
+        };
+        //如果模板引擎是 velocity
+        String templatePath = "/templates/mapper.xml.vm";
+        // 自定义输出配置
+        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+        String finalProjectPath = projectPath;
+        focList.add(new FileOutConfig(templatePath) {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+                return finalProjectPath + "/src/main/resources/mapper/system" + "/"
+                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+            }
+        });
+        cfg.setFileOutConfigList(focList);
+        mpg.setCfg(cfg);
+        tc.setXml(null);
+        mpg.setTemplate(tc);
+        //5、执行
+        mpg.execute();
+    }
+}

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

@@ -0,0 +1,63 @@
+package com.usky.system.controller.web;
+
+
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.aliyuncs.DefaultAcsClient;
+import com.aliyuncs.IAcsClient;
+import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
+import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
+import com.aliyuncs.exceptions.ClientException;
+import com.aliyuncs.profile.DefaultProfile;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.redis.core.RedisHelper;
+import com.usky.system.domain.SysMobileTenantConfig;
+import com.usky.system.service.SysMobileTenantConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.rmi.ServerException;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * <p>
+ * 移动端_租户配置表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+@RestController
+@RequestMapping("/SendSms")
+public class SendSmsController {
+
+    @Autowired
+    private RedisHelper redisHelper;
+
+    @GetMapping("/noteSending")
+    public ApiResult<Void> noteSending(@RequestParam String phone) {
+        DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI9WERPIFIlHDg", "p7SQ0rYpraebcdoJ0l3tOtYmmgrR4q");
+        String code = String.valueOf(new Random().nextInt(1000000));
+        redisHelper.set("Verify",code);
+        IAcsClient client = new DefaultAcsClient(profile);
+        SendSmsRequest request = new SendSmsRequest();
+        request.setPhoneNumbers(phone);//接收短信的手机号码
+        request.setSignName("永天智慧云");//短信签名名称
+        request.setTemplateCode("SMS_164095840");//短信模板CODE
+        request.setTemplateParam("{\"code\":\""+code+"\"}");//短信模板变量对应的实际值
+        try {
+            SendSmsResponse response = client.getAcsResponse(request);
+            System.out.println(new Gson().toJson(response));
+        } catch (ClientException e) {
+            System.out.println("ErrCode:" + e.getErrCode());
+            System.out.println("ErrMsg:" + e.getErrMsg());
+            System.out.println("RequestId:" + e.getRequestId());
+        }
+        return ApiResult.success();
+    }
+
+}
+

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

@@ -69,8 +69,8 @@ public class SysMenuController extends BaseController
     @GetMapping("/treeselect")
     public ApiResult treeselect(SysMenu menu)
     {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(menu, userId);
+//        Long userId = SecurityUtils.getUserId();
+        List<SysMenu> menus = menuService.selectMenuListTwo(menu);
         return ApiResult.success(menuService.buildMenuTreeSelect(menus));
     }
 
@@ -80,8 +80,9 @@ public class SysMenuController extends BaseController
     @GetMapping(value = "/roleMenuTreeselect/{roleId}")
     public ApiResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
     {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(userId);
+//        Long userId = SecurityUtils.getUserId();
+        SysMenu menu = new SysMenu();
+        List<SysMenu> menus = menuService.selectMenuListTwo(menu);
         Map<String,Object> ajax = new HashMap<>();
         ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
         ajax.put("menus", menuService.buildMenuTreeSelect(menus));

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

@@ -0,0 +1,44 @@
+package com.usky.system.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.SysMenu;
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.system.domain.SysUser;
+import com.usky.system.service.SysMobileMenuService;
+import com.usky.system.service.impl.SysMenuServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@RestController
+@RequestMapping("/sysMobileMenu")
+public class SysMobileMenuController {
+
+    @Autowired
+    private SysMobileMenuService sysMobileMenuService;
+
+    @GetMapping("getRouters")
+    public ApiResult getRouters()
+    {
+        List<SysMobileMenu> menus = sysMobileMenuService.moveRoute();
+        return ApiResult.success(menus);
+    }
+
+}
+

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

@@ -0,0 +1,41 @@
+package com.usky.system.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.system.domain.SysMobileTenantConfig;
+import com.usky.system.service.SysMobileTenantConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_租户配置表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+@RestController
+@RequestMapping("/sysMobileTenantConfig")
+public class SysMobileTenantConfigController {
+
+    @Autowired
+    private SysMobileTenantConfigService sysMobileTenantConfigService;
+
+    /**
+     * 移动端-登录配置查询
+     * @param url 域名
+     * @return
+     */
+    @GetMapping("/getMobileTenantConfig")
+    public ApiResult<List<SysMobileTenantConfig>> getMobileTenantConfig(@RequestParam String url) {
+        return ApiResult.success(sysMobileTenantConfigService.getMobileTenantConfig(url));
+    }
+
+}
+

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

@@ -0,0 +1,22 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@RestController
+@RequestMapping("/sysMobileTenantMenu")
+public class SysMobileTenantMenuController {
+
+}
+

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

@@ -0,0 +1,21 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 人员信息 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Controller
+@RequestMapping("/sysPerson")
+public class SysPersonController {
+
+}
+

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

@@ -0,0 +1,21 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 用户人员关联 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Controller
+@RequestMapping("/sysUserPerson")
+public class SysUserPersonController {
+
+}
+

+ 39 - 15
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -1,15 +1,20 @@
 package com.usky.system.controller.web;
 
 import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.util.BeanMapperUtils;
 import com.usky.common.core.util.JwtUtils;
 import com.usky.common.core.util.StringUtils;
 import com.usky.common.security.auth.AuthUtil;
 import com.usky.common.security.service.TokenService;
 import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.SysPerson;
+import com.usky.system.domain.SysUser;
+import com.usky.system.domain.SysUserVO;
 import com.usky.system.model.LoginUser;
 import com.usky.system.service.ISysPermissionService;
 import com.usky.system.service.ISysUserService;
 import com.usky.system.service.SysLoginService;
+import com.usky.system.service.SysPersonService;
 import com.usky.system.service.vo.LoginBody;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -26,8 +31,7 @@ import java.util.Set;
  * @author ruoyi
  */
 @RestController
-public class TokenController
-{
+public class TokenController {
     @Autowired
     private TokenService tokenService;
 
@@ -40,9 +44,11 @@ public class TokenController
     @Autowired
     private ISysPermissionService permissionService;
 
+    @Autowired
+    private SysPersonService sysPersonService;
+
     @PostMapping("login")
-    public ApiResult<?> login(@RequestBody LoginBody form)
-    {
+    public ApiResult<?> login(@RequestBody LoginBody form) {
         // 用户登录
         LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getTenantId());
         // 获取登录token
@@ -50,12 +56,33 @@ public class TokenController
     }
 
 
+    @PostMapping("appLogin")
+    public ApiResult<?> appLogin(@RequestBody LoginBody form) {
+//        String phone = null;
+        // 用户登录
+        SysUser userInfo = sysLoginService.appLogin(form.getUsername(), form.getPassword(), form.getTenantId(), form.getPhone(), form.getVerify());
+        LoginUser SysUser = new LoginUser();
+        SysUserVO sysUserVO = BeanMapperUtils.map(userInfo, SysUserVO.class);
+        SysUser.setSysUser(sysUserVO);
+        SysPerson sysPerson = sysPersonService.getsysPerson(userInfo.getUserId());
+        SysUser.setSysPerson(sysPerson);
+        // 获取登录token
+        return ApiResult.success(tokenService.createToken(SysUser));
+    }
+
+
+    @PostMapping("login1")
+    public ApiResult<?> login1(@RequestBody LoginBody form) {
+        // 用户登录
+        LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getTenantId());
+        // 获取登录token
+        return ApiResult.success(tokenService.createToken(userInfo));
+    }
+
     @DeleteMapping("logout")
-    public ApiResult<?> logout(HttpServletRequest request)
-    {
+    public ApiResult<?> logout(HttpServletRequest request) {
         String token = SecurityUtils.getToken(request);
-        if (StringUtils.isNotEmpty(token))
-        {
+        if (StringUtils.isNotEmpty(token)) {
             String username = JwtUtils.getUserName(token);
             // 删除用户缓存记录
             AuthUtil.logoutByToken(token);
@@ -66,11 +93,9 @@ public class TokenController
     }
 
     @PostMapping("refresh")
-    public ApiResult<?> refresh(HttpServletRequest request)
-    {
+    public ApiResult<?> refresh(HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
-        if (Objects.nonNull(loginUser))
-        {
+        if (Objects.nonNull(loginUser)) {
             // 刷新令牌有效期
             tokenService.refreshToken(loginUser);
             return ApiResult.success();
@@ -84,14 +109,13 @@ public class TokenController
      * @return 用户信息
      */
     @GetMapping("getInfo")
-    public ApiResult getInfo()
-    {
+    public ApiResult getInfo() {
         Long userId = SecurityUtils.getUserId();
         // 角色集合
         Set<String> roles = permissionService.getRolePermission(userId);
         // 权限集合
         Set<String> permissions = permissionService.getMenuPermission(userId);
-        Map<String,Object> ajax = new HashMap<>();
+        Map<String, Object> ajax = new HashMap<>();
         ajax.put("user", sysUserService.selectUserById(userId));
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);

+ 133 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileMenu.java

@@ -0,0 +1,133 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMobileMenu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 菜单ID
+     */
+    @TableId(value = "menu_id", type = IdType.AUTO)
+    private Integer menuId;
+
+    /**
+     * 菜单名称
+     */
+    private String menuName;
+
+    /**
+     * 父菜单ID
+     */
+    private Long parentId;
+
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * 路由地址
+     */
+    private String path;
+
+    /**
+     * 组件路径
+     */
+    private String component;
+
+    /**
+     * 路由参数
+     */
+    private String query;
+
+    /**
+     * 是否为外链(0是 1否)
+     */
+    private Integer isFrame;
+
+    /**
+     * 是否缓存(0缓存 1不缓存)
+     */
+    private Integer isCache;
+
+    /**
+     * 菜单类型(M目录 C菜单 F按钮)
+     */
+    private String menuType;
+
+    /**
+     * 菜单状态(0显示 1隐藏)
+     */
+    private String visible;
+
+    /**
+     * 菜单状态(0正常 1停用)
+     */
+    private String status;
+
+    /**
+     * 权限标识
+     */
+    private String perms;
+
+    /**
+     * 菜单图标
+     */
+    private String icon;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 子菜单
+     */
+    @TableField(exist = false)
+    private List<SysMobileMenu> children = new ArrayList<SysMobileMenu>();
+
+
+}

+ 108 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantConfig.java

@@ -0,0 +1,108 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 移动端_租户配置表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMobileTenantConfig implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 租户ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 登录域名
+     */
+    private String loginDomain;
+
+    /**
+     * 登录标题
+     */
+    private String loginTitle;
+
+    /**
+     * 登录页logo
+     */
+    private String loginLogo;
+
+    /**
+     * 登录页背景地址
+     */
+    private String loginBackUrl;
+
+    /**
+     * 登录页底部名称
+     */
+    private String loginFooter;
+
+    /**
+     * 登录类型 1:账号登录 2:手机登录 3:账号手机登录
+     */
+    private Integer loginType;
+
+    /**
+     * 轮询图集合
+     */
+    private String middleUrl;
+
+    /**
+     * 主页logo地址
+     */
+    private String homeLogo;
+
+    /**
+     * 主页导航布局
+     */
+    private String homeLayout;
+
+    /**
+     * 主页主题样式
+     */
+    private String homeStyle;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 36 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysMobileTenantMenu.java

@@ -0,0 +1,36 @@
+package com.usky.system.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMobileTenantMenu implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 租户ID
+     */
+    private Long tenantId;
+
+    /**
+     * 菜单ID
+     */
+    private Long menuId;
+
+    private String menuAliasName;
+
+
+}

+ 117 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysPerson.java

@@ -0,0 +1,117 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 人员信息
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysPerson implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 姓名
+     */
+    private String fullName;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+    /**
+     * 性别;1男、2女
+     */
+    private Integer gender;
+
+    /**
+     * 家庭住址
+     */
+    private String address;
+
+    /**
+     * 文化程度;1小学、2初中、3高中、4大专、5本科、6硕士研究生、7博士研究生、8其他
+     */
+    private Integer educationDegree;
+
+    /**
+     * 身份证号
+     */
+    private String idNumber;
+
+    /**
+     * 联系方式
+     */
+    private String linkPhone;
+
+    /**
+     * 岗位ID
+     */
+    private Long postId;
+
+    /**
+     * 部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 入职时间
+     */
+    private Date entryTime;
+
+    /**
+     * 证书1
+     */
+    private String certificateUrl1;
+
+    /**
+     * 证书2
+     */
+    private String certificateUrl2;
+
+    /**
+     * 证书3
+     */
+    private String certificateUrl3;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+
+}

+ 40 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysUserPerson.java

@@ -0,0 +1,40 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 用户人员关联
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysUserPerson implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 人员ID
+     */
+    private Integer personId;
+
+
+}

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysConfig;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -37,7 +38,7 @@ public interface SysConfigMapper extends CrudMapper<SysConfig>
      * @param configKey 参数键名
      * @return 参数配置信息
      */
-    public SysConfig checkConfigKeyUnique(String configKey);
+    public SysConfig checkConfigKeyUnique(@Param("configKey") String configKey);
 
     /**
      * 新增参数配置
@@ -61,7 +62,7 @@ public interface SysConfigMapper extends CrudMapper<SysConfig>
      * @param configId 参数ID
      * @return 结果
      */
-    public int deleteConfigById(Long configId);
+    public int deleteConfigById(@Param("configId") Long configId);
 
     /**
      * 批量删除参数信息
@@ -69,5 +70,5 @@ public interface SysConfigMapper extends CrudMapper<SysConfig>
      * @param configIds 需要删除的参数ID
      * @return 结果
      */
-    public int deleteConfigByIds(Long[] configIds);
+    public int deleteConfigByIds(@Param("configIds") Long[] configIds);
 }

+ 10 - 8
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDeptMapper.java

@@ -31,7 +31,8 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptCheckStrictly 部门树选择项是否关联显示
      * @return 选中部门列表
      */
-    public List<Integer> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly);
+    public List<Integer> selectDeptListByRoleId(@Param("roleId") Long roleId,
+                                                @Param("deptCheckStrictly") boolean deptCheckStrictly);
 
     /**
      * 根据部门ID查询信息
@@ -39,7 +40,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 部门信息
      */
-    public SysDept selectDeptById(Long deptId);
+    public SysDept selectDeptById(@Param("deptId") Long deptId);
 
     /**
      * 根据ID查询所有子部门
@@ -47,7 +48,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 部门列表
      */
-    public List<SysDept> selectChildrenDeptById(Long deptId);
+    public List<SysDept> selectChildrenDeptById(@Param("deptId") Long deptId);
 
     /**
      * 根据ID查询所有子部门(正常状态)
@@ -55,7 +56,8 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 子部门数
      */
-    public int selectNormalChildrenDeptById(Long deptId,Integer tenantId);
+    public int selectNormalChildrenDeptById(@Param("deptId") Long deptId,
+                                            @Param("tenantId") Integer tenantId);
 
     /**
      * 是否存在子节点
@@ -63,7 +65,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 结果
      */
-    public int hasChildByDeptId(Long deptId);
+    public int hasChildByDeptId(@Param("deptId") Long deptId);
 
     /**
      * 查询部门是否存在用户
@@ -71,7 +73,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 结果
      */
-    public int checkDeptExistUser(Long deptId);
+    public int checkDeptExistUser(@Param("deptId") Long deptId);
 
     /**
      * 校验部门名称是否唯一
@@ -105,7 +107,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * 
      * @param deptIds 部门ID组
      */
-    public void updateDeptStatusNormal(Long[] deptIds);
+    public void updateDeptStatusNormal(@Param("deptIds") Long[] deptIds);
 
     /**
      * 修改子元素关系
@@ -121,5 +123,5 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
      * @param deptId 部门ID
      * @return 结果
      */
-    public int deleteDeptById(Long deptId);
+    public int deleteDeptById(@Param("deptId") Long deptId);
 }

+ 9 - 7
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDictDataMapper.java

@@ -31,7 +31,7 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictType 字典类型
      * @return 字典数据集合信息
      */
-    public List<SysDictData> selectDictDataByType(String dictType);
+    public List<SysDictData> selectDictDataByType(@Param("dictType") String dictType);
 
     /**
      * 根据字典类型和字典键值查询字典数据信息
@@ -40,7 +40,8 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictValue 字典键值
      * @return 字典标签
      */
-    public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
+    public String selectDictLabel(@Param("dictType") String dictType,
+                                  @Param("dictValue") String dictValue);
 
     /**
      * 根据字典数据ID查询信息
@@ -48,7 +49,7 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
-    public SysDictData selectDictDataById(Long dictCode);
+    public SysDictData selectDictDataById(@Param("dictCode") Long dictCode);
 
     /**
      * 查询字典数据
@@ -56,7 +57,7 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictType 字典类型
      * @return 字典数据
      */
-    public int countDictDataByType(String dictType);
+    public int countDictDataByType(@Param("dictType") String dictType);
 
     /**
      * 通过字典ID删除字典数据信息
@@ -64,7 +65,7 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictCode 字典数据ID
      * @return 结果
      */
-    public int deleteDictDataById(Long dictCode);
+    public int deleteDictDataById(@Param("dictCode") Long dictCode);
 
     /**
      * 批量删除字典数据信息
@@ -72,7 +73,7 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param dictCodes 需要删除的字典数据ID
      * @return 结果
      */
-    public int deleteDictDataByIds(Long[] dictCodes);
+    public int deleteDictDataByIds(@Param("dictCodes") Long[] dictCodes);
 
     /**
      * 新增字典数据信息
@@ -97,5 +98,6 @@ public interface SysDictDataMapper extends CrudMapper<SysDictData>
      * @param newDictType 新旧字典类型
      * @return 结果
      */
-    public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
+    public int updateDictDataType(@Param("oldDictType") String oldDictType,
+                                  @Param("newDictType") String newDictType);
 }

+ 7 - 5
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysDictTypeMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysDictType;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -37,7 +38,7 @@ public interface SysDictTypeMapper extends CrudMapper<SysDictType>
      * @param dictId 字典类型ID
      * @return 字典类型
      */
-    public SysDictType selectDictTypeById(Long dictId);
+    public SysDictType selectDictTypeById(@Param("dictId") Long dictId);
 
     /**
      * 根据字典类型查询信息
@@ -45,7 +46,7 @@ public interface SysDictTypeMapper extends CrudMapper<SysDictType>
      * @param dictType 字典类型
      * @return 字典类型
      */
-    public SysDictType selectDictTypeByType(String dictType);
+    public SysDictType selectDictTypeByType(@Param("dictType") String dictType);
 
     /**
      * 通过字典ID删除字典信息
@@ -53,7 +54,7 @@ public interface SysDictTypeMapper extends CrudMapper<SysDictType>
      * @param dictId 字典ID
      * @return 结果
      */
-    public int deleteDictTypeById(Long dictId);
+    public int deleteDictTypeById(@Param("dictId") Long dictId);
 
     /**
      * 批量删除字典类型信息
@@ -61,7 +62,7 @@ public interface SysDictTypeMapper extends CrudMapper<SysDictType>
      * @param dictIds 需要删除的字典ID
      * @return 结果
      */
-    public int deleteDictTypeByIds(Long[] dictIds);
+    public int deleteDictTypeByIds(@Param("dictIds") Long[] dictIds);
 
     /**
      * 新增字典类型信息
@@ -85,5 +86,6 @@ public interface SysDictTypeMapper extends CrudMapper<SysDictType>
      * @param dictType 字典类型
      * @return 结果
      */
-    public SysDictType checkDictTypeUnique(String dictType,Integer tenantId);
+    public SysDictType checkDictTypeUnique(@Param("dictType") String dictType,
+                                           @Param("tenantId") Integer tenantId);
 }

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysLogininfor;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -37,7 +38,7 @@ public interface SysLogininforMapper extends CrudMapper<SysLogininfor>
      * @param infoIds 需要删除的登录日志ID
      * @return 结果
      */
-    public int deleteLogininforByIds(Long[] infoIds);
+    public int deleteLogininforByIds(@Param("infoIds") Long[] infoIds);
 
     /**
      * 清空系统登录日志

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

@@ -15,8 +15,7 @@ import java.util.List;
  * @author yq
  */
 @Repository
-public interface SysMenuMapper extends CrudMapper<SysMenu>
-{
+public interface SysMenuMapper extends CrudMapper<SysMenu> {
     /**
      * 查询系统菜单列表
      *
@@ -25,6 +24,16 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      */
     public List<SysMenu> selectMenuList(SysMenu menu);
 
+    /**
+     * 根据租户查询系统菜单
+     *
+     * @param tenantId 租户ID
+     * @param menuName 目录名册
+     * @return
+     */
+    public List<SysMenu> selectMenuListOne(@Param("tenantId") Integer tenantId,
+                                           @Param("menuName") String menuName);
+
     /**
      * 根据用户所有权限
      *
@@ -40,7 +49,7 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      */
     public List<SysMenu> selectMenuListByUserId(SysMenu menu);
 
-    public List<SysMenu> selectMenuListByUserIdOne(Long userId);
+    public List<SysMenu> selectMenuListByUserIdOne(@Param("userId") Long userId);
 
     /**
      * 根据用户ID查询权限
@@ -48,9 +57,9 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param userId 用户ID
      * @return 权限列表
      */
-    public List<String> selectMenuPermsByUserId(Long userId);
+    public List<String> selectMenuPermsByUserId(@Param("userId") Long userId);
 
-    public List<String> selectMenuPermsByUserIdOne(Integer tenantId);
+    public List<String> selectMenuPermsByUserIdOne(@Param("tenantId") Integer tenantId);
 
     /**
      * 根据用户ID查询菜单
@@ -65,18 +74,19 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param userId 用户ID
      * @return 菜单列表
      */
-    public List<SysMenu> selectMenuTreeByUserId(Long userId);
+    public List<SysMenu> selectMenuTreeByUserId(@Param("userId") Long userId);
 
     public List<SysMenu> selectMenuTreeByUserIdOne(@Param("tenantId") Integer tenantId);
 
     /**
      * 根据角色ID查询菜单树信息
-     * 
-     * @param roleId 角色ID
+     *
+     * @param roleId            角色ID
      * @param menuCheckStrictly 菜单树选择项是否关联显示
      * @return 选中菜单列表
      */
-    public List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
+    public List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId,
+                                                @Param("menuCheckStrictly") boolean menuCheckStrictly);
 
     /**
      * 根据菜单ID查询信息
@@ -84,7 +94,7 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param menuId 菜单ID
      * @return 菜单信息
      */
-    public SysMenu selectMenuById(Long menuId);
+    public SysMenu selectMenuById(@Param("menuId") Long menuId);
 
     /**
      * 是否存在菜单子节点
@@ -92,7 +102,7 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param menuId 菜单ID
      * @return 结果
      */
-    public int hasChildByMenuId(Long menuId);
+    public int hasChildByMenuId(@Param("menuId") Long menuId);
 
     /**
      * 新增菜单信息
@@ -116,7 +126,7 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param menuId 菜单ID
      * @return 结果
      */
-    public int deleteMenuById(Long menuId);
+    public int deleteMenuById(@Param("menuId") Long menuId);
 
     /**
      * 校验菜单名称是否唯一
@@ -125,7 +135,8 @@ public interface SysMenuMapper extends CrudMapper<SysMenu>
      * @param parentId 父菜单ID
      * @return 结果
      */
-    public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
+    public SysMenu checkMenuNameUnique(@Param("menuName") String menuName,
+                                       @Param("parentId") Long parentId);
 
     public List<SysMenu> getSysMenuList(String menuType);
 

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileMenuMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileMenuMapper extends CrudMapper<SysMobileMenu> {
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantConfigMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysMobileTenantConfig;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 移动端_租户配置表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+public interface SysMobileTenantConfigMapper extends CrudMapper<SysMobileTenantConfig> {
+
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysMobileTenantMenuMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileTenantMenuMapper extends CrudMapper<SysMobileTenantMenu> {
+
+}

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysNotice;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -21,7 +22,7 @@ public interface SysNoticeMapper extends CrudMapper<SysNotice>
      * @param noticeId 公告ID
      * @return 公告信息
      */
-    public SysNotice selectNoticeById(Long noticeId);
+    public SysNotice selectNoticeById(@Param("noticeId") Long noticeId);
 
     /**
      * 查询公告列表
@@ -53,7 +54,7 @@ public interface SysNoticeMapper extends CrudMapper<SysNotice>
      * @param noticeId 公告ID
      * @return 结果
      */
-    public int deleteNoticeById(Long noticeId);
+    public int deleteNoticeById(@Param("noticeId") Long noticeId);
 
     /**
      * 批量删除公告信息
@@ -61,5 +62,5 @@ public interface SysNoticeMapper extends CrudMapper<SysNotice>
      * @param noticeIds 需要删除的公告ID
      * @return 结果
      */
-    public int deleteNoticeByIds(Long[] noticeIds);
+    public int deleteNoticeByIds(@Param("noticeIds") Long[] noticeIds);
 }

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysOperLog;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -37,7 +38,7 @@ public interface SysOperLogMapper extends CrudMapper<SysOperLog>
      * @param operIds 需要删除的操作日志ID
      * @return 结果
      */
-    public int deleteOperLogByIds(Long[] operIds);
+    public int deleteOperLogByIds(@Param("operIds") Long[] operIds);
 
     /**
      * 查询操作日志详细
@@ -45,7 +46,7 @@ public interface SysOperLogMapper extends CrudMapper<SysOperLog>
      * @param operId 操作ID
      * @return 操作日志对象
      */
-    public SysOperLog selectOperLogById(Long operId);
+    public SysOperLog selectOperLogById(@Param("operId") Long operId);
 
     /**
      * 清空操作日志

+ 18 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysPersonMapper.java

@@ -0,0 +1,18 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysPerson;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * 人员信息 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Repository
+public interface SysPersonMapper extends CrudMapper<SysPerson> {
+
+}

+ 11 - 8
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysPostMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysPost;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -28,7 +29,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * 
      * @return 岗位列表
      */
-    public List<SysPost> selectPostAll();
+    public List<SysPost> selectPostAll(@Param("tenantId") Integer tenantId);
 
     /**
      * 通过岗位ID查询岗位信息
@@ -36,7 +37,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param postId 岗位ID
      * @return 角色对象信息
      */
-    public SysPost selectPostById(Long postId);
+    public SysPost selectPostById(@Param("postId") Long postId);
 
     /**
      * 根据用户ID获取岗位选择框列表
@@ -44,7 +45,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param userId 用户ID
      * @return 选中岗位ID列表
      */
-    public List<Integer> selectPostListByUserId(Long userId);
+    public List<Integer> selectPostListByUserId(@Param("userId") Long userId);
 
     /**
      * 查询用户所属岗位组
@@ -52,7 +53,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param userName 用户名
      * @return 结果
      */
-    public List<SysPost> selectPostsByUserName(String userName);
+    public List<SysPost> selectPostsByUserName(@Param("userName") String userName);
 
     /**
      * 删除岗位信息
@@ -60,7 +61,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param postId 岗位ID
      * @return 结果
      */
-    public int deletePostById(Long postId);
+    public int deletePostById(@Param("postId") Long postId);
 
     /**
      * 批量删除岗位信息
@@ -68,7 +69,7 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param postIds 需要删除的岗位ID
      * @return 结果
      */
-    public int deletePostByIds(Long[] postIds);
+    public int deletePostByIds(@Param("postIds") Long[] postIds);
 
     /**
      * 修改岗位信息
@@ -92,7 +93,8 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param postName 岗位名称
      * @return 结果
      */
-    public SysPost checkPostNameUnique(String postName,Integer tenantId);
+    public SysPost checkPostNameUnique(@Param("postName") String postName,
+                                       @Param("tenantId") Integer tenantId);
 
     /**
      * 校验岗位编码
@@ -100,5 +102,6 @@ public interface SysPostMapper extends CrudMapper<SysPost>
      * @param postCode 岗位编码
      * @return 结果
      */
-    public SysPost checkPostCodeUnique(String postCode,Integer tenantId);
+    public SysPost checkPostCodeUnique(@Param("postCode") String postCode,
+                                       @Param("tenantId") Integer tenantId);
 }

+ 5 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleDeptMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysRoleDept;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -21,15 +22,15 @@ public interface SysRoleDeptMapper extends CrudMapper<SysRoleDept>
      * @param roleId 角色ID
      * @return 结果
      */
-    public int deleteRoleDeptByRoleId(Long roleId);
+    public int deleteRoleDeptByRoleId(@Param("roleId") Long roleId);
 
     /**
      * 批量删除角色部门关联信息
      * 
-     * @param ids 需要删除的数据ID
+     * @param roleId 需要删除的数据ID
      * @return 结果
      */
-    public int deleteRoleDept(Long[] ids);
+    public int deleteRoleDept(@Param("roleId") Long[] roleId);
 
     /**
      * 查询部门使用数量
@@ -37,7 +38,7 @@ public interface SysRoleDeptMapper extends CrudMapper<SysRoleDept>
      * @param deptId 部门ID
      * @return 结果
      */
-    public int selectCountRoleDeptByDeptId(Long deptId);
+    public int selectCountRoleDeptByDeptId(@Param("deptId") Long deptId);
 
     /**
      * 批量新增角色部门信息

+ 11 - 8
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysRole;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -29,7 +30,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param userId 用户ID
      * @return 角色列表
      */
-    public List<SysRole> selectRolePermissionByUserId(Long userId);
+    public List<SysRole> selectRolePermissionByUserId(@Param("userId") Long userId);
 
     /**
      * 查询所有角色
@@ -44,7 +45,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param userId 用户ID
      * @return 选中角色ID列表
      */
-    public List<Integer> selectRoleListByUserId(Long userId);
+    public List<Integer> selectRoleListByUserId(@Param("userId") Long userId);
 
     /**
      * 通过角色ID查询角色
@@ -52,7 +53,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleId 角色ID
      * @return 角色对象信息
      */
-    public SysRole selectRoleById(Long roleId);
+    public SysRole selectRoleById(@Param("roleId") Long roleId);
 
     /**
      * 根据用户ID查询角色
@@ -60,7 +61,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param userName 用户名
      * @return 角色列表
      */
-    public List<SysRole> selectRolesByUserName(String userName);
+    public List<SysRole> selectRolesByUserName(@Param("userName") String userName);
 
     /**
      * 校验角色名称是否唯一
@@ -68,7 +69,8 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleName 角色名称
      * @return 角色信息
      */
-    public SysRole checkRoleNameUnique(String roleName,Integer tenantId);
+    public SysRole checkRoleNameUnique(@Param("roleName") String roleName,
+                                       @Param("tenantId") Integer tenantId);
 
     /**
      * 校验角色权限是否唯一
@@ -76,7 +78,8 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleKey 角色权限
      * @return 角色信息
      */
-    public SysRole checkRoleKeyUnique(String roleKey,Integer tenantId);
+    public SysRole checkRoleKeyUnique(@Param("roleKey") String roleKey,
+                                      @Param("tenantId") Integer tenantId);
 
     /**
      * 修改角色信息
@@ -100,7 +103,7 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleId 角色ID
      * @return 结果
      */
-    public int deleteRoleById(Long roleId);
+    public int deleteRoleById(@Param("roleId") Long roleId);
 
     /**
      * 批量删除角色信息
@@ -108,5 +111,5 @@ public interface SysRoleMapper extends CrudMapper<SysRole>
      * @param roleIds 需要删除的角色ID
      * @return 结果
      */
-    public int deleteRoleByIds(Long[] roleIds);
+    public int deleteRoleByIds(@Param("roleIds") Long[] roleIds);
 }

+ 5 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysRoleMenuMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysRoleMenu;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -21,7 +22,7 @@ public interface SysRoleMenuMapper extends CrudMapper<SysRoleMenu>
      * @param menuId 菜单ID
      * @return 结果
      */
-    public int checkMenuExistRole(Long menuId);
+    public int checkMenuExistRole(@Param("menuId") Long menuId);
 
     /**
      * 通过角色ID删除角色和菜单关联
@@ -29,15 +30,15 @@ public interface SysRoleMenuMapper extends CrudMapper<SysRoleMenu>
      * @param roleId 角色ID
      * @return 结果
      */
-    public int deleteRoleMenuByRoleId(Long roleId);
+    public int deleteRoleMenuByRoleId(@Param("roleId") Long roleId);
 
     /**
      * 批量删除角色菜单关联信息
      * 
-     * @param ids 需要删除的数据ID
+     * @param roleId 需要删除的数据ID
      * @return 结果
      */
-    public int deleteRoleMenu(Long[] ids);
+    public int deleteRoleMenu(@Param("roleId") Long[] roleId);
 
     /**
      * 批量新增角色菜单信息

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

@@ -1,7 +1,6 @@
 package com.usky.system.mapper;
 
 
-import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysUser;
 import org.apache.ibatis.annotations.Param;
@@ -144,4 +143,10 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
 
     public List<SysUser> userList(@Param("tenantId") Integer tenantId,
                                   @Param("createBy") String createBy);
+
+    SysUser selectUserData(@Param("userName") String userName,
+                           @Param("tenantId") Integer tenantId);
+
+    SysUser selectUserDataOne(@Param("tenantId") Integer tenantId,
+                              @Param("phone") String phone);
 }

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserPersonMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysUserPerson;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 用户人员关联 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public interface SysUserPersonMapper extends CrudMapper<SysUserPerson> {
+
+}

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

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysUserPost;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -21,7 +22,7 @@ public interface SysUserPostMapper extends CrudMapper<SysUserPost>
      * @param userId 用户ID
      * @return 结果
      */
-    public int deleteUserPostByUserId(Long userId);
+    public int deleteUserPostByUserId(@Param("userId") Long userId);
 
     /**
      * 通过岗位ID查询岗位使用数量
@@ -29,7 +30,7 @@ public interface SysUserPostMapper extends CrudMapper<SysUserPost>
      * @param postId 岗位ID
      * @return 结果
      */
-    public int countUserPostById(Long postId);
+    public int countUserPostById(@Param("postId") Long postId);
 
     /**
      * 批量删除用户和岗位关联
@@ -37,7 +38,7 @@ public interface SysUserPostMapper extends CrudMapper<SysUserPost>
      * @param ids 需要删除的数据ID
      * @return 结果
      */
-    public int deleteUserPost(Long[] ids);
+    public int deleteUserPost(@Param("ids") Long[] ids);
 
     /**
      * 批量新增用户岗位信息

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

@@ -22,7 +22,7 @@ public interface SysUserRoleMapper extends CrudMapper<SysUserRole>
      * @param userId 用户ID
      * @return 结果
      */
-    public int deleteUserRoleByUserId(Long userId);
+    public int deleteUserRoleByUserId(@Param("userId") Long userId);
 
     /**
      * 批量删除用户和角色关联
@@ -30,7 +30,7 @@ public interface SysUserRoleMapper extends CrudMapper<SysUserRole>
      * @param ids 需要删除的数据ID
      * @return 结果
      */
-    public int deleteUserRole(Long[] ids);
+    public int deleteUserRole(@Param("ids") Long[] ids);
 
     /**
      * 通过角色ID查询角色使用数量
@@ -38,7 +38,7 @@ public interface SysUserRoleMapper extends CrudMapper<SysUserRole>
      * @param roleId 角色ID
      * @return 结果
      */
-    public int countUserRoleByRoleId(Long roleId);
+    public int countUserRoleByRoleId(@Param("roleId") Long roleId);
 
     /**
      * 批量新增用户角色信息

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

@@ -33,6 +33,12 @@ public interface ISysMenuService extends CrudService<SysMenu>
      */
     public List<SysMenu> selectMenuList(SysMenu menu, Long userId);
 
+    /**
+     * 根据租户查询目录
+     * @param menu
+     * @return
+     */
+    List<SysMenu> selectMenuListTwo(SysMenu menu);
 
     List<SysMenu> selectMenuListOne(Long userId);
 

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

@@ -200,7 +200,8 @@ public interface ISysUserService extends CrudService<SysUser> {
 
     public LoginUser getUserInfoOne(String username,Integer tenantId);
 
-
+    SysUser getAppUserInfo(String username, Integer tenantId,String phone);
+    
     public Boolean register(SysUser sysUser);
 
     public int addUser(SysUser user);

+ 91 - 44
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysLoginService.java

@@ -3,14 +3,12 @@ package com.usky.system.service;
 import com.usky.common.core.constants.Constants;
 import com.usky.common.core.util.IpUtils;
 import com.usky.common.core.util.ServletUtils;
+import com.usky.common.redis.core.RedisHelper;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.BeanMapperUtils;
 import com.usky.common.core.util.StringUtils;
-import com.usky.system.domain.SysLogininfor;
-import com.usky.system.domain.SysLogininforVO;
-import com.usky.system.domain.SysUser;
-import com.usky.system.domain.SysUserVO;
+import com.usky.system.domain.*;
 import com.usky.system.domain.constants.UserConstants;
 import com.usky.system.model.LoginUser;
 import com.usky.system.service.enums.UserStatus;
@@ -19,12 +17,11 @@ import org.springframework.stereotype.Component;
 
 /**
  * 登录校验方法
- * 
+ *
  * @author ruoyi
  */
 @Component
-public class SysLoginService
-{
+public class SysLoginService {
 
     @Autowired
     private ISysLogininforService sysLogininforService;
@@ -32,83 +29,137 @@ public class SysLoginService
     @Autowired
     private ISysUserService sysUserService;
 
+    @Autowired
+    private RedisHelper redisHelper;
+
+    @Autowired
+    private SysPersonService sysPersonService;
+
     /**
      * 登录
      */
-    public LoginUser login(String username, String password,Integer tenantId)
-    {
+    public LoginUser login(String username, String password, Integer tenantId) {
         // 用户名或密码为空 错误
-        if (StringUtils.isAnyBlank(username, password))
-        {
+        if (StringUtils.isAnyBlank(username, password)) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
             throw new BusinessException("用户/密码必须填写");
         }
         // 密码如果不在指定范围内 错误
         if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
-                || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
-        {
+                || password.length() > UserConstants.PASSWORD_MAX_LENGTH) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码不在指定范围");
             throw new BusinessException("用户密码不在指定范围");
         }
         // 用户名不在指定范围内 错误
         if (username.length() < UserConstants.USERNAME_MIN_LENGTH
-                || username.length() > UserConstants.USERNAME_MAX_LENGTH)
-        {
+                || username.length() > UserConstants.USERNAME_MAX_LENGTH) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围");
             throw new BusinessException("用户名不在指定范围");
         }
 
         // 查询用户信息
         LoginUser loginUser = new LoginUser();
-        if (tenantId!=null&&tenantId!=0) {
-            loginUser = sysUserService.getUserInfoOne(username,tenantId);
-        }else {
+        if (tenantId != null && tenantId != 0) {
+            loginUser = sysUserService.getUserInfoOne(username, tenantId);
+        } else {
             loginUser = sysUserService.getUserInfo(username);
         }
 
         SysUserVO user = loginUser.getSysUser();
-        if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
-        {
+        if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
             throw new BusinessException("对不起,您的账号:" + username + " 已被删除");
         }
-        if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
-        {
+        if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
             throw new BusinessException("对不起,您的账号:" + username + " 已停用");
         }
-        if (!SecurityUtils.matchesPassword(password, user.getPassword()))
-        {
+        if (!SecurityUtils.matchesPassword(password, user.getPassword())) {
             recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码错误");
             throw new BusinessException("用户不存在/密码错误");
         }
+        SysPerson sysPerson = sysPersonService.getsysPerson(user.getUserId());
+        loginUser.setSysPerson(sysPerson);
+        recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功");
+        return loginUser;
+    }
+
+
+    public SysUser appLogin(String username, String password, Integer tenantId, String phone, String verify) {
+        SysUser loginUser = new SysUser();
+        if (!StringUtils.isBlank(username)) {
+            // 用户名或密码为空 错误
+            if (StringUtils.isAnyBlank(username, password)) {
+                recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
+                throw new BusinessException("用户/密码必须填写");
+            }
+
+            // 密码如果不在指定范围内 错误
+            if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
+                    || password.length() > UserConstants.PASSWORD_MAX_LENGTH) {
+                recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码不在指定范围");
+                throw new BusinessException("用户密码不在指定范围");
+            }
+
+            // 用户名不在指定范围内 错误
+            if (username.length() < UserConstants.USERNAME_MIN_LENGTH
+                    || username.length() > UserConstants.USERNAME_MAX_LENGTH) {
+                recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围");
+                throw new BusinessException("用户名不在指定范围");
+            }
+
+            //查询用户信息
+            loginUser = sysUserService.getAppUserInfo(username, tenantId, null);
+
+            if (!SecurityUtils.matchesPassword(password, loginUser.getPassword())) {
+                recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码错误");
+                throw new BusinessException("用户不存在/密码错误");
+            }
+        } else {
+            if (StringUtils.isBlank(verify)) {
+                throw new BusinessException("验证码不能为空");
+            }
+            if (!verify.equals(redisHelper.get("Verify"))) {
+                throw new BusinessException("验证码错误");
+            }
+            if (StringUtils.isBlank(phone)) {
+                throw new BusinessException("用户名或手机号不能为空");
+            }
+            loginUser = sysUserService.getAppUserInfo(null, tenantId, phone);
+        }
+
+        if (UserStatus.DELETED.getCode().equals(loginUser.getDelFlag())) {
+            recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
+            throw new BusinessException("对不起,您的账号:" + username + " 已被删除");
+        }
+        if (UserStatus.DISABLE.getCode().equals(loginUser.getStatus())) {
+            recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
+            throw new BusinessException("对不起,您的账号:" + username + " 已停用");
+        }
+
         recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功");
         return loginUser;
     }
 
-    public void logout(String loginName)
-    {
+
+    public void logout(String loginName) {
         recordLogininfor(loginName, Constants.LOGOUT, "退出成功");
     }
 
     /**
      * 注册
      */
-    public void register(String username, String password)
-    {
+    public void register(String username, String password) {
         // 用户名或密码为空 错误
-        if (StringUtils.isAnyBlank(username, password))
-        {
+        if (StringUtils.isAnyBlank(username, password)) {
             throw new BusinessException("用户/密码必须填写");
         }
         if (username.length() < UserConstants.USERNAME_MIN_LENGTH
-                || username.length() > UserConstants.USERNAME_MAX_LENGTH)
-        {
+                || username.length() > UserConstants.USERNAME_MAX_LENGTH) {
             throw new BusinessException("账户长度必须在2到20个字符之间");
         }
         if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
-                || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
-        {
+                || password.length() > UserConstants.PASSWORD_MAX_LENGTH) {
             throw new BusinessException("密码长度必须在5到20个字符之间");
         }
 
@@ -123,25 +174,21 @@ public class SysLoginService
 
     /**
      * 记录登录信息
-     * 
+     *
      * @param username 用户名
-     * @param status 状态
-     * @param message 消息内容
+     * @param status   状态
+     * @param message  消息内容
      * @return
      */
-    public void recordLogininfor(String username, String status, String message)
-    {
+    public void recordLogininfor(String username, String status, String message) {
         SysLogininforVO logininfor = new SysLogininforVO();
         logininfor.setUserName(username);
         logininfor.setIpaddr(IpUtils.getIpAddr(ServletUtils.getRequest()));
         logininfor.setMsg(message);
         // 日志状态
-        if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER))
-        {
+        if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
             logininfor.setStatus(Constants.LOGIN_SUCCESS_STATUS);
-        }
-        else if (Constants.LOGIN_FAIL.equals(status))
-        {
+        } else if (Constants.LOGIN_FAIL.equals(status)) {
             logininfor.setStatus(Constants.LOGIN_FAIL_STATUS);
         }
         sysLogininforService.insertLogininfor(BeanMapperUtils.map(logininfor, SysLogininfor.class));

+ 23 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileMenuService.java

@@ -0,0 +1,23 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileMenuService extends CrudService<SysMobileMenu> {
+
+    /**
+     * 移动端-首页路由
+     * @return
+     */
+    List<SysMobileMenu> moveRoute();
+}

+ 23 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantConfigService.java

@@ -0,0 +1,23 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysMobileTenantConfig;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_租户配置表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+public interface SysMobileTenantConfigService extends CrudService<SysMobileTenantConfig> {
+    /**
+     * 移动端-登录配置查询
+     * @param url 域名
+     * @return
+     */
+    List<SysMobileTenantConfig> getMobileTenantConfig(String url);
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysMobileTenantMenuService.java

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+public interface SysMobileTenantMenuService extends CrudService<SysMobileTenantMenu> {
+
+}

+ 21 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysPersonService.java

@@ -0,0 +1,21 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysPerson;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 人员信息 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public interface SysPersonService extends CrudService<SysPerson> {
+
+    /**
+     * 根据登录用户查询所关联人员
+     * @return
+     */
+    SysPerson getsysPerson(Long userid);
+}

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysUserPersonService.java

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysUserPerson;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 用户人员关联 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public interface SysUserPersonService extends CrudService<SysUserPerson> {
+
+}

+ 11 - 6
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysDeptServiceImpl.java

@@ -185,13 +185,18 @@ public class SysDeptServiceImpl extends AbstractCrudService<SysDeptMapper, SysDe
     @Override
     public int insertDept(SysDept dept)
     {
-        SysDept info = deptMapper.selectDeptById(dept.getParentId());
-        // 如果父节点不为正常状态,则不允许新增子节点
-        if (!UserConstants.DEPT_NORMAL.equals(info.getStatus()))
-        {
-            throw new BusinessException("部门停用,不允许新增");
+        if (dept.getParentId()==null){
+            dept.setParentId(0L);
+            dept.setAncestors("0");
+        }else {
+            SysDept info = deptMapper.selectDeptById(dept.getParentId());
+            // 如果父节点不为正常状态,则不允许新增子节点
+            if (!UserConstants.DEPT_NORMAL.equals(info.getStatus()))
+            {
+                throw new BusinessException("部门停用,不允许新增");
+            }
+            dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
         }
-        dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
         return deptMapper.insertDept(dept);
     }
 

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

@@ -3,6 +3,7 @@ package com.usky.system.service.impl;
 import com.usky.common.core.constants.Constants;
 import com.usky.common.core.util.StringUtils;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.system.domain.SysMenu;
 import com.usky.system.domain.SysRole;
 import com.usky.system.domain.SysUserVO;
@@ -75,6 +76,13 @@ public class SysMenuServiceImpl extends AbstractCrudService<SysMenuMapper, SysMe
         return menuList;
     }
 
+    @Override
+    public List<SysMenu> selectMenuListTwo(SysMenu menu)
+    {
+        List<SysMenu> menuList = menuMapper.selectMenuListOne(SecurityUtils.getTenantId(),menu.getMenuName());
+        return menuList;
+    }
+
 
     @Override
     public List<SysMenu> selectMenuListOne(Long userId)

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

@@ -0,0 +1,134 @@
+package com.usky.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.constants.Constants;
+import com.usky.common.core.util.StringUtils;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.controller.web.SysMenuController;
+import com.usky.system.domain.SysMenu;
+import com.usky.system.domain.SysMobileMenu;
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.system.domain.constants.UserConstants;
+import com.usky.system.mapper.SysMobileMenuMapper;
+import com.usky.system.service.SysMobileMenuService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.system.service.SysMobileTenantMenuService;
+import com.usky.system.service.vo.MetaVo;
+import com.usky.system.service.vo.RouterVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_菜单权限表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Service
+public class SysMobileMenuServiceImpl extends AbstractCrudService<SysMobileMenuMapper, SysMobileMenu> implements SysMobileMenuService {
+
+    @Autowired
+    private SysMobileTenantMenuService sysMobileTenantMenuService;
+
+    @Override
+    public List<SysMobileMenu> moveRoute(){
+        List<SysMobileMenu> list = new ArrayList<>();
+        LambdaQueryWrapper<SysMobileTenantMenu> query = Wrappers.lambdaQuery();
+        query.eq(SysMobileTenantMenu::getTenantId, SecurityUtils.getTenantId());
+        List<SysMobileTenantMenu> tenantMenuList = sysMobileTenantMenuService.list(query);
+        if (CollectionUtils.isNotEmpty(tenantMenuList)){
+            List<Long> menuIdList = new ArrayList<>();
+            for (int i = 0; i < tenantMenuList.size(); i++) {
+                menuIdList.add(tenantMenuList.get(i).getMenuId());
+            }
+            LambdaQueryWrapper<SysMobileMenu> queryOne = Wrappers.lambdaQuery();
+            queryOne.in(SysMobileMenu::getMenuId, menuIdList)
+                    .eq(SysMobileMenu::getVisible,0)
+                    .eq(SysMobileMenu::getStatus,0);
+            queryOne.orderByAsc(SysMobileMenu::getOrderNum);
+            List<SysMobileMenu> menuList = this.list(queryOne);
+            list = getChildPerms(menuList, 0);
+        }
+        return list;
+    }
+
+    /**
+     * 根据父节点的ID获取所有子节点
+     *
+     * @param list 分类表
+     * @param parentId 传入的父节点ID
+     * @return String
+     */
+    public List<SysMobileMenu> getChildPerms(List<SysMobileMenu> list, int parentId)
+    {
+        List<SysMobileMenu> returnList = new ArrayList<SysMobileMenu>();
+        for (Iterator<SysMobileMenu> iterator = list.iterator(); iterator.hasNext();)
+        {
+            SysMobileMenu t = (SysMobileMenu) iterator.next();
+            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
+            if (t.getParentId() == parentId)
+            {
+                recursionFn(list, t);
+                returnList.add(t);
+            }
+        }
+        return returnList;
+    }
+
+
+    /**
+     * 递归列表
+     *
+     * @param list
+     * @param t
+     */
+    private void recursionFn(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        // 得到子节点列表
+        List<SysMobileMenu> childList = getChildList(list, t);
+        t.setChildren(childList);
+        for (SysMobileMenu tChild : childList)
+        {
+            if (hasChild(list, tChild))
+            {
+                recursionFn(list, tChild);
+            }
+        }
+    }
+
+    /**
+     * 得到子节点列表
+     */
+    private List<SysMobileMenu> getChildList(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        List<SysMobileMenu> tlist = new ArrayList<SysMobileMenu>();
+        Iterator<SysMobileMenu> it = list.iterator();
+        while (it.hasNext())
+        {
+            SysMobileMenu n = (SysMobileMenu) it.next();
+            if (n.getParentId().longValue() == t.getMenuId().longValue())
+            {
+                tlist.add(n);
+            }
+        }
+        return tlist;
+    }
+
+    /**
+     * 判断是否有子节点
+     */
+    private boolean hasChild(List<SysMobileMenu> list, SysMobileMenu t)
+    {
+        return getChildList(list, t).size() > 0 ? true : false;
+    }
+
+}

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

@@ -0,0 +1,32 @@
+package com.usky.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.system.domain.SysMobileTenantConfig;
+import com.usky.system.mapper.SysMobileTenantConfigMapper;
+import com.usky.system.service.SysMobileTenantConfigService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 移动端_租户配置表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-09
+ */
+@Service
+public class SysMobileTenantConfigServiceImpl extends AbstractCrudService<SysMobileTenantConfigMapper, SysMobileTenantConfig> implements SysMobileTenantConfigService {
+
+    @Override
+    public List<SysMobileTenantConfig> getMobileTenantConfig(String url) {
+        LambdaQueryWrapper<SysMobileTenantConfig> query = Wrappers.lambdaQuery();
+        query.eq(SysMobileTenantConfig::getLoginDomain, url);
+        List<SysMobileTenantConfig> list = this.list(query);
+        return list;
+    }
+
+}

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

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.SysMobileTenantMenu;
+import com.usky.system.mapper.SysMobileTenantMenuMapper;
+import com.usky.system.service.SysMobileTenantMenuService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 移动端_租户和菜单关联表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-11
+ */
+@Service
+public class SysMobileTenantMenuServiceImpl extends AbstractCrudService<SysMobileTenantMenuMapper, SysMobileTenantMenu> implements SysMobileTenantMenuService {
+
+}

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

@@ -0,0 +1,44 @@
+package com.usky.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.SysPerson;
+import com.usky.system.domain.SysUserPerson;
+import com.usky.system.mapper.SysPersonMapper;
+import com.usky.system.service.SysPersonService;
+import com.usky.system.service.SysUserPersonService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 人员信息 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Service
+public class SysPersonServiceImpl extends AbstractCrudService<SysPersonMapper, SysPerson> implements SysPersonService {
+    @Autowired
+    private SysUserPersonService sysUserPersonService;
+
+    @Override
+    public SysPerson getsysPerson(Long userid) {
+        LambdaQueryWrapper<SysUserPerson> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysUserPerson::getUserId, userid);
+        List<SysUserPerson> userPersonList = sysUserPersonService.list(queryWrapper);
+        SysPerson sysPerson = new SysPerson();
+        if (CollectionUtils.isNotEmpty(userPersonList)) {
+            LambdaQueryWrapper<SysPerson> query = Wrappers.lambdaQuery();
+            query.eq(SysPerson::getId, userPersonList.get(0).getPersonId());
+            sysPerson = this.getOne(query);
+        }
+        return sysPerson;
+    }
+}

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPostServiceImpl.java

@@ -50,7 +50,7 @@ public class SysPostServiceImpl extends AbstractCrudService<SysPostMapper, SysPo
     @Override
     public List<SysPost> selectPostAll()
     {
-        return postMapper.selectPostAll();
+        return postMapper.selectPostAll(SecurityUtils.getTenantId());
     }
 
     /**

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

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.SysUserPerson;
+import com.usky.system.mapper.SysUserPersonMapper;
+import com.usky.system.service.SysUserPersonService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户人员关联 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+@Service
+public class SysUserPersonServiceImpl extends AbstractCrudService<SysUserPersonMapper, SysUserPerson> implements SysUserPersonService {
+
+}

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

@@ -56,7 +56,6 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     private ISysConfigService iSysConfigService;
 
 
-
     /**
      * 根据条件分页查询用户列表
      *
@@ -65,7 +64,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public List<SysUser> selectUserList(SysUser user) {
-        user.setTenantId( SecurityUtils.getTenantId());
+        user.setTenantId(SecurityUtils.getTenantId());
         user.setUserType("00");
         return userMapper.selectUserList(user);
     }
@@ -104,8 +103,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public SysUser selectUserByUserNameOne(String userName,Integer tenantId) {
-        return userMapper.selectUserByUserNameOne(userName,tenantId);
+    public SysUser selectUserByUserNameOne(String userName, Integer tenantId) {
+        return userMapper.selectUserByUserNameOne(userName, tenantId);
     }
 
     /**
@@ -175,8 +174,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      * @return 结果
      */
     @Override
-    public String checkUserNameUnique(String userName,Integer tenantId) {
-        int count = userMapper.checkUserNameUnique(userName,tenantId);
+    public String checkUserNameUnique(String userName, Integer tenantId) {
+        int count = userMapper.checkUserNameUnique(userName, tenantId);
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -450,11 +449,9 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
 
 
     @Override
-    public LoginUser getUserInfo(String username)
-    {
+    public LoginUser getUserInfo(String username) {
         SysUser sysUser = this.selectUserByUserName(username);
-        if (Objects.isNull(sysUser))
-        {
+        if (Objects.isNull(sysUser)) {
             throw new BusinessException("用户信息/密码不存在");
         }
         // 角色集合
@@ -470,11 +467,9 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public LoginUser getUserInfoOne(String username,Integer tenantId)
-    {
-        SysUser sysUser = this.selectUserByUserNameOne(username,tenantId);
-        if (Objects.isNull(sysUser))
-        {
+    public LoginUser getUserInfoOne(String username, Integer tenantId) {
+        SysUser sysUser = this.selectUserByUserNameOne(username, tenantId);
+        if (Objects.isNull(sysUser)) {
             throw new BusinessException("用户信息/密码不存在");
         }
         // 角色集合
@@ -490,15 +485,28 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public Boolean register(SysUser sysUser)
-    {
+    public SysUser getAppUserInfo(String username, Integer tenantId, String phone) {
+        SysUser sysUser = new SysUser();
+        if (!StringUtils.isBlank(username)) {
+            sysUser = userMapper.selectUserData(username, tenantId);
+        } else if (!StringUtils.isBlank(phone)) {
+            sysUser = userMapper.selectUserDataOne(tenantId,phone);
+        }
+
+        if (Objects.isNull(sysUser)) {
+            throw new BusinessException("用户信息/密码不存在");
+        }
+        return sysUser;
+    }
+
+
+    @Override
+    public Boolean register(SysUser sysUser) {
         String username = sysUser.getUserName();
-        if (!("true".equals(iSysConfigService.selectConfigByKey("sys.account.registerUser"))))
-        {
+        if (!("true".equals(iSysConfigService.selectConfigByKey("sys.account.registerUser")))) {
             throw new BusinessException("当前系统没有开启注册功能!");
         }
-        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username,SecurityUtils.getTenantId())))
-        {
+        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username, SecurityUtils.getTenantId()))) {
             throw new BusinessException("保存用户'" + username + "'失败,注册账号已存在");
         }
         return this.registerUser(sysUser);
@@ -531,31 +539,31 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
 
     @Override
     public CommonPage<SysUser> userList(Integer tenantId, Integer page, Integer size, long userId) {
-        List<SysUser> list1 = userMapper.getUserData(tenantId,null,null,userId);
+        List<SysUser> list1 = userMapper.getUserData(tenantId, null, null, userId);
         int total = 0;
         if (list1.size() > 0) {
             total = list1.size();
         }
         Integer current = null;
-        if (page!=null&&size>0){
+        if (page != null && size > 0) {
             current = (page - 1) * size;
         }
-        List<SysUser> list = userMapper.getUserData(tenantId, current, size,userId);
+        List<SysUser> list = userMapper.getUserData(tenantId, current, size, userId);
         return new CommonPage<>(list, total, size, page);
     }
 
 
-    public List<SysUser> userList(){
+    public List<SysUser> userList() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         String userType = null;
         if (loginUser != null && !"".equals(loginUser)) {
             userType = loginUser.getUserType();
         }
         String userName = null;
-        if ("00".equals(userType)){
+        if ("00".equals(userType)) {
             userName = SecurityUtils.getUsername();
         }
-        List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(),userName);
+        List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(), userName);
         return list;
     }
 }

+ 31 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java

@@ -21,7 +21,37 @@ public class LoginBody
      * 租户ID
      */
     private Integer tenantId;
-    
+
+    /**
+     * 验证码
+     */
+    private String verify;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+    public String getPhone()
+    {
+        return phone;
+    }
+
+    public void setPhone(String phone)
+    {
+        this.phone = phone;
+    }
+
+    public String getVerify()
+    {
+        return verify;
+    }
+
+    public void setVerify(String verify)
+    {
+        this.verify = verify;
+    }
+
     public String getUsername()
     {
         return username;

+ 255 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPersonVo.java

@@ -0,0 +1,255 @@
+package com.usky.system.service.vo;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 人员信息
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-08-22
+ */
+public class SysPersonVo{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    private Integer id;
+
+    /**
+     * 姓名
+     */
+    private String fullName;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+    /**
+     * 性别;1男、2女
+     */
+    private Integer gender;
+
+    /**
+     * 家庭住址
+     */
+    private String address;
+
+    /**
+     * 文化程度;1小学、2初中、3高中、4大专、5本科、6硕士研究生、7博士研究生、8其他
+     */
+    private Integer educationDegree;
+
+    /**
+     * 身份证号
+     */
+    private String idNumber;
+
+    /**
+     * 联系方式
+     */
+    private String linkPhone;
+
+    /**
+     * 岗位ID
+     */
+    private Long postId;
+
+    /**
+     * 部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 入职时间
+     */
+    private LocalDateTime entryTime;
+
+    /**
+     * 证书1
+     */
+    private String certificateUrl1;
+
+    /**
+     * 证书2
+     */
+    private String certificateUrl2;
+
+    /**
+     * 证书3
+     */
+    private String certificateUrl3;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getFullName() {
+        return fullName;
+    }
+
+    public void setFullName(String fullName) {
+        this.fullName = fullName;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public Integer getEducationDegree() {
+        return educationDegree;
+    }
+
+    public void setEducationDegree(Integer educationDegree) {
+        this.educationDegree = educationDegree;
+    }
+
+    public String getIdNumber() {
+        return idNumber;
+    }
+
+    public void setIdNumber(String idNumber) {
+        this.idNumber = idNumber;
+    }
+
+    public String getLinkPhone() {
+        return linkPhone;
+    }
+
+    public void setLinkPhone(String linkPhone) {
+        this.linkPhone = linkPhone;
+    }
+
+    public Long getPostId() {
+        return postId;
+    }
+
+    public void setPostId(Long postId) {
+        this.postId = postId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public LocalDateTime getEntryTime() {
+        return entryTime;
+    }
+
+    public void setEntryTime(LocalDateTime entryTime) {
+        this.entryTime = entryTime;
+    }
+
+    public String getCertificateUrl1() {
+        return certificateUrl1;
+    }
+
+    public void setCertificateUrl1(String certificateUrl1) {
+        this.certificateUrl1 = certificateUrl1;
+    }
+
+    public String getCertificateUrl2() {
+        return certificateUrl2;
+    }
+
+    public void setCertificateUrl2(String certificateUrl2) {
+        this.certificateUrl2 = certificateUrl2;
+    }
+
+    public String getCertificateUrl3() {
+        return certificateUrl3;
+    }
+
+    public void setCertificateUrl3(String certificateUrl3) {
+        this.certificateUrl3 = certificateUrl3;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public LocalDateTime getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(LocalDateTime createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdatePerson() {
+        return updatePerson;
+    }
+
+    public void setUpdatePerson(String updatePerson) {
+        this.updatePerson = updatePerson;
+    }
+
+    public LocalDateTime getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(LocalDateTime updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 30 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -60,6 +60,36 @@
         order by parent_id, order_num
     </select>
 
+    <select id="selectMenuListOne" resultType="com.usky.system.domain.SysMenu">
+        SELECT
+        b.menu_id,
+        b.menu_name,
+        b.parent_id,
+        b.order_num,
+        b.path,
+        b.component,
+        b.is_frame,
+        b.is_cache,
+        b.menu_type,
+        b.visible,
+        b.status,
+        ifnull(b.perms, '') as perms,
+        b.icon,
+        b.create_time
+        FROM
+        sys_tenant_menu AS a
+        JOIN sys_menu AS b ON a.menu_id = b.menu_id
+        <where>
+            a.tenant_id = #{tenantId}
+            <if test="menuName != null and menuName != ''">
+                AND b.menu_name like concat('%', #{menuName}, '%')
+            </if>
+            AND b.visible = 0
+            AND b.status = 0
+        </where>
+        order by parent_id, order_num
+    </select>
+
     <select id="selectMenuTreeAll" resultMap="SysMenuResult">
         select distinct m.menu_id,
                         m.parent_id,

+ 28 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileMenuMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysMobileMenuMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysMobileMenu">
+        <id column="menu_id" property="menuId" />
+        <result column="menu_name" property="menuName" />
+        <result column="parent_id" property="parentId" />
+        <result column="order_num" property="orderNum" />
+        <result column="path" property="path" />
+        <result column="component" property="component" />
+        <result column="query" property="query" />
+        <result column="is_frame" property="isFrame" />
+        <result column="is_cache" property="isCache" />
+        <result column="menu_type" property="menuType" />
+        <result column="visible" property="visible" />
+        <result column="status" property="status" />
+        <result column="perms" property="perms" />
+        <result column="icon" property="icon" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 25 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantConfigMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysMobileTenantConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysMobileTenantConfig">
+        <id column="id" property="id" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="login_domain" property="loginDomain" />
+        <result column="login_title" property="loginTitle" />
+        <result column="login_logo" property="loginLogo" />
+        <result column="login_back_url" property="loginBackUrl" />
+        <result column="login_footer" property="loginFooter" />
+        <result column="login_type" property="loginType" />
+        <result column="middle_url" property="middleUrl" />
+        <result column="home_logo" property="homeLogo" />
+        <result column="home_layout" property="homeLayout" />
+        <result column="home_style" property="homeStyle" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

+ 12 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysMobileTenantMenuMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysMobileTenantMenuMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysMobileTenantMenu">
+        <id column="tenant_id" property="tenantId" />
+        <result column="menu_id" property="menuId" />
+        <result column="menu_alias_name" property="menuAliasName" />
+    </resultMap>
+
+</mapper>

+ 27 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPersonMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysPersonMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysPerson">
+        <id column="id" property="id" />
+        <result column="full_name" property="fullName" />
+        <result column="age" property="age" />
+        <result column="gender" property="gender" />
+        <result column="address" property="address" />
+        <result column="education_degree" property="educationDegree" />
+        <result column="id_number" property="idNumber" />
+        <result column="link_phone" property="linkPhone" />
+        <result column="post_id" property="postId" />
+        <result column="dept_id" property="deptId" />
+        <result column="entry_time" property="entryTime" />
+        <result column="certificate_url1" property="certificateUrl1" />
+        <result column="certificate_url2" property="certificateUrl2" />
+        <result column="certificate_url3" property="certificateUrl3" />
+        <result column="creator" property="creator" />
+        <result column="create_time" property="createTime" />
+        <result column="update_person" property="updatePerson" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

+ 6 - 2
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPostMapper.xml

@@ -43,6 +43,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<select id="selectPostAll" resultMap="SysPostResult">
 		<include refid="selectPostVo"/>
+		where
+		<if test="tenantId != null and tenantId != '' and tenantId !=0">
+			tenant_id = #{tenantId}
+		</if>
 	</select>
 	
 	<select id="selectPostById" parameterType="Long" resultMap="SysPostResult">
@@ -128,8 +132,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<delete id="deletePostByIds" parameterType="Long">
  		delete from sys_post where post_id in
- 		<foreach collection="array" item="postId" open="(" separator="," close=")">
- 			#{postId}
+ 		<foreach collection="postIds" item="postIds" open="(" separator="," close=")">
+ 			#{postIds}
         </foreach> 
  	</delete>
 

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

@@ -19,7 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	
 	<delete id="deleteRoleDept" parameterType="Long">
  		delete from sys_role_dept where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
+ 		<foreach collection="roleId" item="roleId" open="(" separator="," close=")">
  			#{roleId}
         </foreach> 
  	</delete>

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

@@ -158,8 +158,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  	
  	<delete id="deleteRoleByIds" parameterType="Long">
  	    update sys_role set del_flag = '2' where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
+ 		<foreach collection="roleIds" item="roleIds" open="(" separator="," close=")">
+ 			#{roleIds}
         </foreach> 
  	</delete>
  	

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

@@ -17,9 +17,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		delete from sys_role_menu where role_id=#{roleId}
 	</delete>
 	
-	<delete id="deleteRoleMenu" parameterType="Long">
+	<delete id="deleteRoleMenu">
  		delete from sys_role_menu where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
+ 		<foreach collection="roleId" item="roleId" open="(" separator="," close=")">
  			#{roleId}
         </foreach> 
  	</delete>

+ 18 - 1
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -25,9 +25,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="updateBy"     column="update_by"    />
 		<result property="updateTime"   column="update_time"  />
 		<result property="remark"       column="remark"       />
-		<result property="centerUserId"       column="center_user_id"       />
 		<result property="tenantId"       column="tenant_id"       />
 		<result property="address"       column="address"       />
+		<result property="centerUserId"       column="center_user_id"       />
 		<association property="dept" column="dept_id" javaType="com.usky.system.domain.SysDeptVO" resultMap="deptResult" />
 		<collection  property="roles"   javaType="java.util.List"        resultMap="RoleResult" />
 	</resultMap>
@@ -280,4 +280,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		</if>
 		order by user_id desc
 	</select>
+
+	<select id="selectUserData" resultMap="SysUserResult">
+		select * from sys_user
+		where user_name = #{userName}
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+	</select>
+
+	<select id="selectUserDataOne" resultMap="SysUserResult">
+		select * from sys_user
+		where  phonenumber = #{phone}
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+
+	</select>
 </mapper> 

+ 12 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserPersonMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysUserPersonMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysUserPerson">
+        <id column="id" property="id" />
+        <result column="user_id" property="userId" />
+        <result column="person_id" property="personId" />
+    </resultMap>
+
+</mapper>

+ 5 - 0
usky-common/usky-common-core/src/main/java/com/usky/common/core/constants/TokenConstants.java

@@ -12,6 +12,11 @@ public class TokenConstants
      */
     public static final String AUTHENTICATION = "Authorization";
 
+    /**
+     * 令牌自定义标识
+     */
+    public static final String TOKEN = "token";
+
     /**
      * 令牌前缀
      */

+ 19 - 37
usky-common/usky-common-security/src/main/java/com/usky/common/security/service/TokenService.java

@@ -17,17 +17,15 @@ import java.util.concurrent.TimeUnit;
 
 /**
  * token验证处理
- * 
+ *
  * @author ruoyi
  */
 @Component
-public class TokenService
-{
+public class TokenService {
 
     private RedisHelper redisService = SpringContextUtils.getBean(RedisHelper.class);
 
 
-
     protected static final long MILLIS_SECOND = 1000;
 
     protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
@@ -41,8 +39,7 @@ public class TokenService
     /**
      * 创建令牌
      */
-    public Map<String, Object> createToken(LoginUser loginUser)
-    {
+    public Map<String, Object> createToken(LoginUser loginUser) {
         String token = UUIDUtils.uuid();
         Long userId = loginUser.getSysUser().getUserId();
         String userName = loginUser.getSysUser().getUserName();
@@ -64,7 +61,7 @@ public class TokenService
         Map<String, Object> rspMap = new HashMap<String, Object>();
         rspMap.put("access_token", JwtUtils.createToken(claimsMap));
         rspMap.put("expires_in", expireTime);
-        rspMap.put("tenantId",tenantId);
+        rspMap.put("tenantId", tenantId);
         return rspMap;
     }
 
@@ -73,8 +70,7 @@ public class TokenService
      *
      * @return 用户信息
      */
-    public LoginUser getLoginUser()
-    {
+    public LoginUser getLoginUser() {
         return getLoginUser(ServletUtils.getRequest());
     }
 
@@ -83,8 +79,7 @@ public class TokenService
      *
      * @return 用户信息
      */
-    public LoginUser getLoginUser(HttpServletRequest request)
-    {
+    public LoginUser getLoginUser(HttpServletRequest request) {
         // 获取请求携带的令牌
         String token = SecurityUtils.getToken(request);
         return getLoginUser(token);
@@ -95,20 +90,15 @@ public class TokenService
      *
      * @return 用户信息
      */
-    public LoginUser getLoginUser(String token)
-    {
+    public LoginUser getLoginUser(String token) {
         LoginUser user = null;
-        try
-        {
-            if (StringUtils.isNotEmpty(token))
-            {
+        try {
+            if (StringUtils.isNotEmpty(token)) {
                 String userkey = JwtUtils.getUserKey(token);
-                user = (LoginUser)redisService.get(getTokenKey(userkey));
+                user = (LoginUser) redisService.get(getTokenKey(userkey));
                 return user;
             }
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
         }
         return user;
     }
@@ -116,10 +106,8 @@ public class TokenService
     /**
      * 设置用户身份信息
      */
-    public void setLoginUser(LoginUser loginUser)
-    {
-        if (Objects.nonNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken()))
-        {
+    public void setLoginUser(LoginUser loginUser) {
+        if (Objects.nonNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) {
             refreshToken(loginUser);
         }
     }
@@ -127,10 +115,8 @@ public class TokenService
     /**
      * 删除用户缓存信息
      */
-    public void delLoginUser(String token)
-    {
-        if (StringUtils.isNotEmpty(token))
-        {
+    public void delLoginUser(String token) {
+        if (StringUtils.isNotEmpty(token)) {
             String userkey = JwtUtils.getUserKey(token);
             redisService.delete(getTokenKey(userkey));
         }
@@ -141,12 +127,10 @@ public class TokenService
      *
      * @param loginUser
      */
-    public void verifyToken(LoginUser loginUser)
-    {
+    public void verifyToken(LoginUser loginUser) {
         long expireTime = loginUser.getExpireTime();
         long currentTime = System.currentTimeMillis();
-        if (expireTime - currentTime <= MILLIS_MINUTE_TEN)
-        {
+        if (expireTime - currentTime <= MILLIS_MINUTE_TEN) {
             refreshToken(loginUser);
         }
     }
@@ -156,8 +140,7 @@ public class TokenService
      *
      * @param loginUser 登录信息
      */
-    public void refreshToken(LoginUser loginUser)
-    {
+    public void refreshToken(LoginUser loginUser) {
         loginUser.setLoginTime(System.currentTimeMillis());
         loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存
@@ -165,8 +148,7 @@ public class TokenService
         redisService.set(userKey, loginUser, expireTime, TimeUnit.MINUTES);
     }
 
-    private String getTokenKey(String token)
-    {
+    private String getTokenKey(String token) {
         return ACCESS_TOKEN + token;
     }
 }

+ 10 - 2
usky-common/usky-common-security/src/main/java/com/usky/common/security/utils/SecurityUtils.java

@@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
 
 /**
  * 权限获取工具类
- * 
+ *
  * @author ruoyi
  */
 public class SecurityUtils
@@ -72,9 +72,17 @@ public class SecurityUtils
     {
         // 从header获取token标识
         String token = request.getHeader(TokenConstants.AUTHENTICATION);
+        token = getTokenOne(request,token);
         return replaceTokenPrefix(token);
     }
 
+    public static String getTokenOne(HttpServletRequest request,String token){
+        if (StringUtils.isBlank(token)){
+            token = request.getHeader(TokenConstants.TOKEN);
+        }
+        return token;
+    }
+
     /**
      * 裁剪token前缀
      */
@@ -90,7 +98,7 @@ public class SecurityUtils
 
     /**
      * 是否为管理员
-     * 
+     *
      * @param userId 用户ID
      * @return 结果
      */