Commit 226cbb7f authored by 王亮's avatar 王亮

remove unused code.

parent 25909857
...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.accessable; ...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.accessable;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
...@@ -12,6 +11,8 @@ import org.springframework.stereotype.Component; ...@@ -12,6 +11,8 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/** /**
* IP白名单检验 * IP白名单检验
* *
......
package cn.quantgroup.xyqb.aspect.accessable; package cn.quantgroup.xyqb.aspect.accessable;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* Ip白名单检验标记 * Ip白名单检验标记
......
...@@ -7,12 +7,6 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaServ ...@@ -7,12 +7,6 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaServ
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -28,6 +22,13 @@ import org.springframework.stereotype.Component; ...@@ -28,6 +22,13 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
/** /**
* 限次图形验证码校验标记 * 限次图形验证码校验标记
* *
......
package cn.quantgroup.xyqb.aspect.captcha; package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 限次的图形验证码校验标记 * 限次的图形验证码校验标记
......
...@@ -8,12 +8,6 @@ import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService; ...@@ -8,12 +8,6 @@ import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import cn.quantgroup.xyqb.service.captcha.IGeetestLogService; import cn.quantgroup.xyqb.service.captcha.IGeetestLogService;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
...@@ -24,6 +18,13 @@ import org.springframework.stereotype.Component; ...@@ -24,6 +18,13 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
*/ */
......
package cn.quantgroup.xyqb.aspect.captcha; package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
......
...@@ -5,10 +5,6 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -5,10 +5,6 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService; import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import java.nio.charset.Charset;
import java.util.Optional;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
...@@ -23,6 +19,11 @@ import org.springframework.stereotype.Component; ...@@ -23,6 +19,11 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.nio.charset.Charset;
import java.util.Optional;
import java.util.UUID;
/** /**
* 类名称:CaptchaValidateAdvisor * 类名称:CaptchaValidateAdvisor
* 类描述: * 类描述:
......
package cn.quantgroup.xyqb.aspect.captcha; package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 类名称:CaptchaValidate * 类名称:CaptchaValidate
......
package cn.quantgroup.xyqb.aspect.captcha;
/**
* 设备拦截器
*/
public @interface LoginInterceptor {
}
package cn.quantgroup.xyqb.aspect.captcha;
import cn.quantgroup.xyqb.entity.enums.Device;
import cn.quantgroup.xyqb.entity.enums.KeyType;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.LoginRefuseResult;
import cn.quantgroup.xyqb.risk.entity.CountDevice;
import cn.quantgroup.xyqb.risk.entity.LoginInfo;
import cn.quantgroup.xyqb.risk.repository.LoginInfoRepository;
import cn.quantgroup.xyqb.risk.repository.WhiteListRepository;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.TenantUtil;
import com.google.common.collect.Maps;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* @author :dongjianhua
* @date :Created in 2020/11/20 14:55
* @description:设备拦截器切面
* @modified By:
* @version:
*/
@Aspect
@Component
@Slf4j
@Order(10)//同心圆最外层
public class LoginInterceptorAspect {
@Resource
private LoginInfoRepository loginInfoRepository;
@Resource
private WhiteListRepository whiteListRepository;
@Resource
private IUserService iUserService;
private static final String DEFAULT_CODE = "00000000-0000-0000-0000-000000000000";
/**
* 设备拒绝阈值
*/
private static final Long DEVICE_REFUSE_COUNT = 3L;
/**
* 风控拒绝策略1设备维度 2 账号维度
*/
private static final int[] RISK_STRATEGY = {1, 2};
/**
* 警示t 语
*/
private final String ALERT_WORDS = "检测到您的设备上账号登录异常,已被强制退出并暂时冻结您的账号。联系客服400-002-0061";
/**
* 拒绝策略e
*/
private static Map<Device, Long> DEVICE_REFUSE_STRATEGY = Maps.newHashMap();
static {
DEVICE_REFUSE_STRATEGY.put(Device.ANDROID, 3L);
DEVICE_REFUSE_STRATEGY.put(Device.IOS, 7L);
}
@Pointcut("@annotation(cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor)")
public void pointCutAt() {
}
@Around("pointCutAt()")
private Object around(ProceedingJoinPoint pjp) throws Throwable {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Integer tenantId = null;
String tenId = request.getParameter("tenantId");
if (null != tenId) {
tenantId = Integer.parseInt(tenId);
} else {
tenantId = TenantUtil.TENANT_DEFAULT;
}
// if (null == tenId) {
// byte[] bodyBytes = StreamUtils.copyToByteArray(request.getInputStream());
//
// String body = new String(bodyBytes, request.getCharacterEncoding());
// if (!"".equals(body)) {
// HashMap hashMap = JSON.parseObject(body, HashMap.class);
// tenantId = Integer.parseInt(hashMap.get("tenantId").toString());
// }
// } else {
// tenantId = Integer.parseInt(tenId);
// }
/**
* 拿参数
*/
String idfa = request.getHeader("idfa");
String scDeviceId = request.getHeader("scDeviceId");
String realIp = request.getHeader("x-real-ip");
String deviceCode = request.getHeader("x-user-platform");
String phone = request.getHeader("x-user-phone");
String deviceId = null;
if (null != scDeviceId && !"".equals(scDeviceId)) {
deviceId = scDeviceId;
} else if (null != idfa && !"".equals(idfa)) {
deviceId = idfa;
} else {
/**
* 没有获取到就用默认的
*/
deviceId = DEFAULT_CODE;
}
log.info("登录前风控策略开始deviceId:{},phone:{}", deviceId, phone);
Device device = Device.valueOfCode(deviceCode);
// 调用风控策略逻辑删除
// LoginRefuseResult result = verification(deviceId, phone, device, tenantId);
LoginRefuseResult result = LoginRefuseResult.builder().isPass(Boolean.TRUE).build();
Object loginResult = null;
try {
if (!result.isPass()) {
log.warn("登录命中风控策略deviceId:{},phone:{},realIp:{},deviceCode:{}", deviceId, phone, realIp, deviceCode);
return JsonResult.buildErrorStateResult(ALERT_WORDS, null);
}
loginResult = pjp.proceed();
} catch (Exception e) {
throw e;
} finally {
/**
* 保存登录信息
*/
saveLoginInfo(phone, device, deviceId, realIp, result, loginResult, tenantId);
}
return loginResult;
}
/**
* @param deviceId
* @param phone
* @return
*/
private LoginRefuseResult verification(String deviceId, String phone, Device device, Integer tenantId) {
try {
/**
* 默认code不需要
*/
if (DEFAULT_CODE.equals(deviceId)) {
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
/**
* 如果没传手机也放过吧
*/
if (null == phone || "".equals(phone)) {
log.warn("怎么没传手机号进来啊暂时放过吧");
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
// 如果租户非羊小咩放过
if (!tenantId.equals(TenantUtil.TENANT_DEFAULT) || null == tenantId) {
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
/**
* 阈值
*/
Long threshold = DEVICE_REFUSE_STRATEGY.get(device);
if (null == threshold) {
log.warn("非安卓或者IOS设备登录没有策略就放过phone:{},device:{}", phone, device);
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
Long deviceNum = loginInfoRepository.countByDeviceId(deviceId, phone);
if (DEVICE_REFUSE_COUNT.compareTo(deviceNum) <= 0) {
if (!isWhite(deviceId, KeyType.DEVICEID)) {
log.warn("此设备登录命中拒绝策略deviceId:{}超过{}个拒绝登录", deviceId, deviceNum);
return LoginRefuseResult.builder()
.isPass(Boolean.FALSE)
.rule(RISK_STRATEGY[0])
.threshold(DEVICE_REFUSE_COUNT.intValue())
.value(deviceNum.intValue())
.build();
}
}
CountDevice countDevice = loginInfoRepository.countByPhoneAndDevice(phone, device.ordinal(), deviceId);
if (null == countDevice) {
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE)
.build();
}
/**
* 实际的数量
*/
Long val = countDevice.getNum();
if (threshold.compareTo(val) <= 0) {
if (!isWhite(phone, KeyType.PHONE)) {
log.warn("此账户登录命中拒绝策略并且没有白名单phone:{},device:{}", phone, device);
return LoginRefuseResult.builder()
.isPass(Boolean.FALSE)
.rule(RISK_STRATEGY[1])
.threshold(threshold.intValue())
.value(Long.valueOf(val).intValue())
.build();
}
log.warn("此账户登录命中拒绝策略存在白名单phone:{}", phone);
}
} catch (Exception e) {
log.error("用户登录策略校验异常了", e);
}
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE)
.build();
}
/**
* 保存信息
*
* @param phone
* @param device
* @param deviceId
* @param ip
*/
private void saveLoginInfo(String phone, Device device, String deviceId, String ip, LoginRefuseResult refuseResult, Object loginResult, Integer tenantId) {
try {
/**
* 默认code不需要
* 默认CODE 不存
*/
if (DEFAULT_CODE.equals(deviceId)) {
return;
}
if (null == phone || "".equals(phone)) {
log.warn("没有手机号先不存了");
return;
}
LoginInfo info = new LoginInfo();
info.setPhoneNo(phone);
info.setDeviceId(deviceId);
info.setDevice(device);
info.setIp(ip);
info.setIsPass(Boolean.TRUE);
if (!refuseResult.isPass()) {
info.setIsPass(Boolean.FALSE);
info.setHitRule(refuseResult.getRule());
info.setThreshold(refuseResult.getThreshold());
info.setValue(refuseResult.getValue());
}
if (null == loginResult) {
info.setIsLogin(Boolean.FALSE);
info.setLoginFailMsg("系统异常");
if (!refuseResult.isPass()) {
info.setLoginFailMsg("命中风控策略");
}
} else {
if (loginResult instanceof JsonResult) {
if (((JsonResult) loginResult).isSuccess()) {
info.setIsLogin(Boolean.TRUE);
} else {
info.setIsLogin(Boolean.FALSE);
info.setLoginFailMsg(((JsonResult) loginResult)
.getMsg());
}
} else {
log.warn("意想不到的情况按理讲不存在loginResult:{}", loginResult);
}
}
loginInfoRepository.save(info);
} catch (Exception e) {
log.error("保存登录信息异常phone:{}", phone, e);
}
}
/**
* 是否在白名单
*
* @param key
* @param type
* @return
*/
private boolean isWhite(String key, KeyType type) {
return whiteListRepository.countByKeyEqualsAndTypeEqualsAndEnableIsTrue(key, type) > 0;
}
/**
* 【登录设备反欺诈策略】
*
* 一、拿设备唯一码
* 1.安卓: 只拿神策$device_id 缺失不做处理
* 2.IOS: 先拿神策$device_id 缺失则再拿IDFA 最后还是缺失 和 00000000-0000-0000-0000-000000000000 不做处理
*
* 二、设备维度策略
* 1.触发条件: 当该设备在90天内 累计尝试登录超过3个uuid账号
* 2.设备措施: 该设备冻结加入黑名单 该设备上任何uuid账号都不能登录了 如有客诉核实为误杀后再从黑名单中剔除 加入白名单; (预计涉及万3的安卓设备,万5的IOS设备;包含了本次山东赵某的设备)
*
* 三、账号维度策略
* 1.触发条件: 当该uuid账号在90天内 在超过(安卓:3,IOS:7)个设备尝试过登录时 (目前同一IOS的设备唯一码可能会变,重复率约是安卓的1倍多)
* 2.账号措施:该uuid帐号冻结加入黑名单 该uuid帐号不能在任何设备登录了 如有客诉核实为误杀后再从黑名单中剔除 加入白名单 (预计涉及万6的安卓用户,万5的IOS用户)
*/
}
...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.forbidden; ...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.forbidden;
import cn.quantgroup.xyqb.exception.AccessForbiddenException; import cn.quantgroup.xyqb.exception.AccessForbiddenException;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Before;
...@@ -11,6 +10,8 @@ import org.springframework.stereotype.Component; ...@@ -11,6 +10,8 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@Aspect @Aspect
@Component @Component
@Slf4j @Slf4j
......
package cn.quantgroup.xyqb.aspect.limit; package cn.quantgroup.xyqb.aspect.limit;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
...@@ -9,6 +7,9 @@ import org.aspectj.lang.reflect.MethodSignature; ...@@ -9,6 +7,9 @@ import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
@Aspect @Aspect
@Component @Component
public class AccessLimitAspect { public class AccessLimitAspect {
......
...@@ -8,9 +8,6 @@ import cn.quantgroup.xyqb.model.session.SessionStruct; ...@@ -8,9 +8,6 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.Objects;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
...@@ -21,6 +18,10 @@ import org.springframework.stereotype.Component; ...@@ -21,6 +18,10 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
import java.util.Set;
/** /**
* 免密访问校验切面 * 免密访问校验切面
* *
......
package cn.quantgroup.xyqb.aspect.limit; package cn.quantgroup.xyqb.aspect.limit;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 免密访问校验标记 * 免密访问校验标记
......
...@@ -4,8 +4,6 @@ package cn.quantgroup.xyqb.aspect.lock; ...@@ -4,8 +4,6 @@ package cn.quantgroup.xyqb.aspect.lock;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
...@@ -19,6 +17,9 @@ import org.springframework.stereotype.Component; ...@@ -19,6 +17,9 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/** /**
* 密码错误限次的校验 * 密码错误限次的校验
* *
......
package cn.quantgroup.xyqb.aspect.lock; package cn.quantgroup.xyqb.aspect.lock;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 密码错误限次的校验标记 * 密码错误限次的校验标记
......
package cn.quantgroup.xyqb.aspect.lock; package cn.quantgroup.xyqb.aspect.lock;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 用redis进行锁<br/> * 用redis进行锁<br/>
......
...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.lock; ...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.aspect.lock;
import cn.quantgroup.xyqb.exception.ResubmissionException; import cn.quantgroup.xyqb.exception.ResubmissionException;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.lang.reflect.Method;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -19,6 +18,8 @@ import org.springframework.expression.ExpressionException; ...@@ -19,6 +18,8 @@ import org.springframework.expression.ExpressionException;
import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
/** /**
* Redis Lock Aspect * Redis Lock Aspect
*/ */
......
...@@ -3,8 +3,6 @@ package cn.quantgroup.xyqb.aspect.logcaller; ...@@ -3,8 +3,6 @@ package cn.quantgroup.xyqb.aspect.logcaller;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Stopwatch; import com.google.common.base.Stopwatch;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
...@@ -17,6 +15,9 @@ import org.springframework.stereotype.Component; ...@@ -17,6 +15,9 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;
/** /**
* 调用者记录 * 调用者记录
* Created by Administrator on 2017/5/15. * Created by Administrator on 2017/5/15.
......
package cn.quantgroup.xyqb.config; package cn.quantgroup.xyqb.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
* Created by Administrator on 2021/7/1 0001. * Created by Administrator on 2021/7/1 0001.
......
...@@ -18,8 +18,8 @@ import com.octo.captcha.component.image.wordtoimage.WordToImage; ...@@ -18,8 +18,8 @@ import com.octo.captcha.component.image.wordtoimage.WordToImage;
import com.octo.captcha.component.word.wordgenerator.RandomWordGenerator; import com.octo.captcha.component.word.wordgenerator.RandomWordGenerator;
import com.octo.captcha.component.word.wordgenerator.WordGenerator; import com.octo.captcha.component.word.wordgenerator.WordGenerator;
import com.octo.captcha.engine.image.ListImageCaptchaEngine; import com.octo.captcha.engine.image.ListImageCaptchaEngine;
import java.awt.Color;
import java.awt.Font; import java.awt.*;
import java.awt.image.ImageFilter; import java.awt.image.ImageFilter;
/** /**
......
...@@ -5,10 +5,11 @@ import com.octo.captcha.Captcha; ...@@ -5,10 +5,11 @@ import com.octo.captcha.Captcha;
import com.octo.captcha.engine.CaptchaEngine; import com.octo.captcha.engine.CaptchaEngine;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore; import com.octo.captcha.service.captchastore.CaptchaStore;
import java.util.Locale;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.Locale;
/** /**
* 类名称:CustomCaptchaService * 类名称:CustomCaptchaService
* 类描述:自定义的验证马实现服务 * 类描述:自定义的验证马实现服务
......
...@@ -5,12 +5,13 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.SimpleCaptcha; ...@@ -5,12 +5,13 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.SimpleCaptcha;
import com.octo.captcha.Captcha; import com.octo.captcha.Captcha;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore; import com.octo.captcha.service.captchastore.CaptchaStore;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Locale; import java.util.Locale;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
/** /**
* 类名称:RedisCaptchaStore * 类名称:RedisCaptchaStore
......
...@@ -6,12 +6,8 @@ package cn.quantgroup.xyqb.config.data; ...@@ -6,12 +6,8 @@ package cn.quantgroup.xyqb.config.data;
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.DependsOn;
...@@ -26,6 +22,10 @@ import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; ...@@ -26,6 +22,10 @@ import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.Properties;
/** /**
* Created by Miraculous on 2016/11/14. * Created by Miraculous on 2016/11/14.
*/ */
......
package cn.quantgroup.xyqb.config.data;
import com.zaxxer.hikari.HikariDataSource;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* 登录风控拦截数据库
*/
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {"cn.quantgroup.xyqb.risk.repository"},
entityManagerFactoryRef = "riskEntityManager",
transactionManagerRef = "riskTransactionManager")
public class LoginRiskJpaConfig {
@Value("${login.risk.datasource.url}")
private String dataSourceUrl;
@Value("${login.risk.datasource.password}")
private String password;
@Value("${login.risk.datasource.username}")
private String username;
@Value("${xyqb.data.mysql.max-pool-size}")
private Integer maxPoolSize;
private static final String DATABASE_TYPE_DEFAULT = "com.mysql.jdbc.Driver";
@Bean(name = "riskEntityManager")
@DependsOn("riskDataSource")
public EntityManagerFactory entityManagerFactory(
@Qualifier("riskDataSource") DataSource dataSource
) {
LocalContainerEntityManagerFactoryBean entityManager = new LocalContainerEntityManagerFactoryBean();
entityManager.setDataSource(dataSource);
entityManager.setPackagesToScan("cn.quantgroup.xyqb.risk");
entityManager.setPersistenceUnitName("riskDataSource");
Properties properties = new Properties();
properties.put("hibernate.jdbc.batch_size", 30);
properties.put("hibernate.order_inserts", true);
properties.put("hibernate.order_updates", true);
entityManager.setJpaProperties(properties);
entityManager.setJpaVendorAdapter(jpaVendorAdapter());
entityManager.afterPropertiesSet();
return entityManager.getObject();
}
private JpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
hibernateJpaVendorAdapter.setShowSql(false);
hibernateJpaVendorAdapter.setGenerateDdl(false);
hibernateJpaVendorAdapter.setDatabase(Database.MYSQL);
return hibernateJpaVendorAdapter;
}
@Bean(name = "riskTransactionManager")
@DependsOn("riskEntityManager")
public PlatformTransactionManager transactionManager(
@Qualifier("riskEntityManager") EntityManagerFactory entityManagerFactory) {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory);
return transactionManager;
}
@Bean(name = "riskJdbcTemplate")
@DependsOn("riskDataSource")
public JdbcTemplate jdbcTemplate(@Qualifier("riskDataSource") DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
/**
* private static final String DATASOURCE_TYPE_DEFAULT =
* "com.zaxxer.hikari.HikariDataSource";
* private static final String DATABASE_TYPE_DEFAULT =
* "com.mysql.jdbc.Driver";
* private static final String MASTER_PREFIX =
* "spring.datasource.";
* private static final String SLAVE_PREFIX =
* "slave.datasource.";
*
* @return
*/
@Bean(name = "riskDataSource")
public DataSource riskDataSource() {
DataSourceBuilder factory = DataSourceBuilder
.create()
.driverClassName(DATABASE_TYPE_DEFAULT)
.url(dataSourceUrl)
.username(username)
.password(password)
.type(HikariDataSource.class);
return factory.build();
}
}
package cn.quantgroup.xyqb.config.data; package cn.quantgroup.xyqb.config.data;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
...@@ -18,6 +16,9 @@ import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer ...@@ -18,6 +16,9 @@ import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisPoolConfig;
import java.util.HashSet;
import java.util.Set;
/** /**
* Created by Miraculous on 15/7/4. * Created by Miraculous on 15/7/4.
*/ */
......
...@@ -4,11 +4,6 @@ import cn.quantgroup.tool.monitor.metric.api.TechHttpClient; ...@@ -4,11 +4,6 @@ import cn.quantgroup.tool.monitor.metric.api.TechHttpClient;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import javax.net.ssl.SSLContext;
import org.apache.http.client.HttpRequestRetryHandler; import org.apache.http.client.HttpRequestRetryHandler;
import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.CookieSpecs;
import org.apache.http.config.Registry; import org.apache.http.config.Registry;
...@@ -39,6 +34,12 @@ import org.springframework.format.support.FormattingConversionService; ...@@ -39,6 +34,12 @@ import org.springframework.format.support.FormattingConversionService;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.filter.CharacterEncodingFilter;
import javax.net.ssl.SSLContext;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
/** /**
* Created by Miraculous on 15/7/12. * Created by Miraculous on 15/7/12.
......
package cn.quantgroup.xyqb.config.http; package cn.quantgroup.xyqb.config.http;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.hibernate.validator.HibernateValidator; import org.hibernate.validator.HibernateValidator;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.format.FormatterRegistry; import org.springframework.format.FormatterRegistry;
...@@ -10,6 +7,10 @@ import org.springframework.stereotype.Component; ...@@ -10,6 +7,10 @@ import org.springframework.stereotype.Component;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor; import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
@Component @Component
public class MyWebMvcConfigurer extends WebMvcConfigurerAdapter { public class MyWebMvcConfigurer extends WebMvcConfigurerAdapter {
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.config.http; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.config.http;
import com.alibaba.fastjson.serializer.JSONSerializer; import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer; import com.alibaba.fastjson.serializer.ObjectSerializer;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.sql.Timestamp; import java.sql.Timestamp;
......
package cn.quantgroup.xyqb.config.mq; package cn.quantgroup.xyqb.config.mq;
import org.springframework.amqp.core.AmqpAdmin; import org.springframework.amqp.core.*;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin; import org.springframework.amqp.rabbit.core.RabbitAdmin;
......
package cn.quantgroup.xyqb.config.mq; package cn.quantgroup.xyqb.config.mq;
import java.util.HashMap; import org.springframework.amqp.core.*;
import java.util.Map;
import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory.CacheMode; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory.CacheMode;
import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory;
...@@ -18,6 +12,9 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -18,6 +12,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/** /**
* Created by xuran on 2017/9/7. * Created by xuran on 2017/9/7.
*/ */
......
package cn.quantgroup.xyqb.config.sentry; package cn.quantgroup.xyqb.config.sentry;
import cn.quantgroup.xyqb.exception.AccessForbiddenException; import cn.quantgroup.xyqb.exception.*;
import cn.quantgroup.xyqb.exception.AppletException;
import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.exception.PasswordErrorLimitException;
import cn.quantgroup.xyqb.exception.UserRegisterLoginException;
import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import io.sentry.Sentry; import io.sentry.Sentry;
import io.sentry.event.EventBuilder; import io.sentry.event.EventBuilder;
import io.sentry.event.interfaces.ExceptionInterface; import io.sentry.event.interfaces.ExceptionInterface;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* {@link HandlerExceptionResolver} implementation that will record any exception that a * {@link HandlerExceptionResolver} implementation that will record any exception that a
* Spring {@link org.springframework.web.servlet.mvc.Controller} throws to Sentry. It then * Spring {@link org.springframework.web.servlet.mvc.Controller} throws to Sentry. It then
......
...@@ -2,13 +2,14 @@ package cn.quantgroup.xyqb.config.sentry; ...@@ -2,13 +2,14 @@ package cn.quantgroup.xyqb.config.sentry;
import cn.quantgroup.tech.util.TechEnvironment; import cn.quantgroup.tech.util.TechEnvironment;
import io.sentry.Sentry; import io.sentry.Sentry;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.HandlerExceptionResolver;
import javax.annotation.PostConstruct;
/** /**
* 初始化Sentry配置 * 初始化Sentry配置
* @author renwc * @author renwc
......
package cn.quantgroup.xyqb.controller; package cn.quantgroup.xyqb.controller;
import cn.quantgroup.xyqb.exception.AccessForbiddenException; import cn.quantgroup.xyqb.exception.*;
import cn.quantgroup.xyqb.exception.AppletException;
import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.exception.PasswordErrorLimitException;
import cn.quantgroup.xyqb.exception.ResubmissionException;
import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.exception.UserQueryLogException;
import cn.quantgroup.xyqb.exception.UserRegisterLoginException;
import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import cn.quantgroup.xyqb.exception.WechatRelateUserException;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.ValidationException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.jdbc.BadSqlGrammarException;
...@@ -27,11 +11,15 @@ import org.springframework.validation.BindingResult; ...@@ -27,11 +11,15 @@ import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError; import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.MissingServletRequestParameterException;
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.ResponseStatus; import javax.validation.ConstraintViolation;
import org.springframework.web.bind.annotation.RestController; import javax.validation.ConstraintViolationException;
import javax.validation.ValidationException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
/** /**
* Created by Miraculous on 15/7/6. * Created by Miraculous on 15/7/6.
......
package cn.quantgroup.xyqb.controller; package cn.quantgroup.xyqb.controller;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSession;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSessionFromRedis;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSessionFromTenantRedis;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
......
...@@ -4,11 +4,12 @@ import cn.quantgroup.xyqb.entity.UserAuthorized; ...@@ -4,11 +4,12 @@ import cn.quantgroup.xyqb.entity.UserAuthorized;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserAuthorizedParam; import cn.quantgroup.xyqb.model.UserAuthorizedParam;
import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService; import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* @author xufei on 2018/1/5. * @author xufei on 2018/1/5.
*/ */
......
package cn.quantgroup.xyqb.controller.dust.wechatverify; package cn.quantgroup.xyqb.controller.dust.wechatverify;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/** /**
* Created by 11 on 2017/2/8. * Created by 11 on 2017/2/8.
*/ */
......
package cn.quantgroup.xyqb.controller.external; package cn.quantgroup.xyqb.controller.external;
import static cn.quantgroup.xyqb.Constants.VERIFICATION_CODE_FINITE_COUNT_NEW;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
import cn.quantgroup.user.enums.LoginType; import cn.quantgroup.user.enums.LoginType;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator; import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator; import cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaNewValidator; import cn.quantgroup.xyqb.aspect.captcha.CaptchaNewValidator;
import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator; import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator; import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator; import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.LoginRecord; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.Merchant;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserAttached;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.exception.UserNotExistException; import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.exception.VerificationCodeErrorException; import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import cn.quantgroup.xyqb.model.AuthBean; import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.model.TokenExchange;
import cn.quantgroup.xyqb.model.UserBrief;
import cn.quantgroup.xyqb.model.UserModel;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue; import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.service.captcha.IGeetestLogService; import cn.quantgroup.xyqb.service.captcha.IGeetestLogService;
...@@ -34,30 +21,13 @@ import cn.quantgroup.xyqb.service.merchant.IMerchantService; ...@@ -34,30 +21,13 @@ import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService; import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.ILockIpv4Service; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.ILoginRecordService;
import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.user.UserCenterService;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.BctyptPasswordUtil; import cn.quantgroup.xyqb.util.*;
import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -70,6 +40,14 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -70,6 +40,14 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.*;
import static cn.quantgroup.xyqb.Constants.VERIFICATION_CODE_FINITE_COUNT_NEW;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
/** /**
* Http服务接口:用户注册、登录、重置密码 * Http服务接口:用户注册、登录、重置密码
* Created by FrankChow on 15/7/5. * Created by FrankChow on 15/7/5.
...@@ -137,7 +115,6 @@ public class UserController implements IBaseController { ...@@ -137,7 +115,6 @@ public class UserController implements IBaseController {
* @return * @return
* @yapi unknown * @yapi unknown
*/ */
@LoginInterceptor
@CaptchaFiniteValidator @CaptchaFiniteValidator
@RequestMapping("/loginV1") @RequestMapping("/loginV1")
public JsonResult loginV1( public JsonResult loginV1(
...@@ -168,7 +145,6 @@ public class UserController implements IBaseController { ...@@ -168,7 +145,6 @@ public class UserController implements IBaseController {
* @return * @return
* @yapi unknown * @yapi unknown
*/ */
@LoginInterceptor
@CaptchaNewValidator @CaptchaNewValidator
@RequestMapping("/loginV2") @RequestMapping("/loginV2")
public JsonResult loginV2( public JsonResult loginV2(
...@@ -245,7 +221,6 @@ public class UserController implements IBaseController { ...@@ -245,7 +221,6 @@ public class UserController implements IBaseController {
* *
* @yapi http://yapi.quantgroups.com/project/17/interface/api/2066 * @yapi http://yapi.quantgroups.com/project/17/interface/api/2066
*/ */
@LoginInterceptor
@RequestMapping("/login/fast") @RequestMapping("/login/fast")
public JsonResult loginFast( public JsonResult loginFast(
@RequestParam(required = false, defaultValue = "1") Long channelId, String appChannel, @RequestParam(required = false, defaultValue = "1") Long channelId, String appChannel,
......
...@@ -10,7 +10,6 @@ import cn.quantgroup.xyqb.service.auth.IIdCardService; ...@@ -10,7 +10,6 @@ import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.ChineseName; import cn.quantgroup.xyqb.validator.ChineseName;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DataIntegrityViolationException;
...@@ -19,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -19,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
/** /**
* Created by Miraculous on 2017/1/3. * Created by Miraculous on 2017/1/3.
*/ */
......
...@@ -20,23 +20,6 @@ import com.alibaba.fastjson.JSON; ...@@ -20,23 +20,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -45,15 +28,21 @@ import org.apache.commons.lang.StringUtils; ...@@ -45,15 +28,21 @@ import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpStatus; import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.*;
/** /**
* Created by 11 on 2017/1/17. * Created by 11 on 2017/1/17.
*/ */
......
...@@ -3,10 +3,8 @@ package cn.quantgroup.xyqb.controller.external; ...@@ -3,10 +3,8 @@ package cn.quantgroup.xyqb.controller.external;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.wechat.IWechatFollowService; import cn.quantgroup.xyqb.service.wechat.IWechatFollowService;
import javax.sql.DataSource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
......
...@@ -4,15 +4,6 @@ import cn.quantgroup.xyqb.Constants; ...@@ -4,15 +4,6 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaValidator; import cn.quantgroup.xyqb.aspect.captcha.CaptchaValidator;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService; import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,6 +12,16 @@ import org.springframework.data.redis.core.RedisTemplate; ...@@ -21,6 +12,16 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
/** /**
* 类名称:ImgCaptchaController * 类名称:ImgCaptchaController
* 类描述:图形验证码控制器 * 类描述:图形验证码控制器
......
...@@ -9,18 +9,19 @@ import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; ...@@ -9,18 +9,19 @@ import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
*/ */
......
...@@ -5,9 +5,6 @@ import cn.quantgroup.xyqb.controller.IBaseController; ...@@ -5,9 +5,6 @@ import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -17,6 +14,10 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -17,6 +14,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
/** /**
* 锁控制器 * 锁控制器
* *
......
...@@ -11,12 +11,6 @@ import cn.quantgroup.xyqb.service.sms.ISmsService; ...@@ -11,12 +11,6 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.util.DateUtils; import cn.quantgroup.xyqb.util.DateUtils;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -29,6 +23,9 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -29,6 +23,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.concurrent.TimeUnit;
/** /**
* Created by FrankChow on 15/7/6. * Created by FrankChow on 15/7/6.
*/ */
......
...@@ -7,11 +7,12 @@ import cn.quantgroup.xyqb.model.session.LoginInfo; ...@@ -7,11 +7,12 @@ import cn.quantgroup.xyqb.model.session.LoginInfo;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/** /**
* 查询已登录信息 * 查询已登录信息
* Created by Miraculous on 2016/12/30. * Created by Miraculous on 2016/12/30.
......
...@@ -15,29 +15,9 @@ import cn.quantgroup.xyqb.util.IdcardValidator; ...@@ -15,29 +15,9 @@ import cn.quantgroup.xyqb.util.IdcardValidator;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.util.encrypt.Rsa; import cn.quantgroup.xyqb.util.encrypt.Rsa;
import com.google.gson.Gson; import com.google.gson.*;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
...@@ -47,6 +27,13 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -47,6 +27,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
/** /**
* Created by zenglibin on 17/06/13. * Created by zenglibin on 17/06/13.
*/ */
......
package cn.quantgroup.xyqb.controller.internal.user; package cn.quantgroup.xyqb.controller.internal.user;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_PASSWORD_ERROR;
import cn.quantgroup.user.enums.LoginType; import cn.quantgroup.user.enums.LoginType;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator; import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.Merchant; import cn.quantgroup.xyqb.entity.Merchant;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
...@@ -26,8 +22,6 @@ import cn.quantgroup.xyqb.util.TenantUtil; ...@@ -26,8 +22,6 @@ import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics; import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.bean.EventRecord; import com.sensorsdata.analytics.javasdk.bean.EventRecord;
import javax.persistence.PersistenceException;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -38,6 +32,12 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -38,6 +32,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.persistence.PersistenceException;
import javax.servlet.http.HttpServletRequest;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_PASSWORD_ERROR;
/** /**
* 第三方用户免密登录 * 第三方用户免密登录
* *
...@@ -315,7 +315,6 @@ public class AppController implements IBaseController { ...@@ -315,7 +315,6 @@ public class AppController implements IBaseController {
* @return Token和phoneNo * @return Token和phoneNo
* @yapi http://yapi.quantgroups.com/project/17/interface/api/171 * @yapi http://yapi.quantgroups.com/project/17/interface/api/171
*/ */
@LoginInterceptor
@IpValidator @IpValidator
@RequestMapping("/login2") @RequestMapping("/login2")
public JsonResult login2( public JsonResult login2(
......
package cn.quantgroup.xyqb.controller.internal.user; package cn.quantgroup.xyqb.controller.internal.user;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR; import cn.quantgroup.user.enums.*;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.EducationEnum;
import cn.quantgroup.user.enums.IncomeEnum;
import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.MaritalStatus;
import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator; import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator; import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp; import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp;
import cn.quantgroup.xyqb.entity.Merchant; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserDisableRecord;
import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.entity.UserSpouse;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.event.DisableActiveEvent; import cn.quantgroup.xyqb.event.DisableActiveEvent;
import cn.quantgroup.xyqb.event.UserDisableRecordEvent; import cn.quantgroup.xyqb.event.UserDisableRecordEvent;
import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent; import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent;
import cn.quantgroup.xyqb.exception.UserNotExistException; import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.model.ContactInfo;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.model.LoginUserContext;
import cn.quantgroup.xyqb.model.OauthResult;
import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.model.UserAssociation;
import cn.quantgroup.xyqb.model.UserAssociationModel;
import cn.quantgroup.xyqb.model.UserDetailRet;
import cn.quantgroup.xyqb.model.UserDisableRecordModel;
import cn.quantgroup.xyqb.model.UserExtInfoRet;
import cn.quantgroup.xyqb.model.UserFullInfo;
import cn.quantgroup.xyqb.model.UserInfo;
import cn.quantgroup.xyqb.model.UserRet;
import cn.quantgroup.xyqb.model.UserSpouseRet;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.remote.StmsRemoteService; import cn.quantgroup.xyqb.remote.StmsRemoteService;
import cn.quantgroup.xyqb.repository.IUserDisableRecordRepository; import cn.quantgroup.xyqb.repository.IUserDisableRecordRepository;
import cn.quantgroup.xyqb.service.api.IUserApiService; import cn.quantgroup.xyqb.service.api.IUserApiService;
...@@ -53,42 +23,16 @@ import cn.quantgroup.xyqb.service.register.IUserDeregisterService; ...@@ -53,42 +23,16 @@ import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService; import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.CleanDataService; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.IOauthLoginInfoService;
import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.user.IUserSpouseService;
import cn.quantgroup.xyqb.service.user.vo.UserDetailVO; import cn.quantgroup.xyqb.service.user.vo.UserDetailVO;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.AesUtil; import cn.quantgroup.xyqb.util.*;
import cn.quantgroup.xyqb.util.BctyptPasswordUtil;
import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.MqUtils;
import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.validator.ChineseName; import cn.quantgroup.xyqb.validator.ChineseName;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -101,14 +45,17 @@ import org.springframework.data.domain.PageRequest; ...@@ -101,14 +45,17 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestHeader; import javax.validation.constraints.Min;
import org.springframework.web.bind.annotation.RequestMapping; import javax.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.RequestMethod; import java.io.UnsupportedEncodingException;
import org.springframework.web.bind.annotation.RequestParam; import java.text.ParseException;
import org.springframework.web.bind.annotation.RestController; import java.util.*;
import java.util.stream.Collectors;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
/** /**
......
...@@ -12,10 +12,6 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService; ...@@ -12,10 +12,6 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.ChineseName; import cn.quantgroup.xyqb.validator.ChineseName;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -24,6 +20,11 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -24,6 +20,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 同步用户数据,第三方模块访问时 * 同步用户数据,第三方模块访问时
* Created by Miraculous on 15/12/29. * Created by Miraculous on 15/12/29.
......
...@@ -11,17 +11,14 @@ import cn.quantgroup.xyqb.service.sms.ISmsService; ...@@ -11,17 +11,14 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestParam; import java.util.Objects;
import org.springframework.web.bind.annotation.RestController;
/** /**
* Created by FrankChow on 15/12/16. * Created by FrankChow on 15/12/16.
......
package cn.quantgroup.xyqb.controller.internal.user.center; package cn.quantgroup.xyqb.controller.internal.user.center;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.EducationEnum; import cn.quantgroup.user.enums.EducationEnum;
import cn.quantgroup.user.enums.IncomeRangeEnum; import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.MaritalStatus; import cn.quantgroup.user.enums.MaritalStatus;
...@@ -20,23 +19,16 @@ import cn.quantgroup.xyqb.service.user.IUserExtInfoService; ...@@ -20,23 +19,16 @@ import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.user.UserCenterService; import cn.quantgroup.xyqb.service.user.UserCenterService;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import java.util.HashMap;
import org.springframework.web.bind.annotation.RequestBody; import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* Created by 11 on 2017/3/22. * Created by 11 on 2017/3/22.
......
package cn.quantgroup.xyqb.controller.internal.user.resp; package cn.quantgroup.xyqb.controller.internal.user.resp;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import java.util.List;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List;
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
......
...@@ -7,16 +7,13 @@ import cn.quantgroup.xyqb.exception.DataException; ...@@ -7,16 +7,13 @@ import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.middleoffice.applet.IAppletService; import cn.quantgroup.xyqb.service.middleoffice.applet.IAppletService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import java.util.Arrays;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.Arrays;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author :dongjianhua * @author :dongjianhua
......
...@@ -4,9 +4,10 @@ import cn.quantgroup.xyqb.entity.User; ...@@ -4,9 +4,10 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.exception.DataException; import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.util.BctyptPasswordUtil; import cn.quantgroup.xyqb.util.BctyptPasswordUtil;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import java.util.Objects;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Objects;
/** /**
* 密码校验策略 * 密码校验策略
*/ */
......
...@@ -3,9 +3,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.common; ...@@ -3,9 +3,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.common;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.exception.VerificationCodeErrorException; import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/** /**
* 基于短信策略的验证 * 基于短信策略的验证
*/ */
......
package cn.quantgroup.xyqb.controller.middleoffice.common; package cn.quantgroup.xyqb.controller.middleoffice.common;
import cn.quantgroup.xyqb.util.ApplicationContextHolder; import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
......
...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.controller.middleoffice.common.image; ...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.model.ClientType; import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService; import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Map;
/** /**
* 极验验证码认证 * 极验验证码认证
*/ */
......
package cn.quantgroup.xyqb.controller.middleoffice.common.image; package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.util.ApplicationContextHolder; import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
......
package cn.quantgroup.xyqb.controller.middleoffice.common.image; package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/** /**
* 量化派验证码认证 * 量化派验证码认证
*/ */
......
package cn.quantgroup.xyqb.controller.middleoffice.contact; package cn.quantgroup.xyqb.controller.middleoffice.contact;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactSaveDto;
import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactUpdateDto;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* 联系人 * 联系人
*/ */
......
package cn.quantgroup.xyqb.controller.middleoffice.contact.dto; package cn.quantgroup.xyqb.controller.middleoffice.contact.dto;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotNull;
@Data @Data
@Validated @Validated
public class ContactSaveDto { public class ContactSaveDto {
......
...@@ -8,19 +8,15 @@ import cn.quantgroup.xyqb.model.ClientType; ...@@ -8,19 +8,15 @@ import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService; import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import org.apache.commons.codec.digest.Md5Crypt;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import javax.annotation.Resource;
import org.apache.commons.codec.digest.Md5Crypt;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 图形验证码 * 图形验证码
......
...@@ -2,14 +2,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.login; ...@@ -2,14 +2,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.login;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum; import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 注册与登陆 * 注册与登陆
......
package cn.quantgroup.xyqb.controller.middleoffice.login; package cn.quantgroup.xyqb.controller.middleoffice.login;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
import cn.quantgroup.user.enums.LoginType; import cn.quantgroup.user.enums.LoginType;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyStrategyFactory; import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyStrategyFactory;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum; import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum;
...@@ -12,10 +10,13 @@ import cn.quantgroup.xyqb.model.LoginProperties; ...@@ -12,10 +10,13 @@ import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.service.register.IUserRegisterService; import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
/** /**
* 面向服务的聚合模块。 * 面向服务的聚合模块。
*/ */
......
...@@ -5,12 +5,13 @@ import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageDTO; ...@@ -5,12 +5,13 @@ import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageDTO;
import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageVerifyStrategyFactory; import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageVerifyStrategyFactory;
import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageVerifyTypeEnum; import cn.quantgroup.xyqb.controller.middleoffice.common.image.ImageVerifyTypeEnum;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* 短信 * 短信
*/ */
......
...@@ -6,21 +6,14 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -6,21 +6,14 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.hibernate.validator.constraints.Length;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PutMapping; import java.util.List;
import org.springframework.web.bind.annotation.RequestBody; import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 用户信息 * 用户信息
......
...@@ -9,16 +9,11 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -9,16 +9,11 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 用户实名信息 * 用户实名信息
......
package cn.quantgroup.xyqb.controller.middleoffice.userext; package cn.quantgroup.xyqb.controller.middleoffice.userext;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.OccupationEnum; import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq; import cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
...@@ -10,18 +9,12 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -10,18 +9,12 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 用户扩展信息 * 用户扩展信息
......
package cn.quantgroup.xyqb.controller.middleoffice.userext.req; package cn.quantgroup.xyqb.controller.middleoffice.userext.req;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import java.util.List;
import lombok.Data; import lombok.Data;
@Data @Data
......
...@@ -8,20 +8,14 @@ import cn.quantgroup.xyqb.service.user.ITenantService; ...@@ -8,20 +8,14 @@ import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 微信 * 微信
......
...@@ -8,7 +8,6 @@ import cn.quantgroup.xyqb.controller.modifyphoneno.resp.ProgressResp; ...@@ -8,7 +8,6 @@ import cn.quantgroup.xyqb.controller.modifyphoneno.resp.ProgressResp;
import cn.quantgroup.xyqb.controller.modifyphoneno.resp.UserModifyPhoneRecordResp; import cn.quantgroup.xyqb.controller.modifyphoneno.resp.UserModifyPhoneRecordResp;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo; import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserModifyPhoneRecord;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IModifyPhoneNoService; import cn.quantgroup.xyqb.service.user.IModifyPhoneNoService;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req; package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum; import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/** /**
* Date: 2019/11/4 * Date: 2019/11/4
* Time: 上午11:53 * Time: 上午11:53
......
...@@ -3,9 +3,10 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req; ...@@ -3,9 +3,10 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.controller.req.Page; import cn.quantgroup.xyqb.controller.req.Page;
import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum; import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum;
import cn.quantgroup.xyqb.model.ModifyPhoneNoProcessingStatusEnum; import cn.quantgroup.xyqb.model.ModifyPhoneNoProcessingStatusEnum;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Date: 2019/11/5 * Date: 2019/11/5
* Time: 下午4:02 * Time: 下午4:02
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req; package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.entity.enums.ApplySource;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@Data @Data
public class ModifyRejectRecord { public class ModifyRejectRecord {
@NotNull(message = "用户id不能为空") @NotNull(message = "用户id不能为空")
......
...@@ -3,13 +3,14 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req; ...@@ -3,13 +3,14 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo; import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.IdCard; import cn.quantgroup.xyqb.validator.IdCard;
import java.io.Serializable;
import javax.validation.constraints.Pattern;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotBlank;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/** /**
* Date: 2019/11/4 * Date: 2019/11/4
* Time: 上午11:29 * Time: 上午11:29
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req; package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/** /**
* Date: 2019/11/4 * Date: 2019/11/4
* Time: 上午11:37 * Time: 上午11:37
......
...@@ -2,10 +2,10 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.resp; ...@@ -2,10 +2,10 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.resp;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo; import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date;
import java.util.Optional; import java.util.Optional;
import lombok.Data;
/** /**
* Date: 2019/11/4 * Date: 2019/11/4
......
package cn.quantgroup.xyqb.controller.modifyphoneno.resp; package cn.quantgroup.xyqb.controller.modifyphoneno.resp;
import cn.quantgroup.xyqb.entity.enums.ApplySource; import cn.quantgroup.xyqb.entity.enums.ApplySource;
import cn.quantgroup.xyqb.entity.enums.Reason;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import javax.persistence.Column;
import lombok.Data; import lombok.Data;
import java.sql.Timestamp; import java.sql.Timestamp;
......
package cn.quantgroup.xyqb.controller.risk;
import cn.quantgroup.xyqb.entity.enums.KeyType;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.risk.LoginRiskService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author :dongjianhua
* @date :Created in 2020/12/14 15:02
* @description:登录白名单控制器
* @modified By:
* @version: 1.0
*/
@Slf4j
@RestController
@RequestMapping("/login/risk")
public class LoginWhiteListController {
@Resource
private LoginRiskService loginRiskService;
@RequestMapping(value = "/add_white_list", method = RequestMethod.POST)
public JsonResult addWhiteList(String val, KeyType type) {
log.info("添加用户白名单val:{},type:{}", val, type);
if (null == val || null == type) {
return JsonResult.buildErrorStateResult("参数有误", null);
}
loginRiskService.addWhiteList(val, type);
return JsonResult.buildSuccessResult();
}
}
...@@ -7,14 +7,15 @@ import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService; ...@@ -7,14 +7,15 @@ import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService;
import cn.quantgroup.xyqb.service.user.IProductLoginService; import cn.quantgroup.xyqb.service.user.IProductLoginService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/tenant") @RequestMapping("/tenant")
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import lombok.Data;
/** /**
* 所有数据库实体,都要继承 BaseEntity * 所有数据库实体,都要继承 BaseEntity
......
...@@ -4,11 +4,12 @@ package cn.quantgroup.xyqb.entity; ...@@ -4,11 +4,12 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity; import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.util.StringUtils; import cn.quantgroup.xyqb.util.StringUtils;
import java.io.Serializable;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.io.Serializable;
/** /**
* Created with IntelliJ IDEA. * Created with IntelliJ IDEA.
......
...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity; import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.util.StringUtils; import cn.quantgroup.xyqb.util.StringUtils;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.io.Serializable;
import java.util.Objects;
/** /**
* Created with IntelliJ IDEA. * Created with IntelliJ IDEA.
......
...@@ -2,13 +2,14 @@ package cn.quantgroup.xyqb.entity; ...@@ -2,13 +2,14 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter; import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import java.io.Serializable; import lombok.Data;
import java.util.Date;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Convert; import javax.persistence.Convert;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
import java.util.Date;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Created by 11 on 2017/3/22. * Created by 11 on 2017/3/22.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.entity; ...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.enums.ApplySource; import cn.quantgroup.xyqb.entity.enums.ApplySource;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Date: 2019/11/4 * Date: 2019/11/4
......
...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity; import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity;
import cn.quantgroup.xyqb.util.StringUtils; import cn.quantgroup.xyqb.util.StringUtils;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.io.Serializable;
import java.util.Objects;
/** /**
* Created with IntelliJ IDEA. * Created with IntelliJ IDEA.
......
...@@ -4,14 +4,11 @@ package cn.quantgroup.xyqb.entity; ...@@ -4,14 +4,11 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity; import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter; import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import cn.quantgroup.xyqb.util.StringUtils; import cn.quantgroup.xyqb.util.StringUtils;
import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/** /**
* Created with IntelliJ IDEA. * Created with IntelliJ IDEA.
......
...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.entity; ...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity; import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity;
import java.io.Serializable;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.io.Serializable;
/** /**
* Created with IntelliJ IDEA. * Created with IntelliJ IDEA.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter; import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
/** /**
* Created by Miraculous on 15/7/4. * Created by Miraculous on 15/7/4.
*/ */
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Created by 11 on 2017/3/22. * Created by 11 on 2017/3/22.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.model.AuthPattern; import cn.quantgroup.xyqb.model.AuthPattern;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data; import lombok.Data;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.sql.Timestamp;
/** /**
* @author xufei on 2018/1/5. * @author xufei on 2018/1/5.
*/ */
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/** /**
* Created by Administrator on 2017/5/16. * Created by Administrator on 2017/5/16.
*/ */
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import lombok.*;
import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/** /**
* 销户记录 * 销户记录
......
...@@ -3,15 +3,16 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,15 +3,16 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.motan.retbean.XUserDetail; import cn.quantgroup.motan.retbean.XUserDetail;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
import java.io.Serializable; import lombok.Getter;
import java.util.Optional; import lombok.Setter;
import lombok.ToString;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import lombok.Getter; import java.io.Serializable;
import lombok.Setter; import java.util.Optional;
import lombok.ToString;
/** /**
* Created by FrankChow on 15/7/8. * Created by FrankChow on 15/7/8.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
@Data @Data
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.motan.retbean.XUserExtInfo; import cn.quantgroup.motan.retbean.XUserExtInfo;
import cn.quantgroup.user.enums.EducationEnum; import cn.quantgroup.user.enums.*;
import cn.quantgroup.user.enums.IncomeEnum; import lombok.Data;
import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.MaritalStatus;
import cn.quantgroup.user.enums.OccupationEnum;
import java.io.Serializable;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.util.HashUtil; import cn.quantgroup.xyqb.util.HashUtil;
import java.io.Serializable; import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
import lombok.NoArgsConstructor;
@Data @Data
@Entity @Entity
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data;
@Data @Data
@Entity @Entity
......
...@@ -3,10 +3,10 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,10 +3,10 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.enums.ApplySource; import cn.quantgroup.xyqb.entity.enums.ApplySource;
import cn.quantgroup.xyqb.entity.enums.Reason; import cn.quantgroup.xyqb.entity.enums.Reason;
import cn.quantgroup.xyqb.util.encrypt.CryptConverter; import cn.quantgroup.xyqb.util.encrypt.CryptConverter;
import javax.persistence.Convert;
import lombok.Data; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.persistence.Table;
import javax.persistence.Transient;
import lombok.Data;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
...@@ -3,16 +3,13 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,16 +3,13 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.user.enums.MaritalStatus; import cn.quantgroup.user.enums.MaritalStatus;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.io.Serializable; import lombok.*;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import lombok.Data; import java.io.Serializable;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Data @Data
@Entity @Entity
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import javax.persistence.*;
import java.io.Serializable;
/** /**
* Created by Miraculous on 15/10/29. * Created by Miraculous on 15/10/29.
*/ */
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import java.io.Serializable; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
/** /**
* 微信公众号和企业微信关注情况表 * 微信公众号和企业微信关注情况表
......
...@@ -2,14 +2,15 @@ package cn.quantgroup.xyqb.entity; ...@@ -2,14 +2,15 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter; import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import cn.quantgroup.xyqb.util.EmojiUtil; import cn.quantgroup.xyqb.util.EmojiUtil;
import java.io.Serializable; import lombok.Data;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Convert; import javax.persistence.Convert;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import lombok.Data; import java.io.Serializable;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
/** /**
* Created by 11 on 2017/1/17. * Created by 11 on 2017/1/17.
......
package cn.quantgroup.xyqb.entity.baseEntity; package cn.quantgroup.xyqb.entity.baseEntity;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import javax.persistence.Version;
import javax.validation.constraints.NotNull;
import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import javax.persistence.Version;
import javax.validation.constraints.NotNull;
import java.util.Date;
@EntityListeners({AuditingEntityListener.class}) @EntityListeners({AuditingEntityListener.class})
@MappedSuperclass @MappedSuperclass
public abstract class OptimisticEntity implements PersistentKey, BasicEntity { public abstract class OptimisticEntity implements PersistentKey, BasicEntity {
......
...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.entity.converter; ...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.entity.converter;
import cn.quantgroup.security.AESEncryption; import cn.quantgroup.security.AESEncryption;
import cn.quantgroup.security.CipherUtil; import cn.quantgroup.security.CipherUtil;
import cn.quantgroup.xyqb.util.ApplicationContextHolder; import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
/** /**
* 通用字段加解密转换器 * 通用字段加解密转换器
* *
......
package cn.quantgroup.xyqb.entity.middleoffice; package cn.quantgroup.xyqb.entity.middleoffice;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/** /**
* @author :dongjianhua * @author :dongjianhua
* @date :Created in 2020/5/27 16:02 * @date :Created in 2020/5/27 16:02
......
...@@ -4,17 +4,17 @@ import cn.quantgroup.xyqb.entity.User; ...@@ -4,17 +4,17 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
/** /**
* 用户注册发送给合同中心事件监听 * 用户注册发送给合同中心事件监听
*/ */
......
...@@ -5,10 +5,11 @@ import cn.quantgroup.xyqb.entity.User; ...@@ -5,10 +5,11 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister; import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.model.UserRegisterParam; import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService; import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import java.util.Objects;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import java.util.Objects;
//@Component //@Component
public class BtRegisteredEventListener implements ApplicationListener<RegisterEvent> { public class BtRegisteredEventListener implements ApplicationListener<RegisterEvent> {
......
...@@ -5,15 +5,16 @@ import cn.quantgroup.xyqb.model.session.SessionStruct; ...@@ -5,15 +5,16 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue; import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Component @Component
public class CacheEvictPhoneNoUpdateEventListener implements ApplicationListener<PhoneNoUpdateEvent> { public class CacheEvictPhoneNoUpdateEventListener implements ApplicationListener<PhoneNoUpdateEvent> {
......
...@@ -8,12 +8,13 @@ import cn.quantgroup.xyqb.model.UserRegisterParam; ...@@ -8,12 +8,13 @@ import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Slf4j @Slf4j
@Component @Component
public class DetailRegisteredEventListener implements ApplicationListener<RegisterEvent> { public class DetailRegisteredEventListener implements ApplicationListener<RegisterEvent> {
......
...@@ -6,13 +6,14 @@ import cn.quantgroup.xyqb.model.UserRegisterParam; ...@@ -6,13 +6,14 @@ import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.repository.IUserHashMappingRepository; import cn.quantgroup.xyqb.repository.IUserHashMappingRepository;
import cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository; import cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import javax.annotation.Resource;
import javax.persistence.PersistenceException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import javax.annotation.Resource;
import javax.persistence.PersistenceException;
//@Component //@Component
@Slf4j @Slf4j
public class PhoneHashEventListener implements ApplicationListener<RegisterEvent> { public class PhoneHashEventListener implements ApplicationListener<RegisterEvent> {
......
...@@ -4,12 +4,13 @@ import cn.quantgroup.xyqb.entity.UserDetail; ...@@ -4,12 +4,13 @@ import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserHashMapping; import cn.quantgroup.xyqb.entity.UserHashMapping;
import cn.quantgroup.xyqb.repository.IUserHashMappingRepository; import cn.quantgroup.xyqb.repository.IUserHashMappingRepository;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import javax.persistence.PersistenceException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.persistence.PersistenceException;
/** /**
* userDetail 更新时, 保存 hashMapping 数据 * userDetail 更新时, 保存 hashMapping 数据
......
...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.event; ...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.event;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics; import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.SensorsAnalytics; import com.sensorsdata.analytics.javasdk.SensorsAnalytics;
import com.sensorsdata.analytics.javasdk.consumer.BatchConsumer; import com.sensorsdata.analytics.javasdk.consumer.BatchConsumer;
import java.io.IOException;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.io.IOException;
/** /**
* @author :hongzhi * @author :hongzhi
*/ */
......
...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.event; ...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.event;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.WechatUserInfo; import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Objects;
@Slf4j @Slf4j
@Component @Component
public class WechatPhoneNoUpdateEventListener implements ApplicationListener<PhoneNoUpdateEvent> { public class WechatPhoneNoUpdateEventListener implements ApplicationListener<PhoneNoUpdateEvent> {
......
package cn.quantgroup.xyqb.filter; package cn.quantgroup.xyqb.filter;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
* 支持跨域 * 支持跨域
......
...@@ -6,22 +6,18 @@ import cn.quantgroup.xyqb.model.session.SessionStruct; ...@@ -6,22 +6,18 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Objects;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpStatus; import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher; import org.springframework.util.AntPathMatcher;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Objects;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import java.io.Serializable;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by ag on 16/3/16. * Created by ag on 16/3/16.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import lombok.*;
import java.io.Serializable; import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/** /**
* @author mengfan.feng * @author mengfan.feng
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import java.security.Principal;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.security.Principal;
/** /**
* Created by Miraculous on 15/7/9. * Created by Miraculous on 15/7/9.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by xuran on 2017/8/1. * Created by xuran on 2017/8/1.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import lombok.Data;
/** /**
* Created by zenglibin on 15/12/29. * Created by zenglibin on 15/12/29.
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import lombok.*;
import java.io.Serializable; import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/** /**
* @author mengfan.feng * @author mengfan.feng
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import lombok.Data;
/** /**
* Created by xuran on 2017/8/1. * Created by xuran on 2017/8/1.
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* 用户综合信息数据模型 * 用户综合信息数据模型
* *
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import java.io.Serializable;
/** /**
* Created by 11 on 2016/12/20. * Created by 11 on 2016/12/20.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.UserDisableRecord; import cn.quantgroup.xyqb.entity.UserDisableRecord;
import java.time.format.DateTimeFormatter;
import lombok.Data; import lombok.Data;
import java.time.format.DateTimeFormatter;
/** /**
* 只是为了兼容时间格式化问题,后续用户中心升级后,该model不需要 * 只是为了兼容时间格式化问题,后续用户中心升级后,该model不需要
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.user.enums.EducationEnum; import cn.quantgroup.user.enums.*;
import cn.quantgroup.user.enums.IncomeEnum;
import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.MaritalStatus;
import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import lombok.Data; import lombok.Data;
......
...@@ -2,9 +2,10 @@ package cn.quantgroup.xyqb.model; ...@@ -2,9 +2,10 @@ package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Optional; import java.util.Optional;
import lombok.Data;
/** /**
* user完整数据模型,包括user,user_detail * user完整数据模型,包括user,user_detail
......
...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.model; ...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.io.Serializable;
/** /**
* Created by xuran on 2017/7/5. * Created by xuran on 2017/7/5.
*/ */
......
...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.model; ...@@ -2,11 +2,12 @@ package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import java.io.Serializable;
import java.util.Optional;
import lombok.Data; import lombok.Data;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.io.Serializable;
import java.util.Optional;
/** /**
* Created by Miraculous on 15/12/29. * Created by Miraculous on 15/12/29.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by zenglibin on 2017/06/14. * Created by zenglibin on 2017/06/14.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by xuran on 2017/9/7. * Created by xuran on 2017/9/7.
*/ */
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.util.List;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Objects; import java.util.Objects;
import lombok.Data;
/** /**
* Created by 11 on 2016/12/20. * Created by 11 on 2016/12/20.
......
package cn.quantgroup.xyqb.model.session; package cn.quantgroup.xyqb.model.session;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* Created by 11 on 2016/12/28. * Created by 11 on 2016/12/28.
......
...@@ -4,11 +4,12 @@ import cn.quantgroup.xyqb.config.http.Timestamp2LongConverter; ...@@ -4,11 +4,12 @@ import cn.quantgroup.xyqb.config.http.Timestamp2LongConverter;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.LoginProperties; import cn.quantgroup.xyqb.model.LoginProperties;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import java.sql.Timestamp;
import java.util.Map;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.sql.Timestamp;
import java.util.Map;
/** /**
* Created by Miraculous on 2016/12/28. * Created by Miraculous on 2016/12/28.
*/ */
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* Created by 11 on 2017/1/17. * Created by 11 on 2017/1/17.
* 微信获取access_token接口的返回值 * 微信获取access_token接口的返回值
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
@Data @Data
public class ContactInfoResponse implements Serializable { public class ContactInfoResponse implements Serializable {
private static final long serialVersionUID = -1L; private static final long serialVersionUID = -1L;
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* *
* 获取部门下成员的客户信息 * 获取部门下成员的客户信息
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import lombok.Data;
/** /**
* *
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* *
* 获取部门下成员信息 * 获取部门下成员信息
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import lombok.Data;
/** /**
* *
......
package cn.quantgroup.xyqb.model.webchat; package cn.quantgroup.xyqb.model.webchat;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import lombok.Data;
@Data @Data
public class WechatUserListResponse implements Serializable { public class WechatUserListResponse implements Serializable {
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.GeetestLogEntity; import cn.quantgroup.xyqb.entity.GeetestLogEntity;
import java.sql.Timestamp;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
*/ */
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.ProductLoginEntity; import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* Li Jianhua * Li Jianhua
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.SmsTemplateEntity; import cn.quantgroup.xyqb.entity.SmsTemplateEntity;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Optional;
/** /**
* Created by hechao on 2020/2/17. * Created by hechao on 2020/2/17.
*/ */
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserAttached; import cn.quantgroup.xyqb.entity.UserAttached;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* Created by 11 on 2017/3/22. * Created by 11 on 2017/3/22.
*/ */
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserDeregisterRecord; import cn.quantgroup.xyqb.entity.UserDeregisterRecord;
import java.util.Date;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/** /**
* 销户 Repository * 销户 Repository
* *
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import java.util.List;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
...@@ -9,6 +8,8 @@ import org.springframework.data.jpa.repository.Modifying; ...@@ -9,6 +8,8 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* @author mengfan.feng * @author mengfan.feng
* @time 2015-09-11 11:22 * @time 2015-09-11 11:22
......
...@@ -2,9 +2,10 @@ package cn.quantgroup.xyqb.repository; ...@@ -2,9 +2,10 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.user.enums.OccupationEnum; import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.List; import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserQueryLog; import cn.quantgroup.xyqb.entity.UserQueryLog;
import java.util.Date;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/** /**
* Created by 11 on 2016/12/30. * Created by 11 on 2016/12/30.
*/ */
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* Created by Miraculous on 15/7/4. * Created by Miraculous on 15/7/4.
......
...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.repository; ...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.WechatInfoRelation; import cn.quantgroup.xyqb.entity.WechatInfoRelation;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface IWeChatInfoRelationRepository extends JpaRepository<WechatInfoRelation, Long> { public interface IWeChatInfoRelationRepository extends JpaRepository<WechatInfoRelation, Long> {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
......
package cn.quantgroup.xyqb.repository; package cn.quantgroup.xyqb.repository;
import static org.springframework.transaction.annotation.Propagation.MANDATORY;
import cn.quantgroup.xyqb.entity.WechatUserInfo; import cn.quantgroup.xyqb.entity.WechatUserInfo;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import static org.springframework.transaction.annotation.Propagation.MANDATORY;
/** /**
* Created by 11 on 2017/1/18. * Created by 11 on 2017/1/18.
* modify by djh 20200527 http://confluence.quantgroup.cn/pages/viewpage.action?pageId=30657427 * modify by djh 20200527 http://confluence.quantgroup.cn/pages/viewpage.action?pageId=30657427
......
package cn.quantgroup.xyqb.risk.entity;
import cn.quantgroup.xyqb.entity.enums.Device;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import lombok.Data;
import lombok.ToString;
/**
* 统计黑名单
*/
@NamedNativeQueries(
{
@NamedNativeQuery(
name = "LoginInfo.countByPhoneAndDevice",
query = "select count(DISTINCT device_id) num ,device from login_info where phone_no=?1 and device =?2 and device_id != ?3 and created_at > DATE_ADD(CURRENT_TIMESTAMP(),INTERVAL -90 DAY)",
resultClass = CountDevice.class
)
}
)
@Data
@ToString
@Entity
public class CountDevice {
@Id
@Column(name = "device")
private Device device;
@Column(name = "num")
private Long num;
}
package cn.quantgroup.xyqb.risk.entity;
import cn.quantgroup.xyqb.entity.BaseEntity;
import cn.quantgroup.xyqb.entity.enums.Device;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.Data;
/**
* @author :dongjianhua
* @date :Created in 2020/11/23 8:26
* @description:用户登录信息表
* @modified By:
* @version: 1.0
*/
@Data
@Entity
@Table(name = "login_info")
public class LoginInfo extends BaseEntity {
@Column(name = "phone_no")
private String phoneNo;
@Column(name = "device_id")
private String deviceId;
@Column(name = "device")
private Device device;
@Column(name = "ip")
private String ip;
@Column(name = "is_login")
private Boolean isLogin;
@Column(name = "login_fail_msg")
private String loginFailMsg;
@Column(name = "is_pass")
private Boolean isPass;
@Column(name = "hit_rule")
private int hitRule;
@Column(name = "threshold")
private int threshold;
@Column(name = "value")
private int value;
/**
* CREATE TABLE `login_info` (
* `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
* `phone_no` varchar(15) NOT NULL COMMENT '手机号',
* `device_id` varchar(50) NOT NULL COMMENT '设备ID',
* `device` int(2) DEFAULT NULL COMMENT '设备类型(0安卓,1IOS)',
* `ip` varchar(30) DEFAULT NULL COMMENT '登录的IP',
* `is_login` int(1) DEFAULT '1' COMMENT '是否登录成功',
* `is_pass` int(1) DEFAULT '1' COMMENT '是否通过风控策略',
* `hit_rule` int(1) DEFAULT '0' COMMENT '命中的规则',
* `threshold` int(3) DEFAULT NULL COMMENT '阈值',
* `value` int(10) DEFAULT '0' COMMENT '实际的值',
* `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(第一次登陆时间)',
* `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
* PRIMARY KEY (`id`),
* KEY `deviceid_idx` (`device_id`) USING BTREE,
* KEY `create_at_idx` (`created_at`) USING BTREE,
* KEY `updated_at_idx` (`updated_at`) USING BTREE,
* KEY `phone_idx` (`phone_no`) USING BTREE
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='登录信息表';
*/
}
package cn.quantgroup.xyqb.risk.entity;
import cn.quantgroup.xyqb.entity.BaseEntity;
import cn.quantgroup.xyqb.entity.enums.KeyType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.Data;
/**
* @author :dongjianhua
* @date :Created in 2020/11/23 11:30
* @description:白名单
* @modified By:
* @version:
*/
@Entity
@Table(name = "white_list")
@Data
public class WhiteList extends BaseEntity {
@Column(name = "[key]")
private String key;
@Column(name = "key_type")
private KeyType type;
@Column(name = "enable")
private Boolean enable;
}
package cn.quantgroup.xyqb.risk.repository;
import cn.quantgroup.xyqb.risk.entity.CountDevice;
import cn.quantgroup.xyqb.risk.entity.LoginInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.scheduling.annotation.Async;
public interface LoginInfoRepository extends JpaRepository<LoginInfo, Long> {
/**
* 根据设备ID看有多少手机号
*
* @param deviceId 设备维度策略
* @return
*/
@Query(value = "select count(distinct phone_no) from login_info where device_id=?1 and phone_no != ?2 and created_at> DATE_ADD(CURRENT_TIMESTAMP(),INTERVAL -90 DAY)", nativeQuery = true)
Long countByDeviceId(String deviceId, String phone);
/**
* 账号维度策略
*
* @param phone
* @return
*/
// @Query(value = "select count(1) ,device from login_info where phone_no=?1 and last_login_at> DATE_ADD(CURRENT_TIMESTAMP(),INTERVAL -90 DAY group by device", nativeQuery = true)
CountDevice countByPhoneAndDevice(String phone, int device,String deviceId);
@Async
@Override
<S extends LoginInfo> S save(S s);
}
package cn.quantgroup.xyqb.risk.repository;
import cn.quantgroup.xyqb.entity.enums.KeyType;
import cn.quantgroup.xyqb.risk.entity.WhiteList;
import org.springframework.data.jpa.repository.JpaRepository;
public interface WhiteListRepository extends JpaRepository<WhiteList, Long> {
Long countByKeyEqualsAndTypeEqualsAndEnableIsTrue(String key, KeyType type);
}
package cn.quantgroup.xyqb.security; package cn.quantgroup.xyqb.security;
import java.security.Principal;
import javax.security.auth.Subject; import javax.security.auth.Subject;
import java.security.Principal;
/** /**
* Created by Administrator on 2021/7/1 0001. * Created by Administrator on 2021/7/1 0001.
......
package cn.quantgroup.xyqb.security; package cn.quantgroup.xyqb.security;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* Created by Administrator on 2021/6/25 0025. * Created by Administrator on 2021/6/25 0025.
......
package cn.quantgroup.xyqb.security; package cn.quantgroup.xyqb.security;
import static cn.quantgroup.xyqb.security.SecurityConstant.DEFAULT_DEVICE_ID;
import cn.quantgroup.xyqb.entity.enums.Device; import cn.quantgroup.xyqb.entity.enums.Device;
import cn.quantgroup.xyqb.exception.DataException; import cn.quantgroup.xyqb.exception.DataException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import static cn.quantgroup.xyqb.security.SecurityConstant.DEFAULT_DEVICE_ID;
/** /**
* Created by Administrator on 2021/6/30 0030. * Created by Administrator on 2021/6/30 0030.
*/ */
......
package cn.quantgroup.xyqb.security; package cn.quantgroup.xyqb.security;
import javax.crypto.Cipher;
import java.security.KeyFactory; import java.security.KeyFactory;
import java.security.PrivateKey; import java.security.PrivateKey;
import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64; import java.util.Base64;
import javax.crypto.Cipher;
/** /**
* Created by Administrator on 2021/7/5 0005. * Created by Administrator on 2021/7/5 0005.
......
package cn.quantgroup.xyqb.service;
import static cn.quantgroup.xyqb.security.SecurityConstant.DEFAULT_DEVICE_ID;
import cn.quantgroup.xyqb.entity.enums.Device;
import cn.quantgroup.xyqb.model.LoginRefuseResult;
import cn.quantgroup.xyqb.risk.repository.LoginInfoRepository;
import cn.quantgroup.xyqb.risk.repository.WhiteListRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
* Created by Administrator on 2021/7/1 0001.
*/
@Service
public class LoginInfoService {
private static final Logger logger = LoggerFactory.getLogger(LoginInfoService.class);
@Autowired
private LoginInfoRepository loginInfoRepository;
@Autowired
private WhiteListRepository whiteListRepository;
private LoginRefuseResult verification(String deviceId, String phone, Device device) {
/**
* 默认code不需要
*/
if (DEFAULT_DEVICE_ID.equals(deviceId)) {
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
/**
* 如果没传手机也放过吧
*/
if (StringUtils.isEmpty(phone)) {
return LoginRefuseResult.builder()
.isPass(Boolean.TRUE).build();
}
// try {
// /**
// * 阈值
// */
// Long threshold = DEVICE_REFUSE_STRATEGY.get(device);
//
// if (null == threshold) {
// log.warn("非安卓或者IOS设备登录没有策略就放过phone:{},device:{}", phone, device);
// return LoginRefuseResult.builder()
// .isPass(Boolean.TRUE).build();
// }
//
// Long deviceNum = loginInfoRepository.countByDeviceId(deviceId, phone);
//
// if (DEVICE_REFUSE_COUNT.compareTo(deviceNum) <= 0) {
// if (!isWhite(deviceId, KeyType.DEVICEID)) {
// log.warn("此设备登录命中拒绝策略deviceId:{}超过{}个拒绝登录", deviceId, deviceNum);
// return LoginRefuseResult.builder()
// .isPass(Boolean.FALSE)
// .rule(RISK_STRATEGY[0])
// .threshold(DEVICE_REFUSE_COUNT.intValue())
// .value(deviceNum.intValue())
// .build();
// }
//
// }
//
// CountDevice countDevice = loginInfoRepository.countByPhoneAndDevice(phone, device.ordinal(), deviceId);
//
// if (null == countDevice) {
// return LoginRefuseResult.builder()
// .isPass(Boolean.TRUE)
// .build();
// }
// /**
// * 实际的数量
// */
// Long val = countDevice.getNum();
//
// if (threshold.compareTo(val) <= 0) {
// if (!isWhite(phone, KeyType.PHONE)) {
// log.warn("此账户登录命中拒绝策略并且没有白名单phone:{},device:{}", phone, device);
// return LoginRefuseResult.builder()
// .isPass(Boolean.FALSE)
// .rule(RISK_STRATEGY[1])
// .threshold(threshold.intValue())
// .value(Long.valueOf(val).intValue())
// .build();
// }
// log.warn("此账户登录命中拒绝策略存在白名单phone:{}", phone);
// }
// } catch (Exception e) {
// log.error("用户登录策略校验异常了", e);
// }
// return LoginRefuseResult.builder()
// .isPass(Boolean.TRUE)
// .build();
return null;
}
}
package cn.quantgroup.xyqb.service.api; package cn.quantgroup.xyqb.service.api;
import cn.quantgroup.xyqb.model.UserFullInfo; import cn.quantgroup.xyqb.model.UserFullInfo;
import java.util.Optional; import java.util.Optional;
/** /**
......
...@@ -6,10 +6,11 @@ import cn.quantgroup.xyqb.model.UserFullInfo; ...@@ -6,10 +6,11 @@ import cn.quantgroup.xyqb.model.UserFullInfo;
import cn.quantgroup.xyqb.service.api.IUserApiService; import cn.quantgroup.xyqb.service.api.IUserApiService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional;
/** /**
* Created by FrankChow on 15/12/16. * Created by FrankChow on 15/12/16.
*/ */
......
package cn.quantgroup.xyqb.service.auth; package cn.quantgroup.xyqb.service.auth;
import cn.quantgroup.xyqb.model.IdCardInfo; import cn.quantgroup.xyqb.model.IdCardInfo;
import java.text.ParseException; import java.text.ParseException;
/** /**
......
...@@ -5,19 +5,16 @@ import cn.quantgroup.xyqb.exception.IdCardException; ...@@ -5,19 +5,16 @@ import cn.quantgroup.xyqb.exception.IdCardException;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.model.IdCardInfo; import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.*;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
/** /**
* Created by Miraculous on 15/7/10. * Created by Miraculous on 15/7/10.
......
...@@ -7,13 +7,14 @@ import cn.quantgroup.xyqb.repository.IUserAuthorizedRepository; ...@@ -7,13 +7,14 @@ import cn.quantgroup.xyqb.repository.IUserAuthorizedRepository;
import cn.quantgroup.xyqb.repository.IUserRepository; import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService; import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService;
import java.text.ParseException;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.Objects;
/** /**
* @author xufei on 2018/1/5. * @author xufei on 2018/1/5.
*/ */
......
...@@ -2,6 +2,11 @@ package cn.quantgroup.xyqb.service.captcha; ...@@ -2,6 +2,11 @@ package cn.quantgroup.xyqb.service.captcha;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpStatus;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
...@@ -11,10 +16,6 @@ import java.util.Date; ...@@ -11,10 +16,6 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpStatus;
import org.json.JSONException;
import org.json.JSONObject;
/** /**
* Java SDK * Java SDK
......
package cn.quantgroup.xyqb.service.captcha; package cn.quantgroup.xyqb.service.captcha;
import cn.quantgroup.xyqb.model.ClientType; import cn.quantgroup.xyqb.model.ClientType;
import java.util.Map; import java.util.Map;
/** /**
......
...@@ -4,13 +4,14 @@ import cn.quantgroup.xyqb.Constants; ...@@ -4,13 +4,14 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.model.ClientType; import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.service.captcha.GeetestLib; import cn.quantgroup.xyqb.service.captcha.GeetestLib;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService; import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
*/ */
......
...@@ -5,15 +5,16 @@ import cn.quantgroup.xyqb.model.ClientType; ...@@ -5,15 +5,16 @@ import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.model.SettingType; import cn.quantgroup.xyqb.model.SettingType;
import cn.quantgroup.xyqb.repository.IGeetestLogRepository; import cn.quantgroup.xyqb.repository.IGeetestLogRepository;
import cn.quantgroup.xyqb.service.captcha.IGeetestLogService; import cn.quantgroup.xyqb.service.captcha.IGeetestLogService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
......
...@@ -4,6 +4,14 @@ import cn.quantgroup.xyqb.Constants; ...@@ -4,6 +4,14 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService; import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -11,13 +19,6 @@ import java.util.HashMap; ...@@ -11,13 +19,6 @@ import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import javax.imageio.ImageIO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
/** /**
* @author xufei on 2018/1/30. * @author xufei on 2018/1/30.
......
...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.entity.MerchantConfig; ...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.entity.MerchantConfig;
import cn.quantgroup.xyqb.repository.IMerchantConfigRepository; import cn.quantgroup.xyqb.repository.IMerchantConfigRepository;
import cn.quantgroup.xyqb.repository.IMerchantRepository; import cn.quantgroup.xyqb.repository.IMerchantRepository;
import cn.quantgroup.xyqb.service.merchant.IMerchantService; import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.PostConstruct;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* Created by Miraculous on 2017/1/3. * Created by Miraculous on 2017/1/3.
*/ */
......
package cn.quantgroup.xyqb.service.middleoffice.applet.impl; package cn.quantgroup.xyqb.service.middleoffice.applet.impl;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_FREEZE_ERROR;
import cn.quantgroup.xyqb.controller.middleoffice.login.ILoginModule; import cn.quantgroup.xyqb.controller.middleoffice.login.ILoginModule;
import cn.quantgroup.xyqb.controller.middleoffice.login.LoginVo; import cn.quantgroup.xyqb.controller.middleoffice.login.LoginVo;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
...@@ -20,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_FREEZE_ERROR;
/** /**
* @author :dongjianhua * @author :dongjianhua
* @date :Created in 2020/5/27 17:27 * @date :Created in 2020/5/27 17:27
......
...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.service.mq.impl; ...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.service.mq.impl;
import cn.quantgroup.xyqb.service.mq.IRegisterMqService; import cn.quantgroup.xyqb.service.mq.IRegisterMqService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.io.Serializable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Queue; import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
...@@ -11,6 +10,8 @@ import org.springframework.beans.factory.annotation.Qualifier; ...@@ -11,6 +10,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.Serializable;
/** /**
* Created by xuran on 2017/9/7. * Created by xuran on 2017/9/7.
*/ */
......
...@@ -3,13 +3,14 @@ package cn.quantgroup.xyqb.service.mq.impl; ...@@ -3,13 +3,14 @@ package cn.quantgroup.xyqb.service.mq.impl;
import cn.quantgroup.xyqb.model.UserStatistics; import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.service.mq.IVestService; import cn.quantgroup.xyqb.service.mq.IVestService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/** /**
* Created by xuran on 2017/6/21. * Created by xuran on 2017/6/21.
* 用户统计信息 * 用户统计信息
......
package cn.quantgroup.xyqb.service.page.impl; package cn.quantgroup.xyqb.service.page.impl;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
...@@ -9,13 +8,13 @@ import cn.quantgroup.xyqb.service.page.IPageService; ...@@ -9,13 +8,13 @@ import cn.quantgroup.xyqb.service.page.IPageService;
import cn.quantgroup.xyqb.service.page.bean.BasePageType; import cn.quantgroup.xyqb.service.page.bean.BasePageType;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;
/** /**
* Created by Miraculous on 2017/1/3. * Created by Miraculous on 2017/1/3.
*/ */
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.register; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.register;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDeregisterRecord; import cn.quantgroup.xyqb.entity.UserDeregisterRecord;
import java.util.List; import java.util.List;
/** /**
......
package cn.quantgroup.xyqb.service.register; package cn.quantgroup.xyqb.service.register;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.util.List;
/** /**
* @author liqing * @author liqing
......
...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.entity.UserDeregisterRecord; ...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.entity.UserDeregisterRecord;
import cn.quantgroup.xyqb.repository.IUserDeregisterRecordRepository; import cn.quantgroup.xyqb.repository.IUserDeregisterRecordRepository;
import cn.quantgroup.xyqb.service.register.IUserDeregisterService; import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/** /**
* 销户服务实现 * 销户服务实现
* *
......
package cn.quantgroup.xyqb.service.register.impl; package cn.quantgroup.xyqb.service.register.impl;
import static cn.quantgroup.xyqb.Constants.DELETE_USER_AGAIN_REGISTER_INTERVAL;
import cn.quantgroup.user.enums.RecordType; import cn.quantgroup.user.enums.RecordType;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
...@@ -18,19 +16,17 @@ import cn.quantgroup.xyqb.util.DateUtils; ...@@ -18,19 +16,17 @@ import cn.quantgroup.xyqb.util.DateUtils;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import static cn.quantgroup.xyqb.Constants.DELETE_USER_AGAIN_REGISTER_INTERVAL;
/** /**
* @author liqing * @author liqing
* @date 2017/12/4 0004 * @date 2017/12/4 0004
......
package cn.quantgroup.xyqb.service.risk;
import cn.quantgroup.xyqb.entity.enums.KeyType;
public interface LoginRiskService {
void addWhiteList(String val, KeyType keyType);
}
package cn.quantgroup.xyqb.service.risk.impl;
import cn.quantgroup.xyqb.entity.enums.KeyType;
import cn.quantgroup.xyqb.risk.entity.WhiteList;
import cn.quantgroup.xyqb.risk.repository.WhiteListRepository;
import cn.quantgroup.xyqb.service.risk.LoginRiskService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author :dongjianhua
* @date :Created in 2020/12/14 15:07
* @description:登录风控实现类
* @modified By:
* @version: 1.0
*/
@Slf4j
@Service
public class LoginRiskServiceImpl implements LoginRiskService {
@Resource
private WhiteListRepository whiteListRepository;
@Override
public void addWhiteList(String val, KeyType keyType) {
log.info("添加用户白名单val:{},keyType:{}", val, keyType);
Long count = whiteListRepository.countByKeyEqualsAndTypeEqualsAndEnableIsTrue(val, keyType);
if (count > 0) {
log.warn("用户白名单已经存在val:{},keyType:{}", val, keyType);
return;
}
WhiteList list = new WhiteList();
list.setEnable(Boolean.TRUE);
list.setKey(val);
list.setType(keyType);
whiteListRepository.save(list);
}
}
...@@ -5,6 +5,7 @@ import cn.quantgroup.xyqb.model.AuthBean; ...@@ -5,6 +5,7 @@ import cn.quantgroup.xyqb.model.AuthBean;
import cn.quantgroup.xyqb.model.LoginProperties; import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue; import cn.quantgroup.xyqb.model.session.SessionValue;
import java.util.List; import java.util.List;
/** /**
......
package cn.quantgroup.xyqb.service.session.aspect; package cn.quantgroup.xyqb.service.session.aspect;
import java.lang.annotation.Documented; import java.lang.annotation.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* 用户的白条注册信息填充标记 * 用户的白条注册信息填充标记
......
...@@ -14,17 +14,6 @@ import cn.quantgroup.xyqb.service.user.ILoginRecordService; ...@@ -14,17 +14,6 @@ import cn.quantgroup.xyqb.service.user.ILoginRecordService;
import cn.quantgroup.xyqb.util.MqUtils; import cn.quantgroup.xyqb.util.MqUtils;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -36,6 +25,11 @@ import org.springframework.stereotype.Service; ...@@ -36,6 +25,11 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.*;
import java.util.concurrent.TimeUnit;
/** /**
* session创建和续期 * session创建和续期
* *
......
...@@ -5,7 +5,6 @@ import cn.quantgroup.sms.SmsSender; ...@@ -5,7 +5,6 @@ import cn.quantgroup.sms.SmsSender;
import cn.quantgroup.tech.util.TechEnvironment; import cn.quantgroup.tech.util.TechEnvironment;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import java.util.Collections;
import lombok.Synchronized; import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -15,6 +14,8 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -15,6 +14,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections;
/** /**
* @author mengfan.feng * @author mengfan.feng
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.user; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity; import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity;
import cn.quantgroup.xyqb.entity.ProductLoginEntity; import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import java.util.List; import java.util.List;
/** /**
......
package cn.quantgroup.xyqb.service.user; package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.ProductLoginEntity; import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import java.util.List; import java.util.List;
/** /**
......
...@@ -5,17 +5,14 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -5,17 +5,14 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.repository.ISmsTemplateRepository; import cn.quantgroup.xyqb.repository.ISmsTemplateRepository;
import cn.quantgroup.xyqb.util.GcodeUtils; import cn.quantgroup.xyqb.util.GcodeUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.inject.Inject;
import java.util.*;
/** /**
* Created by hechao on 2020/2/17. * Created by hechao on 2020/2/17.
*/ */
......
...@@ -4,6 +4,7 @@ import cn.quantgroup.xyqb.entity.CustomerInfoEntity; ...@@ -4,6 +4,7 @@ import cn.quantgroup.xyqb.entity.CustomerInfoEntity;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.UserBrief; import cn.quantgroup.xyqb.model.UserBrief;
import java.util.List; import java.util.List;
/** /**
......
...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.service.user; ...@@ -2,10 +2,11 @@ package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.service.user.vo.UserDetailVO; import cn.quantgroup.xyqb.service.user.vo.UserDetailVO;
import java.util.List;
import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import java.util.List;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
package cn.quantgroup.xyqb.service.user; package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.List; import java.util.List;
......
package cn.quantgroup.xyqb.service.user; package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.UserQueryLog; import cn.quantgroup.xyqb.entity.UserQueryLog;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
......
package cn.quantgroup.xyqb.service.user; package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.UserAttached; import cn.quantgroup.xyqb.entity.UserAttached;
import java.util.List; import java.util.List;
/** /**
......
...@@ -7,6 +7,15 @@ import cn.quantgroup.xyqb.service.user.CleanDataService; ...@@ -7,6 +7,15 @@ import cn.quantgroup.xyqb.service.user.CleanDataService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import com.google.common.base.Stopwatch; import com.google.common.base.Stopwatch;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -15,14 +24,6 @@ import java.util.Date; ...@@ -15,14 +24,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
/** /**
* @author :dongjianhua * @author :dongjianhua
......
...@@ -6,14 +6,15 @@ import cn.quantgroup.xyqb.service.user.ILkbUserService; ...@@ -6,14 +6,15 @@ import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.util.JsonUtil; import cn.quantgroup.xyqb.util.JsonUtil;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import java.util.Map;
import java.util.Optional;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.Optional;
/** /**
* @author mengfan.feng * @author mengfan.feng
......
...@@ -7,8 +7,6 @@ import cn.quantgroup.xyqb.service.user.ILockIpv4Service; ...@@ -7,8 +7,6 @@ import cn.quantgroup.xyqb.service.user.ILockIpv4Service;
import cn.quantgroup.xyqb.util.DateUtils; import cn.quantgroup.xyqb.util.DateUtils;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -16,6 +14,9 @@ import org.springframework.beans.factory.annotation.Qualifier; ...@@ -16,6 +14,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
/** /**
* IPV4锁机制Service实现 * IPV4锁机制Service实现
* *
......
...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.controller.IBaseController; ...@@ -5,13 +5,14 @@ import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.LoginRecord; import cn.quantgroup.xyqb.entity.LoginRecord;
import cn.quantgroup.xyqb.repository.ILoginRecordRepository; import cn.quantgroup.xyqb.repository.ILoginRecordRepository;
import cn.quantgroup.xyqb.service.user.ILoginRecordService; import cn.quantgroup.xyqb.service.user.ILoginRecordService;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
*/ */
......
...@@ -4,12 +4,13 @@ import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity; ...@@ -4,12 +4,13 @@ import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity;
import cn.quantgroup.xyqb.entity.ProductLoginEntity; import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import cn.quantgroup.xyqb.repository.IOauthClientDetailsRepository; import cn.quantgroup.xyqb.repository.IOauthClientDetailsRepository;
import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService; import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
package cn.quantgroup.xyqb.service.user.impl; package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.CustomerInfoEntity; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.CustomerLoginEntity;
import cn.quantgroup.xyqb.entity.EntityBuilder;
import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity;
import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.middleoffice.AppletParamEntry; import cn.quantgroup.xyqb.entity.middleoffice.AppletParamEntry;
import cn.quantgroup.xyqb.repository.ICustomerInfoRepository; import cn.quantgroup.xyqb.repository.ICustomerInfoRepository;
import cn.quantgroup.xyqb.repository.ICustomerLoginRepository; import cn.quantgroup.xyqb.repository.ICustomerLoginRepository;
...@@ -15,13 +10,14 @@ import cn.quantgroup.xyqb.service.user.IOauthLoginInfoService; ...@@ -15,13 +10,14 @@ import cn.quantgroup.xyqb.service.user.IOauthLoginInfoService;
import cn.quantgroup.xyqb.service.user.IProductLoginService; import cn.quantgroup.xyqb.service.user.IProductLoginService;
import cn.quantgroup.xyqb.util.AtomicSequencer; import cn.quantgroup.xyqb.util.AtomicSequencer;
import cn.quantgroup.xyqb.util.RandomSequencer; import cn.quantgroup.xyqb.util.RandomSequencer;
import java.util.Date;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.service.user.impl; ...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.ProductLoginEntity; import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import cn.quantgroup.xyqb.repository.IProductLoginRepository; import cn.quantgroup.xyqb.repository.IProductLoginRepository;
import cn.quantgroup.xyqb.service.user.IProductLoginService; import cn.quantgroup.xyqb.service.user.IProductLoginService;
import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
package cn.quantgroup.xyqb.service.user.impl; package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.CustomerInfoEntity; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.OauthClientDetailsEntity;
import cn.quantgroup.xyqb.entity.ProductLoginEntity;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.UserBrief; import cn.quantgroup.xyqb.model.UserBrief;
import cn.quantgroup.xyqb.service.user.ICustomerInfoService; import cn.quantgroup.xyqb.service.user.ICustomerInfoService;
import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService; import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService;
import cn.quantgroup.xyqb.service.user.IProductLoginService; import cn.quantgroup.xyqb.service.user.IProductLoginService;
import cn.quantgroup.xyqb.service.user.ITenantService; import cn.quantgroup.xyqb.service.user.ITenantService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
......
...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.service.user.impl; ...@@ -3,12 +3,13 @@ package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.UserBtRegister; import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository; import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService; import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.criteria.Predicate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
/** /**
* Created by Administrator on 2017/5/16. * Created by Administrator on 2017/5/16.
*/ */
......
...@@ -8,11 +8,6 @@ import cn.quantgroup.xyqb.service.user.ITenantService; ...@@ -8,11 +8,6 @@ import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.UserCenterService; import cn.quantgroup.xyqb.service.user.UserCenterService;
import cn.quantgroup.xyqb.util.EmojiUtil; import cn.quantgroup.xyqb.util.EmojiUtil;
import cn.quantgroup.xyqb.util.TenantUtil; import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.hibernate.exception.ConstraintViolationException; import org.hibernate.exception.ConstraintViolationException;
...@@ -20,6 +15,12 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,6 +15,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* Created by 11 on 2017/3/22. * Created by 11 on 2017/3/22.
*/ */
......
...@@ -13,12 +13,6 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService; ...@@ -13,12 +13,6 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.vo.UserDetailVO; import cn.quantgroup.xyqb.service.user.vo.UserDetailVO;
import cn.quantgroup.xyqb.util.AddressFilter; import cn.quantgroup.xyqb.util.AddressFilter;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Resource;
import javax.persistence.criteria.Predicate;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -31,6 +25,13 @@ import org.springframework.data.jpa.domain.Specification; ...@@ -31,6 +25,13 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
......
...@@ -4,14 +4,15 @@ import cn.quantgroup.user.enums.OccupationEnum; ...@@ -4,14 +4,15 @@ import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.repository.IUserExtInfoRepository; import cn.quantgroup.xyqb.repository.IUserExtInfoRepository;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import java.sql.Timestamp;
import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.util.List;
/** /**
* Created by Miraculous on 2017/1/3. * Created by Miraculous on 2017/1/3.
*/ */
......
...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.service.user.impl; ...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.UserQueryLog; import cn.quantgroup.xyqb.entity.UserQueryLog;
import cn.quantgroup.xyqb.repository.IUserQueryLogRepository; import cn.quantgroup.xyqb.repository.IUserQueryLogRepository;
import cn.quantgroup.xyqb.service.user.IUserQueryLogService; import cn.quantgroup.xyqb.service.user.IUserQueryLogService;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/** /**
* Created by zenglibin on 2017/06/13. * Created by zenglibin on 2017/06/13.
*/ */
......
package cn.quantgroup.xyqb.service.user.impl; package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.IncomeRangeEnum; import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.LoginType; import cn.quantgroup.user.enums.LoginType;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
......
...@@ -4,11 +4,12 @@ import cn.quantgroup.motan.retbean.XUserDetail; ...@@ -4,11 +4,12 @@ import cn.quantgroup.motan.retbean.XUserDetail;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
import java.sql.Timestamp;
import java.util.Optional;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.sql.Timestamp;
import java.util.Optional;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class UserDetailVO { public class UserDetailVO {
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.wechat; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.wechat;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse; import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse;
import java.util.List; import java.util.List;
public interface IWechatFollowService { public interface IWechatFollowService {
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.wechat; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.wechat;
import cn.quantgroup.xyqb.entity.WechatUserInfo; import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse; import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse;
import java.util.List; import java.util.List;
/** /**
......
...@@ -4,14 +4,15 @@ import cn.quantgroup.xyqb.Constants; ...@@ -4,14 +4,15 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue; import cn.quantgroup.xyqb.model.session.SessionValue;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/** /**
* Created by Miraculous on 2016/12/29. * Created by Miraculous on 2016/12/29.
*/ */
......
...@@ -8,11 +8,12 @@ import com.octo.captcha.service.AbstractManageableCaptchaServiceMBean; ...@@ -8,11 +8,12 @@ import com.octo.captcha.service.AbstractManageableCaptchaServiceMBean;
import com.octo.captcha.service.CaptchaService; import com.octo.captcha.service.CaptchaService;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore; import com.octo.captcha.service.captchastore.CaptchaStore;
import org.apache.commons.collections.FastHashMap;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Locale; import java.util.Locale;
import org.apache.commons.collections.FastHashMap;
/** /**
* 类名称:AbstractManageableCaptchaService * 类名称:AbstractManageableCaptchaService
......
...@@ -5,6 +5,7 @@ import com.octo.captcha.engine.CaptchaEngine; ...@@ -5,6 +5,7 @@ import com.octo.captcha.engine.CaptchaEngine;
import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore; import com.octo.captcha.service.captchastore.CaptchaStore;
import com.octo.captcha.service.image.ImageCaptchaService; import com.octo.captcha.service.image.ImageCaptchaService;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.Locale; import java.util.Locale;
......
...@@ -6,6 +6,7 @@ import com.octo.captcha.component.image.wordtoimage.WordToImage; ...@@ -6,6 +6,7 @@ import com.octo.captcha.component.image.wordtoimage.WordToImage;
import com.octo.captcha.component.word.wordgenerator.WordGenerator; import com.octo.captcha.component.word.wordgenerator.WordGenerator;
import com.octo.captcha.image.ImageCaptcha; import com.octo.captcha.image.ImageCaptcha;
import com.octo.captcha.image.gimpy.GimpyFactory; import com.octo.captcha.image.gimpy.GimpyFactory;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.Locale; import java.util.Locale;
......
package cn.quantgroup.xyqb.thirdparty.jcaptcha; package cn.quantgroup.xyqb.thirdparty.jcaptcha;
import com.octo.captcha.image.ImageCaptcha; import com.octo.captcha.image.ImageCaptcha;
import java.awt.image.BufferedImage;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.awt.image.BufferedImage;
/** /**
* 类名称:SimpleCaptcha * 类名称:SimpleCaptcha
* 类描述: * 类描述:
......
package cn.quantgroup.xyqb.urora; package cn.quantgroup.xyqb.urora;
import cn.quantgroup.xyqb.security.RSADecrypt; import cn.quantgroup.xyqb.security.RSADecrypt;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity; import org.springframework.http.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;
...@@ -24,6 +16,9 @@ import org.springframework.util.StringUtils; ...@@ -24,6 +16,9 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/** /**
* Created by Administrator on 2021/7/1 0001. * Created by Administrator on 2021/7/1 0001.
......
package cn.quantgroup.xyqb.urora; package cn.quantgroup.xyqb.urora;
import java.util.Collection;
import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.authentication.AbstractAuthenticationToken;
import java.util.Collection;
/** /**
* Created by Administrator on 2021/7/1 0001. * Created by Administrator on 2021/7/1 0001.
*/ */
......
...@@ -2,15 +2,16 @@ package cn.quantgroup.xyqb.util; ...@@ -2,15 +2,16 @@ package cn.quantgroup.xyqb.util;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
/** /**
* @author :dongjianhua * @author :dongjianhua
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
/** /**
* AES编码器工具 * AES编码器工具
* 使用AES加密解密 AES-128-ECB加密 * 使用AES加密解密 AES-128-ECB加密
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.util.Map;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -8,6 +7,8 @@ import org.springframework.context.ApplicationContext; ...@@ -8,6 +7,8 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Map;
/** /**
* Created by Miraculous on 15/7/12. * Created by Miraculous on 15/7/12.
*/ */
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.concurrent.atomic.AtomicLong;
/** /**
* @author hechao * @author hechao
* @description * @description
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.util.Objects;
import org.springframework.security.crypto.bcrypt.BCrypt; import org.springframework.security.crypto.bcrypt.BCrypt;
import java.util.Objects;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
*/ */
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.util.Calendar;
import java.util.Date;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
/** /**
* joda-time * joda-time
* <p> * <p>
......
...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.util; ...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.util;
import cn.quantgroup.tech.util.TechEnvironment; import cn.quantgroup.tech.util.TechEnvironment;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays; import java.util.Arrays;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
/** /**
* IP地址工具类 * IP地址工具类
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Optional;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.Optional;
/** /**
* Created by liqing on 2017/12/4 0004. * Created by liqing on 2017/12/4 0004.
*/ */
......
...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.util; ...@@ -3,11 +3,12 @@ package cn.quantgroup.xyqb.util;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import org.apache.commons.lang.StringUtils;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
import org.apache.commons.lang.StringUtils;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.util.Random;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.text.RandomStringGenerator; import org.apache.commons.text.RandomStringGenerator;
import org.springframework.dao.InvalidDataAccessResourceUsageException; import org.springframework.dao.InvalidDataAccessResourceUsageException;
...@@ -8,6 +7,8 @@ import org.springframework.data.redis.core.RedisCallback; ...@@ -8,6 +7,8 @@ import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.util.Random;
/** /**
* RedisLock * RedisLock
* Created by Feng on 2017/6/5. * Created by Feng on 2017/6/5.
......
package cn.quantgroup.xyqb.util; package cn.quantgroup.xyqb.util;
import java.lang.management.ManagementFactory; import org.springframework.core.env.Environment;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Set;
import javax.management.MBeanServer; import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException; import javax.management.MalformedObjectNameException;
import javax.management.ObjectName; import javax.management.ObjectName;
import javax.management.Query; import javax.management.Query;
import org.springframework.core.env.Environment; import java.lang.management.ManagementFactory;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Set;
/** /**
* Created by hechao on 2020/1/21. * Created by hechao on 2020/1/21.
......
...@@ -5,9 +5,10 @@ package cn.quantgroup.xyqb.util; ...@@ -5,9 +5,10 @@ package cn.quantgroup.xyqb.util;
// (powered by FernFlower decompiler) // (powered by FernFlower decompiler)
// //
import java.io.Serializable;
import org.slf4j.helpers.MessageFormatter; import org.slf4j.helpers.MessageFormatter;
import java.io.Serializable;
public class StringUtils extends org.springframework.util.StringUtils { public class StringUtils extends org.springframework.util.StringUtils {
public static final char DELIMITED_ID_SEP = '$'; public static final char DELIMITED_ID_SEP = '$';
public static final char DELIMITED_ID_WCHAR = '*'; public static final char DELIMITED_ID_WCHAR = '*';
......
...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.util; ...@@ -2,12 +2,13 @@ package cn.quantgroup.xyqb.util;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import java.util.Calendar; import java.util.Calendar;
import java.util.Objects; import java.util.Objects;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
/** /**
* Created by Miraculous on 15/7/6. * Created by Miraculous on 15/7/6.
......
package cn.quantgroup.xyqb.util.encrypt; package cn.quantgroup.xyqb.util.encrypt;
import cn.quantgroup.xyqb.util.AESUtils; import cn.quantgroup.xyqb.util.AESUtils;
import javax.persistence.AttributeConverter; import javax.persistence.AttributeConverter;
public class CryptConverter implements AttributeConverter<String, String> { public class CryptConverter implements AttributeConverter<String, String> {
......
package cn.quantgroup.xyqb.util.encrypt; package cn.quantgroup.xyqb.util.encrypt;
import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import lombok.extern.slf4j.Slf4j;
/** /**
* Created by tums on 2015/11/30. * Created by tums on 2015/11/30.
......
package cn.quantgroup.xyqb.util.encrypt; package cn.quantgroup.xyqb.util.encrypt;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Cipher;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.math.BigInteger; import java.math.BigInteger;
import java.security.Key; import java.security.*;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;
import java.security.interfaces.RSAPublicKey; import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.crypto.Cipher;
import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class Rsa { public class Rsa {
......
package cn.quantgroup.xyqb.validator; package cn.quantgroup.xyqb.validator;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
@Target({ElementType.FIELD, ElementType.PARAMETER}) @Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
......
package cn.quantgroup.xyqb.validator; package cn.quantgroup.xyqb.validator;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext; import javax.validation.ConstraintValidatorContext;
......
package cn.quantgroup.xyqb.validator; package cn.quantgroup.xyqb.validator;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
/** /**
* @author 徐小光 * @author 徐小光
......
package cn.quantgroup.xyqb.validator; package cn.quantgroup.xyqb.validator;
import cn.quantgroup.xyqb.util.IdcardValidator; import cn.quantgroup.xyqb.util.IdcardValidator;
import org.apache.commons.lang3.StringUtils;
import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext; import javax.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;
/** /**
* 身份证验证器, <IdCard,String> String 对应的是可以对哪些类型校验 * 身份证验证器, <IdCard,String> String 对应的是可以对哪些类型校验
......
import demo.DynamicTest; import demo.*;
import demo.MockMvcTest;
import demo.MvcTest;
import demo.ParametersJunit4Test;
import demo.ParametersJunit5Test;
import demo.RepsitoryJpaTest;
import demo.RepsitoryTest;
import demo.ServiceTest;
import demo.WebTest;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Suite; import org.junit.runners.Suite;
......
import cn.quantgroup.xyqb.security.RSADecrypt; import cn.quantgroup.xyqb.security.RSADecrypt;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import org.springframework.util.Base64Utils;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import org.springframework.util.Base64Utils;
/** /**
* Created by Administrator on 2021/6/25 0025. * Created by Administrator on 2021/6/25 0025.
......
...@@ -3,10 +3,6 @@ package common; ...@@ -3,10 +3,6 @@ package common;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.util.AesUtil; import cn.quantgroup.xyqb.util.AesUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.RandomStringUtils;
import org.junit.Assert; import org.junit.Assert;
...@@ -14,6 +10,11 @@ import org.junit.Test; ...@@ -14,6 +10,11 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.JUnit4; import org.junit.runners.JUnit4;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@RunWith(JUnit4.class) @RunWith(JUnit4.class)
public class Jdk8Test { public class Jdk8Test {
......
...@@ -9,13 +9,14 @@ import com.fasterxml.jackson.databind.DeserializationFeature; ...@@ -9,13 +9,14 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.gson.Gson; import com.google.gson.Gson;
import java.sql.Timestamp;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.JUnit4; import org.junit.runners.JUnit4;
import java.sql.Timestamp;
@Slf4j @Slf4j
@RunWith(JUnit4.class) @RunWith(JUnit4.class)
public class JsonTest { public class JsonTest {
......
package demo; package demo;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.DynamicContainer.dynamicContainer;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.function.Function;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.DynamicNode; import org.junit.jupiter.api.DynamicNode;
import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.TestFactory; import org.junit.jupiter.api.TestFactory;
import org.junit.jupiter.api.function.ThrowingConsumer; import org.junit.jupiter.api.function.ThrowingConsumer;
import java.security.SecureRandom;
import java.util.*;
import java.util.function.Function;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.DynamicContainer.dynamicContainer;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
/** /**
* 动态批量测试 * 动态批量测试
......
package demo; package demo;
import static org.mockito.BDDMockito.given;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.config.data.JpaConfig; import cn.quantgroup.xyqb.config.data.JpaConfig;
import cn.quantgroup.xyqb.config.data.RedisConfig; import cn.quantgroup.xyqb.config.data.RedisConfig;
...@@ -12,7 +7,6 @@ import cn.quantgroup.xyqb.controller.external.UserController; ...@@ -12,7 +7,6 @@ import cn.quantgroup.xyqb.controller.external.UserController;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import javax.annotation.Resource;
import org.json.JSONObject; import org.json.JSONObject;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
...@@ -26,6 +20,13 @@ import org.springframework.test.web.servlet.MockMvc; ...@@ -26,6 +20,13 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import javax.annotation.Resource;
import static org.mockito.BDDMockito.given;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@WebMvcTest({UserController.class}) @WebMvcTest({UserController.class})
......
package demo; package demo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import javax.annotation.Resource;
import org.json.JSONObject; import org.json.JSONObject;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
...@@ -22,6 +19,10 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; ...@@ -22,6 +19,10 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.WebApplicationContext;
import javax.annotation.Resource;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = Bootstrap.class) @SpringBootTest(classes = Bootstrap.class)
@ContextConfiguration(initializers = ApolloPropertySourceInitializer.class) @ContextConfiguration(initializers = ApolloPropertySourceInitializer.class)
......
package demo; package demo;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test; import org.junit.Test;
import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Tag;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
/** /**
* jUnit4风格参数化批量测试(用例) * jUnit4风格参数化批量测试(用例)
* @author renwc * @author renwc
......
package demo; package demo;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Ignore; import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
...@@ -11,6 +9,8 @@ import org.junit.jupiter.api.TestInfo; ...@@ -11,6 +9,8 @@ import org.junit.jupiter.api.TestInfo;
import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource; import org.junit.jupiter.params.provider.ValueSource;
import static org.junit.jupiter.api.Assertions.assertEquals;
/** /**
* jUnit5风格参数化批量测试(用例) * jUnit5风格参数化批量测试(用例)
* @author renwc * @author renwc
......
...@@ -5,10 +5,6 @@ import cn.quantgroup.xyqb.config.data.RedisConfig; ...@@ -5,10 +5,6 @@ import cn.quantgroup.xyqb.config.data.RedisConfig;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.repository.IUserRepository; import cn.quantgroup.xyqb.repository.IUserRepository;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import java.sql.Timestamp;
import java.time.Instant;
import javax.annotation.Resource;
import javax.persistence.PersistenceException;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -20,6 +16,11 @@ import org.springframework.test.context.ContextConfiguration; ...@@ -20,6 +16,11 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.persistence.PersistenceException;
import java.sql.Timestamp;
import java.time.Instant;
/** /**
* 持久层测试用例 * 持久层测试用例
* @author renwc * @author renwc
......
...@@ -4,9 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap; ...@@ -4,9 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.repository.IUserRepository; import cn.quantgroup.xyqb.repository.IUserRepository;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import java.sql.Timestamp;
import java.time.Instant;
import javax.annotation.Resource;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -17,6 +14,10 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring ...@@ -17,6 +14,10 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.time.Instant;
/** /**
* 持久层测试用例 * 持久层测试用例
......
...@@ -4,9 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap; ...@@ -4,9 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import java.sql.Timestamp;
import java.time.Instant;
import javax.annotation.Resource;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -17,6 +14,10 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring ...@@ -17,6 +14,10 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.time.Instant;
/** /**
* 业务层测试用例 * 业务层测试用例
* @author renwc * @author renwc
......
...@@ -2,7 +2,6 @@ package demo; ...@@ -2,7 +2,6 @@ package demo;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
...@@ -15,6 +14,8 @@ import org.springframework.http.ResponseEntity; ...@@ -15,6 +14,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
/** /**
* 控制层测试用例 * 控制层测试用例
......
...@@ -7,11 +7,6 @@ import cn.quantgroup.xyqb.controller.external.UserController; ...@@ -7,11 +7,6 @@ import cn.quantgroup.xyqb.controller.external.UserController;
import cn.quantgroup.xyqb.controller.internal.user.InnerController; import cn.quantgroup.xyqb.controller.internal.user.InnerController;
import cn.quantgroup.xyqb.model.AuthBean; import cn.quantgroup.xyqb.model.AuthBean;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
...@@ -28,6 +23,11 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -28,6 +23,11 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/** /**
* Created by 11 on 2017/1/3. * Created by 11 on 2017/1/3.
*/ */
......
...@@ -6,9 +6,6 @@ import cn.quantgroup.xyqb.model.AuthPattern; ...@@ -6,9 +6,6 @@ import cn.quantgroup.xyqb.model.AuthPattern;
import cn.quantgroup.xyqb.repository.IUserAuthorizedRepository; import cn.quantgroup.xyqb.repository.IUserAuthorizedRepository;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import demo.BaseParametersTest; import demo.BaseParametersTest;
import java.util.Arrays;
import java.util.Collection;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
...@@ -20,6 +17,10 @@ import org.springframework.test.annotation.Rollback; ...@@ -20,6 +17,10 @@ import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Collection;
/** /**
* 业务层测试用例 * 业务层测试用例
* @author renwc * @author renwc
......
...@@ -5,8 +5,6 @@ import cn.quantgroup.xyqb.model.ClientType; ...@@ -5,8 +5,6 @@ import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService; import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import java.util.Map;
import javax.annotation.Resource;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -14,6 +12,9 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -14,6 +12,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.Map;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = Bootstrap.class) @SpringBootTest(classes = Bootstrap.class)
@ContextConfiguration(initializers = ApolloPropertySourceInitializer.class) @ContextConfiguration(initializers = ApolloPropertySourceInitializer.class)
......
...@@ -3,8 +3,6 @@ package service; ...@@ -3,8 +3,6 @@ package service;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService; import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import java.util.Locale;
import javax.annotation.Resource;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -12,6 +10,9 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -12,6 +10,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.Locale;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = Bootstrap.class) @SpringBootTest(classes = Bootstrap.class)
@ContextConfiguration(initializers = ApolloPropertySourceInitializer.class) @ContextConfiguration(initializers = ApolloPropertySourceInitializer.class)
......
...@@ -7,10 +7,6 @@ import cn.quantgroup.xyqb.model.UserAuthorizedParam; ...@@ -7,10 +7,6 @@ import cn.quantgroup.xyqb.model.UserAuthorizedParam;
import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService; import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import demo.BaseParametersTest; import demo.BaseParametersTest;
import java.util.Arrays;
import java.util.Collection;
import java.util.Optional;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.FixMethodOrder; import org.junit.FixMethodOrder;
...@@ -23,6 +19,11 @@ import org.springframework.test.annotation.Rollback; ...@@ -23,6 +19,11 @@ import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Collection;
import java.util.Optional;
/** /**
* 业务层测试用例 * 业务层测试用例
* @author renwc * @author renwc
......
...@@ -2,8 +2,6 @@ package service; ...@@ -2,8 +2,6 @@ package service;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Before; import org.junit.Before;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
......
...@@ -5,8 +5,6 @@ import cn.quantgroup.xyqb.model.AuthPattern; ...@@ -5,8 +5,6 @@ import cn.quantgroup.xyqb.model.AuthPattern;
import cn.quantgroup.xyqb.model.UserAuthorizedParam; import cn.quantgroup.xyqb.model.UserAuthorizedParam;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import demo.BaseParametersTest; import demo.BaseParametersTest;
import java.util.Optional;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
...@@ -20,6 +18,9 @@ import org.springframework.test.context.ContextConfiguration; ...@@ -20,6 +18,9 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Optional;
/** /**
* 业务层测试用例 * 业务层测试用例
* @author renwc * @author renwc
......
...@@ -4,7 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap; ...@@ -4,7 +4,6 @@ import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.entity.WechatUserInfo; import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.repository.IWeChatUserRepository; import cn.quantgroup.xyqb.repository.IWeChatUserRepository;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -12,6 +11,8 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -12,6 +11,8 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
/** /**
* @author :dongjianhua * @author :dongjianhua
* @date :Created in 2020/5/27 10:55 * @date :Created in 2020/5/27 10:55
......
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