Commit 015d4257 authored by kang.nie@inzymeits.com's avatar kang.nie@inzymeits.com
Browse files

初始化代码

parent bd38ff8b
Pipeline #3108 failed with stages
in 0 seconds
#Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
*/bin/
*/gen/
*/out/
# Gradle files
.gradle/
build/
*/build/
gradlew
gradlew.bat
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
*/*.iml
# Keystore files
#*.jks
#gradle wrapper
gradle/
#some local files
*/.settings/
*/.DS_Store
.DS_Store
*/.idea/
.idea/
gradlew
gradlew.bat
unused.txt
# Eclipse Project files
.classpath
.project
.settings/
.factorypath
*/target/
# Nodejs files
*/node-modules/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>local-rnr-fp</artifactId>
<groupId>com.cusc.nirvana</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>local-rnr-fp-dto</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.cusc.nirvana</groupId>
<artifactId>user-config-common</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
package com.cusc.nirvana.user.rnr.fp.common;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.*;
/**
* Description: 基础认证请求DTO
* <br />
* CreateDate 2022-02-14 15:28
*
* @author yuy336
**/
@Data
public class BaseAuthenticationReqDTO implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 业务id
*/
private String bizUuid;
/**
* 流水号
*/
@NotBlank(message = "流水号不能为空")
private String serialNumber;
/**
* 认证方式编号
*/
private String authWayNo;
/**
* 租户编号
*/
private String tenantNo;
/**
* 操作人
*/
private String operator;
}
package com.cusc.nirvana.user.rnr.fp.common;
import lombok.Data;
import java.io.*;
/**
* Description: 基础认证响应DTO
* <br />
* CreateDate 2022-02-14 15:28
*
* @author yuy336
**/
@Data
public class BaseAuthenticationRespDTO implements Serializable{
private static final long serialVersionUID = 1L;
}
package com.cusc.nirvana.user.rnr.fp.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* iam的DO基类
* </p>
*
* @author yuyi
* @since 2021-10-21
*/
@Data
public class BaseRnrFpDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "数据库主键")
private Long id;
@ApiModelProperty(value = "业务主键")
private String uuid;
@ApiModelProperty(value = "逻辑删除(0-未删除,1-已删除)")
private Integer isDelete;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "创建人")
private String creator;
@ApiModelProperty(value = "操作人")
private String operator;
@ApiModelProperty(value = "流水号:yyyyMMddHHmmssSSS+发起方标识+7 位随机数")
private String serial_number;
}
package com.cusc.nirvana.user.rnr.fp.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* iam的分页DTO基类
* </p>
*
* @author yuyi
* @since 2021-10-21
*/
@Data
public class BaseRnrFpPageDTO extends BaseRnrFpDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "当前页码")
private Integer currPage = 1;
@ApiModelProperty(value = "页面显示行数")
private Integer pageSize = 10;
}
package com.cusc.nirvana.user.rnr.fp.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* iam的DO基类
* </p>
*
* @author yuyi
* @since 2021-10-21
*/
@Data
public class BaseRnrMgDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "数据库主键")
private Long id;
@ApiModelProperty(value = "业务主键")
private String uuid;
@ApiModelProperty(value = "逻辑删除(0-未删除,1-已删除)")
private Integer isDelete;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "创建人")
private String creator;
@ApiModelProperty(value = "操作人")
private String operator;
@ApiModelProperty(value = "流水号:yyyyMMddHHmmssSSS+发起方标识+7 位随机数")
private String serial_number;
}
package com.cusc.nirvana.user.rnr.fp.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* iam的分页DTO基类
* </p>
*
* @author yuyi
* @since 2021-10-21
*/
@Data
public class BaseRnrMgPageDTO extends com.cusc.nirvana.user.rnr.fp.common.BaseRnrMgDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "当前页码")
private Integer currPage = 1;
@ApiModelProperty(value = "页面显示行数")
private Integer pageSize = 10;
}
package com.cusc.nirvana.user.rnr.fp.common;
/**
* @className: CmccCertTypeEnum
* @description: 移动证件类型枚举类
* @author: jk
* @date: 2022/8/4 14:10
* @version: 1.0
**/
public enum CmccCertTypeEnum {
IDCARD("IDCARD", "居民身份证","A"),
HKIDCARD("HKIDCARD", "港澳居民来往内地通行证","E"),
PASSPORT("PASSPORT", "护照","G"),
PLA("PLAIDCARD", "军官证","C"),
POLICEPAPER("POLICEPAPER", "警官证","D"),
TAIBAOZHENG("TAIBAOZHENG", "台湾居民来往大陆通行证","F"),
HKRESIDENCECARD("HKRESIDENCECARD", "港澳居民居住证","E"),
TWRESIDENCECARD("TWRESIDENCECARD", "台湾居民居住证","T"),
UNITCREDITCODE("0", "统一社会信用代码","K"),
BUSINESS_LICENSE_NO("2", "营业执照号","I"),
SOCIAL_ORG_LEGAL_PERSON_CERT("3", "事业代为法人证书或社会团体法人证书","J"),
RESIDENCE("HOUSEHOLD", "户口簿","B");
private String code;
private String name;
private String cmccCode;
private CmccCertTypeEnum(String code, String name, String cmccCode) {
this.code = code;
this.name = name;
this.cmccCode = cmccCode;
}
public static String getCmccCode(String code){
for (CmccCertTypeEnum e : CmccCertTypeEnum.values()) {
if (code.equals(e.getCode())) {
return e.getCmccCode();
}
}
return null;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getCmccCode() {
return cmccCode;
}
}
/**
*
*/
package com.cusc.nirvana.user.rnr.fp.common;
import com.alibaba.fastjson.serializer.ValueFilter;
public class FpIgnoreBase64ImgJsonNoEncryptFilter implements ValueFilter {
@Override
public Object process(Object object, String name, Object value) {
// 过滤base64字段的输出
if (FpLogOutputConstants.IGNORE_BASE64_FIELD_LIST.contains(name)) {
return "ignore base64 string";
}
return value;
}
}
/**
*
*/
package com.cusc.nirvana.user.rnr.fp.common;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.cusc.nirvana.user.util.crypt.CryptKeyUtil;
public class FpIgnoreBase64ImgJsonSerializeFilter implements ValueFilter {
@Override
public Object process(Object object, String name, Object value) {
// 过滤base64字段的输出
if (FpLogOutputConstants.IGNORE_BASE64_FIELD_LIST.contains(name)) {
return "ignore base64 string";
}
//隐私数据加密
if (FpLogOutputConstants.ENCRYPTION_FIELD_LIST.contains(name)) {
return value == null ? "" : CryptKeyUtil.encryptToBase64(value.toString());
}
return value;
}
}
package com.cusc.nirvana.user.rnr.fp.common;
import java.util.ArrayList;
import java.util.List;
/**
* Description: 日志输出控制常量
* <br />
* CreateDate 2022-05-12 18:58:40
*
* @author yuyi
**/
public class FpLogOutputConstants {
/**
* base64属性字段名称
*/
public static final List<String> IGNORE_BASE64_FIELD_LIST = new ArrayList<String>() {{
add("base64");
add("file");
add("facePicBase64");
add("nationalEmblemPicBase64");
add("videoBase64");
add("faceImg");
add("baseImg");
add("ocrPic");
add("bestFrameList");
}};
/**
* 隐私属性加密字段名称
*/
public static final List<String> ENCRYPTION_FIELD_LIST = new ArrayList<String>() {{
add("fullName");
add("certNumber");
add("certAddress");
add("contactAddress");
add("phone");
add("email");
add("companyName");
add("companyCertNumber");
add("companyCertAddress");
add("companyContactAddress");
add("liaisonName");
add("liaisonCertNumber");
add("liaisonCertAddress");
add("liaisonContactAddress");
add("liaisonPhone");
add("iccid");
add("iotId");
add("vin");
}};
}
/**
*
*/
package com.cusc.nirvana.user.rnr.fp.common;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.cusc.nirvana.user.util.crypt.CryptKeyUtil;
/**
* Description: 日志输出json序列化过滤器
* <br />
* CreateDate 2022-05-12 16:55:45
*
* @author yuyi
**/
public class FpLogOutputJsonSerializeFilter implements ValueFilter {
@Override
public Object process(Object object, String name, Object value) {
// 过滤base64字段的输出
if (FpLogOutputConstants.IGNORE_BASE64_FIELD_LIST.contains(name)) {
return "ignore base64 string";
}
//隐私数据加密
if (FpLogOutputConstants.ENCRYPTION_FIELD_LIST.contains(name)) {
if(value != null){
return CryptKeyUtil.encryptToBase64(value.toString());
}
return value;
}
return value;
}
}
package com.cusc.nirvana.user.rnr.fp.common;
/**
* 运营商类型
*/
public enum MbCodeEnum {
CMCC("2000", "中国移动", "898600,898602,898604,898607,898608"),
CUCC("3000", "中国联通", "898601,898606,898609"),
CTCC("1000", "中国电信", "898603,898611"),
QT("4000", "其他", "");
private String code;
private String name;
private String codes;
public static MbCodeEnum get(String iccid) {
for (MbCodeEnum value : MbCodeEnum.values()) {
String codes = value.getCodes();
if (codes.indexOf(iccid.substring(0, 6)) != -1) {
return value;
}
}
return MbCodeEnum.QT;
}
MbCodeEnum(String code, String name, String codes) {
this.code = code;
this.name = name;
this.codes = codes;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCodes() {
return codes;
}
public void setCodes(String codes) {
this.codes = codes;
}
}
package com.cusc.nirvana.user.rnr.fp.common;
/**
* Description: 响应码
* <br />
* CreateDate 2021-11-02 19:52:36
*
* @author yuyi
**/
public enum ResponseCode {
INVALID_DATA(1001, "数据校验不通过"),
SYS_BUSY(1002, "服务调用失败"),
SERVICE_NOT_FOUND(1003, "服务不存在"),
TP_SYS_BUSY(1004, "第三方服务调用失败"),
JSON_FORMAT_ERROR(1005, "参数格式错误"),
REQ_TOO_MANY_TIMES(1007, "请求过于频繁,请稍后再试!"),
NO_DATA_AUTH(1008, "请求过于频繁,请稍后再试!"),
REDIS_OPT_FAIL(1009, "redis操作失败,请稍后再试!"),
PARAMETER_NULL(1010, "请求参数不能为空!"),
UNAUTHORIZED(1050, "鉴权失败:未授权"),
AUTHENTICATION_FAIL(1051, "鉴权失败:无效的令牌或请求"),
//token获取失败,访问redis失败
TOKEN_AUTHENTICATION_FAIL(1052, "token鉴权失败"),
RESOURCE_NOT_REPORTED(1053, "请求的资源未登记"),
WHITE_LIST_AUTHENTICATION_FAIL(1055, "鉴权失败:无效的请求或应用未登记"),
TOKEN_INVALID(1101, "token已过期"),
//已在其他终端登录,强制下线
REPEAT_LOGIN_KICK_OUT(1102, "token已踢出"),
//用户冻结,强制下线
USER_FROZEN_KICK_OUT(1103, "token已踢出"),
//权限变动等原因,强制下线
AUTH_CHANGE_KICK_OUT(1104, "token已踢出"),
CLIENT_ID_INVALID(1110, "clientId无效"),
AES_SECRET_KEY_FAIL(1111, "AES生成秘钥失败"),
SMS_CREATE_CAPTCHA_FAIL(1112, "生成短信验证码失败"),
SMS_GET_CAPTCHA_FAIL(1113, "获取短信验证码失败"),
SMS_CAPTCHA_INVALID(1114, "短信验证码无效!"),
SMS_CAPTCHA_INTERVAL_FAIL(1115, "短信验证码获取太频繁,请稍后重试!"),
SMS_CAPTCHA_SEND_FAIL(1116, "短信发送失败,请稍后重试!"),
SMS_SEND_ERROR(1117, "短信发送失败,内部错误"),
SMS_TOTAL_LIMIT_OVERRUN(1118, "发送短信超过当天发送的最大限制"),
SMS_INTERVAL_LIMIT_OVERRUN(1119, "短信发送失败,发送间隔限制时间内重复发送"),
SMS_TEMPLATE_NULL(1120, "获取短信信息失败"),
LOGIN_USER_NAME_PASSWORD_INVALID(1201,"用户名或密码错误"),
LOGIN_PHONE_PASSWORD_NOT_NULL(1202,"手机号不能为空"),
LOGIN_NAME_INVALID(1203,"您输入的帐号不存在,请重新输入!"),
LOGIN_NAME_STOP(1204,"您输入的帐号已被停用,请与管理员联系!"),
LOGIN_NAME_NOT_NULL(1205,"请输入正确的账号!"),
TOEKN_CREATE_FAIL(1206,"token生成失败"),
LOGOUT_FAIL(1207,"退出失败,系统异常!"),
KICK_OUT_FAIL(1208,"踢出失败,系统异常!"),
SYSTEM_OPT_FAIL(1209,"系统异常,请与管理员联系!"),
CAPTCHA_IMAGGE_NOT_NULL(1210,"图形验证码不能为空"),
CAPTCHA_IMAGGE_CHECK_FAIL(1211,"图形验证码验证失败"),
SMS_SEND_CONFIG_NOT_NULL(1212,"短信发送配置不能为空"),
APP_CONFIG_NOT_NULL(1213,"应用配置信息不能为空"),
REQUEST_ID_SECRET_KEY_INVALID(1214,"请求id对应的密钥无效"),
APPLICATION_TENANT_REQUIRED(1215,"应用id和租户编号不能为空"),
USER_NAME_PWD_FAIL_LOCK(1216,"账号密码错误次数过多,账号已锁定,请稍后再试!"),
DATA_IS_NULL(1217,"查无数据!"),
ICCID_RNR_INFO_NOT_MATCHED(1830,"没有需要解绑的卡"),
SMS_OVER_MAX_LIMIT(2051,"实名短信超过每天限制次数,请明天再试"),
SYSTEM_ERROR(-1,"系统错误")
;
private Integer code;
private String msg;
ResponseCode(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.cusc.nirvana.user.rnr.fp.common;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author stayAnd
* @date 2022/4/21
*/
@AllArgsConstructor
@Getter
public enum RnrResultEnum {
/**
* 通过
*/
PASS(0,"认证通过"),
/**
* 人工审核中
*/
REVIEW(1,"人工审核中")
;
private Integer code;
private String msg;
}
package com.cusc.nirvana.user.rnr.fp.common;
/**
* Description: 证件类型枚举
* <br />
* CreateDate 2021-10-28 12:49:12
*
* @author yuyi
**/
public enum TestEnum {
IDCARD("IDCARD", "居民身份证"),
HKIDCARD("HKIDCARD", "港澳居民来往内地通行证"),
PASSPORT("PASSPORT", "护照"),
PLA("PLA", "军官证"),
POLICEPAPER("POLICEPAPER", "警官证"),
TAIBAOZHENG("TAIBAOZHENG", "台湾居民来往大陆通行证"),
UNITCREDITCODE("UNITCREDITCODE", "统一社会信用代码"),
OTHER("OTHER", "其他证件"),
OTHERLICENCE("OTHERLICENCE", "其他");
private String code;
private String name;
TestEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.cusc.nirvana.user.rnr.fp.constants;
/**
* Description: 认证方式类型枚举
* <br />
* CreateDate 2022-02-14 15:31:33
*
* @author yuyi
**/
public enum AuthWayTypeEnum {
CERT_CHECK("CERT_CHECK", "身份信息核查"),
ID_COMPARE("ID_COMPARE", "人证比对"),
FACE_COMPARE("FACE_COMPARE", "人脸比对"),
FMP("FMP", "活体后端校验"),
OCR("OCR", "光符识别"),
LIVENESS("LIVENESS", "活体检测"),
LIVENESS_CODE("LIVENESS_CODE", "活体数字验证码"),
ACTION_SEQ("ACTION_SEQ", "活体序列"),
CARD_NUM_IOV("CARD_NUM_IOV", "车联网一证十卡");
private String code;
private String name;
AuthWayTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static AuthWayTypeEnum getEnumByCode(String code) {
for (AuthWayTypeEnum sys : AuthWayTypeEnum.values()) {
if (sys.getCode().equals(code)) {
return sys;
}
}
return null;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.cusc.nirvana.user.rnr.fp.constants;
/**
* 短信类型
*
* @author yubo
* @since 2022-04-20 20:50
*/
public enum BizTypeEnum {
RNR("rnr", "实名短信"),
BIND("bind", "一车多卡绑定"),
UNBOUND("unbound", "卡解绑"),
CHANGETBOX("changetbox","换卡"),
ENTERPRISE_CHANGE("enterprise_change","企业变更责任人"),
ENTERPRISE_UNBIND("enterprise_unbind","企业解绑");
//存入数据库值
private String code;
//说明
private String value;
BizTypeEnum(String code, String value) {
this.code = code;
this.value = value;
}
public String getCode() {
return code;
}
public String getValue() {
return value;
}
}
package com.cusc.nirvana.user.rnr.fp.constants;
import com.cusc.nirvana.user.util.crypt.DataCryptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author stayAnd
* @date 2022/5/16
*/
@Component
public class CryptKeyHelper {
private static DataCryptService cryptService;
@Autowired
public void setDataCryptService(DataCryptService cryptService){
CryptKeyHelper.cryptService = cryptService;
}
public static List<String> encrypt(List<String> list){
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
List<String> collect = list.stream().map(CryptKeyHelper::encrypt).collect(Collectors.toList());
return collect;
}
public static String encrypt(String s){
return cryptService.encryptData(s);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment