栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

saas模式人力资源管理系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

saas模式人力资源管理系统

项目亮点:

1.权限开发:jwt,shiro

2.企业报表的解决方法:poi(xls) ,jasper(pdf)

3.代码生成工具的制作与解析

4.企业工作流定制:activiti7

5.人工智能:人脸登录

1 初识SaaS 1.1 云服务的三种模式 1.1.1 IaaS(Infrastructure as a Service)即(基础设施即服务)

只提供基础设备,例如服务器(cpu、内存、网络)

1.1.2 PaaS(Platform-as-a-Service)即(平台即服务)

包含服务器、操作系统、数据库、运行环境库

1.1.3 SaaS(Software-as-a-Service)(软件即服务)

包含服务器、操作系统、数据库、运行环境库、应用

4 工程搭建 4.1 前置知识点的说明 Saas-HRM 系统后端采用 SpringBoot+SpringCloud+SpringMVC+SpringData Saas-HRM 系统前端采用 基于 nodejs 的 vue 框架完成编写使用 element-ui 组件库快速开发前端界面 4.2 开发环境要求 4.2.1 lombok 插件 ( 1 ) idea 中安装插件

( 2 )在 pom 文件中添加插件的依赖

    org.projectlombok
    lombok
    1.16.16
( 3 )常见注解
  • @Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
  • @Setter :注解在属性上;为属性提供 setting 方法
  • @Setter :注解在属性上;为属性提供 getting 方法
  • @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
  • @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
4.3 构建父工程

1.选择maven,因为父工程不需要什么骨架,直接next创建

2.应为父工程没有代码,所有把src目录删掉

在 IDEA 中创建父工程 ihrm_parent 并导入相应的坐标如下:
	pom
    ihrm_parent
    IHRM-黑马程序员
	
	
        org.springframework.boot
        spring-boot-starter-parent
        2.0.5.RELEASE
        
    

    
        UTF-8
        UTF-8
        1.8
        1.2.47
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-logging
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            com.alibaba
            fastjson
            ${fastjson.version}
        
        
            org.projectlombok
            lombok
            1.16.16
        
    

    
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    

    
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    
    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    ${java.version}
                    ${java.version}
                
            

            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.12.4
                
                    true
                
            
        
    
4.4 构建公共子模块

1.放回结果的实体类

2.分布式id生成器

疑问:问什么有了Result还要ResultCode枚举类呢?

其实只要Result也行,不过我们对于多条信息要不断的去get和set值,比较麻烦,所有定义ResultCode枚举类封装信息会比较方便

4.4.1 构建公共子模块ihrm-common

4.4.2 创建返回结果实体类

 (1)新建com.ihrm.common.entity包,包下创建类Result,用于控制器类返回结果

package com.ihrm.common.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


@Data
@NoArgsConstructor
public class Result {

    private boolean success;//是否成功
    private Integer code;// 返回码
    private String message;//返回信息
    private Object data;// 返回数据

    public Result(ResultCode code) {
        this.success = code.success;
        this.code = code.code;
        this.message = code.message;
    }

    public Result(ResultCode code,Object data) {
        this.success = code.success;
        this.code = code.code;
        this.message = code.message;
        this.data = data;
    }

    public Result(Integer code,String message,boolean success) {
        this.code = code;
        this.message = message;
        this.success = success;
    }

    public static Result SUCCESS(){
        return new Result(ResultCode.SUCCESS);
    }

    public static Result ERROR(){
        return new Result(ResultCode.SERVER_ERROR);
    }

    public static Result FAIL(){
        return new Result(ResultCode.FAIL);
    }
}

(2)创建类PageResult ,用于返回分页结果

package com.ihrm.common.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult {
    private Long total;
    private List rows;
}
4.4.3 返回码定义类 (是枚举类型)
package com.ihrm.common.entity;

public enum ResultCode {

    SUCCESS(true,10000,"操作成功!"),
    //---系统错误返回码-----
    FAIL(false,10001,"操作失败"),
    UNAUTHENTICATED(false,10002,"您还未登录"),
    UNAUTHORISE(false,10003,"权限不足"),
    SERVER_ERROR(false,99999,"抱歉,系统繁忙,请稍后重试!");

    //---用户操作返回码----
    //---企业操作返回码----
    //---权限操作返回码----
    //---其他操作返回码----

    //操作是否成功
    boolean success;
    //操作代码
    int code;
    //提示信息
    String message;

    ResultCode(boolean success,int code, String message){
        this.success = success;
        this.code = code;
        this.message = message;
    }

    public boolean success() {
        return success;
    }

    public int code() {
        return code;
    }

    public String message() {
        return message;
    }

}
4.4.4 分布式ID生成器

主键id生成

        方案一:数据库自增(如果对user表合并就会产生冲突,不推荐)

        方案二:uuid全球唯一(缺点:太长,数据量太大)

        方案三:借助全局redis(缺点:网络开销太大)

        方案四:雪花算法

snowflflake (雪花)算法。  4.5 搭建公共的实体类模块 ( 1 )构建公共子模块 ihrm_common_model

 (2)引入坐标

    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            org.example
            ihrm_common
            1.0-SNAPSHOT
        
    
5 企业微服务-企业CRUD 5.1 模块搭建 ( 1 )搭建企业微服务模块 ihrm_company, pom.xml 引入依赖
    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            mysql
            mysql-connector-java
        
        
            org.example
            ihrm_common
            1.0-SNAPSHOT
        
    
( 2 )添加配置文件 application.yml         #服务配置         #spring配置                 #应用配置                 # 数据库连接池                 # jpa配置
server:
 port: 9001
spring:
 application:
   name: ihrm-company #指定服务名
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/ihrm?useUnicode=true&characterEncoding=utf8
   username: root
   password: 111111
 jpa:
   database: MySQL
   show-sql: true
   open-in-view: true

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039739.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号