Commit 3c8b53b3 authored by 王亮's avatar 王亮

remove unused dependency.

parent ae057614
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
......@@ -45,12 +46,7 @@
<artifactId>SensorsAnalyticsSDK</artifactId>
<version>3.2.0</version>
</dependency>
<!-- swagger2 start -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-core</artifactId>
......@@ -153,16 +149,6 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.4.Final</version>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
......@@ -253,7 +239,7 @@
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.5.1</version>
<version>2.7.9</version>
</dependency>
<dependency>
......@@ -289,28 +275,11 @@
<dependency>
<groupId>cn.quantgroup</groupId>
<artifactId>commons-spring</artifactId>
<version>0.2.6</version>
</dependency>
<dependency>
<groupId>cn.quantgroup</groupId>
<artifactId>commons-core</artifactId>
<version>0.2.6</version>
</dependency>
<dependency>
<groupId>cn.quantgroup</groupId>
<artifactId>shutdown-spring-boot-starter</artifactId>
<version>0.2.6</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>cn.quantgroup</groupId>-->
<!-- <artifactId>brave-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.quantgroup</groupId>-->
<!-- <artifactId>enoch-agent-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!--logback使用1.1.4版本-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
......@@ -327,6 +296,7 @@
<version>1.1.6-SNAPSHOT</version>
</dependency>
<!-- 兼容旧 Spring Session 配置-->
<dependency>
<groupId>org.springframework.security</groupId>
......
package cn.quantgroup.tech.db;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.MutablePropertyValues;
import org.springframework.beans.PropertyValues;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.GenericBeanDefinition;
import org.springframework.boot.bind.RelaxedDataBinder;
import org.springframework.boot.bind.RelaxedPropertyResolver;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotationMetadata;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
public class DynamicDataSourceRegister implements ImportBeanDefinitionRegistrar, EnvironmentAware {
private static final Logger log = LoggerFactory.getLogger(cn.quantgroup.tech.db.DynamicDataSourceRegister.class);
private ConversionService conversionService = new DefaultConversionService();
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.";
private DataSource masterDataSource;
private DataSource slaveDataSource;
public DynamicDataSourceRegister() {
}
public void setEnvironment(Environment environment) {
this.masterDataSource = this.buildDataSource(this.initDataSource(environment, "spring.datasource."));
this.dataBinder(this.masterDataSource, environment, "spring.datasource.");
this.slaveDataSource = this.buildDataSource(this.initDataSource(environment, "slave.datasource."));
this.dataBinder(this.slaveDataSource, environment, "slave.datasource.");
}
public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry beanDefinitionRegistry) {
Map<Object, Object> targetDataSources = new HashMap(1);
targetDataSources.put(DSType.MASTER, this.masterDataSource);
DynamicDataSourceContextHolder.dataSourceIds.add(DSType.MASTER);
targetDataSources.put(DSType.SLAVE, this.slaveDataSource);
DynamicDataSourceContextHolder.dataSourceIds.add(DSType.SLAVE);
GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
beanDefinition.setBeanClass(DynamicDataSource.class);
beanDefinition.setSynthetic(true);
MutablePropertyValues mpv = beanDefinition.getPropertyValues();
mpv.addPropertyValue("defaultTargetDataSource", this.masterDataSource);
mpv.addPropertyValue("targetDataSources", targetDataSources);
beanDefinitionRegistry.registerBeanDefinition("dataSource", beanDefinition);
log.info("Dynamic DataSource Registry Success");
}
private Map<String, Object> initDataSource(Environment env, String prefix) {
RelaxedPropertyResolver propertyResolver = new RelaxedPropertyResolver(env, prefix);
Map<String, Object> dsMap = new HashMap(1);
dsMap.put("type", propertyResolver.getProperty("type", "com.zaxxer.hikari.HikariDataSource"));
dsMap.put("driver-class-name", propertyResolver.getProperty("driver-class-name", "com.mysql.jdbc.Driver"));
dsMap.put("url", propertyResolver.getProperty("url"));
dsMap.put("username", propertyResolver.getProperty("username"));
dsMap.put("password", propertyResolver.getProperty("password"));
dsMap.put("maxPoolSize", propertyResolver.getProperty("maxPoolSize"));
return dsMap;
}
private void dataBinder(DataSource dataSource, Environment env, String prefix) {
RelaxedDataBinder dataBinder = new RelaxedDataBinder(dataSource);
dataBinder.setConversionService(this.conversionService);
dataBinder.setIgnoreNestedProperties(false);
dataBinder.setIgnoreInvalidFields(false);
dataBinder.setIgnoreUnknownFields(true);
Map<String, Object> rpr = (new RelaxedPropertyResolver(env, prefix)).getSubProperties("");
Map<String, Object> values = new HashMap(rpr);
values.remove("type");
values.remove("driver-class-name");
values.remove("url");
values.remove("username");
values.remove("password");
PropertyValues dataSourcePropertyValues = new MutablePropertyValues(values);
dataBinder.bind(dataSourcePropertyValues);
}
private DataSource buildDataSource(Map<String, Object> dsMap) {
try {
String type = dsMap.get("type").toString();
Class<? extends DataSource> dataSourceType = (Class<? extends DataSource>)Class.forName(type);
String driverClassName = dsMap.get("driver-class-name").toString();
String url = dsMap.get("url").toString();
String username = dsMap.get("username").toString();
String password = dsMap.get("password").toString();
Integer maxPoolSize = Integer.parseInt(dsMap.get("maxPoolSize").toString());
HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setPassword(password);
config.setUsername(username);
// 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)
//线上是双核机器,100已经非常多。。。。
config.setMaximumPoolSize(maxPoolSize);
config.setMinimumIdle(20);
//个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟
config.setIdleTimeout(60000);
//等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30秒
config.setConnectionTimeout(30000);
config.setValidationTimeout(3000);
//个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,
// 参考MySQL wait_timeout参数(show variables like '%timeout%';)
config.setMaxLifetime(TimeUnit.HOURS.toMillis(7));
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
HikariDataSource datasource = new HikariDataSource(config);
// DataSourceBuilder factory = DataSourceBuilder.create().driverClassName(driverClassName).url(url).username(username).password(password).type(dataSourceType);
return datasource;
} catch (ClassNotFoundException var9) {
log.error("找不到数据源..你没配置hikari的包么? :{}", var9.getMessage());
return null;
}
}
}
\ No newline at end of file
package cn.quantgroup.xyqb;
import cn.quantgroup.xyqb.config.SequencerProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
......@@ -10,10 +11,6 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import lombok.extern.slf4j.Slf4j;
import cn.quantgroup.tech.db.EnableDynamicDataSource;
/**
* @author Anonymous
* 本地启动 :
......@@ -26,7 +23,6 @@ import cn.quantgroup.tech.db.EnableDynamicDataSource;
@EnableAsync
@EnableAspectJAutoProxy
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableDynamicDataSource
@EnableConfigurationProperties({SequencerProperties.class})
public class Bootstrap {
......
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.aspect.accessable;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IpUtil;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
......@@ -11,8 +12,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* IP白名单检验
*
......
package cn.quantgroup.xyqb.aspect.accessable;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Ip白名单检验标记
......
......@@ -7,6 +7,12 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaServ
import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
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 org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
......@@ -14,8 +20,6 @@ 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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
......@@ -24,14 +28,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
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;
import java.util.concurrent.TimeUnit;
/**
* 限次图形验证码校验标记
*
......
package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 限次的图形验证码校验标记
......
......@@ -8,6 +8,12 @@ import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import cn.quantgroup.xyqb.service.captcha.IGeetestLogService;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
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 org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
......@@ -18,13 +24,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
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.
*/
......
package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
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.
......
......@@ -5,14 +5,16 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService;
import cn.quantgroup.xyqb.util.IpUtil;
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 org.apache.commons.lang3.StringUtils;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
......@@ -21,11 +23,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
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
* 类描述:
......
package cn.quantgroup.xyqb.aspect.captcha;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 类名称:CaptchaValidate
......
......@@ -11,6 +11,9 @@ 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;
......@@ -21,10 +24,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* @author :dongjianhua
* @date :Created in 2020/11/20 14:55
......
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.aspect.forbidden;
import cn.quantgroup.xyqb.exception.AccessForbiddenException;
import cn.quantgroup.xyqb.util.IpUtil;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
......@@ -10,8 +11,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@Aspect
@Component
@Slf4j
......
package cn.quantgroup.xyqb.aspect.limit;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
......@@ -7,9 +9,6 @@ import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
@Aspect
@Component
public class AccessLimitAspect {
......
......@@ -8,6 +8,9 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.IpUtil;
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 org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
......@@ -18,10 +21,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
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;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 免密访问校验标记
......
......@@ -4,14 +4,14 @@ package cn.quantgroup.xyqb.aspect.lock;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.IpUtil;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
......@@ -19,9 +19,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/**
* 密码错误限次的校验
*
......
package cn.quantgroup.xyqb.aspect.lock;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
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;
import java.lang.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 用redis进行锁<br/>
......
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.aspect.lock;
import cn.quantgroup.xyqb.exception.ResubmissionException;
import com.alibaba.fastjson.JSONObject;
import java.lang.reflect.Method;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -18,8 +19,6 @@ import org.springframework.expression.ExpressionException;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
/**
* Redis Lock Aspect
*/
......
package cn.quantgroup.xyqb.aspect.logcaller;
import cn.quantgroup.xyqb.util.IpUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Stopwatch;
import java.util.concurrent.TimeUnit;
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;
......@@ -15,12 +17,6 @@ import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Stopwatch;
import cn.quantgroup.xyqb.util.IpUtil;
import lombok.extern.slf4j.Slf4j;
/**
* 调用者记录
* Created by Administrator on 2017/5/15.
......
package cn.quantgroup.xyqb.config;
import static cn.quantgroup.xyqb.security.SecurityConstant.PROPERTY_PREFIX;
import cn.quantgroup.xyqb.security.AuthenticationAdapter;
import cn.quantgroup.xyqb.security.AuthenticationPrincipal;
import cn.quantgroup.xyqb.security.CustomerAuthenticationManager;
import cn.quantgroup.xyqb.urora.UroraAuthenticationManager;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
......@@ -12,12 +17,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import static cn.quantgroup.xyqb.security.SecurityConstant.PROPERTY_PREFIX;
/**
* Created by Administrator on 2021/7/1 0001.
*/
......
package cn.quantgroup.xyqb.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* Created by Administrator on 2021/7/1 0001.
......
......@@ -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.WordGenerator;
import com.octo.captcha.engine.image.ListImageCaptchaEngine;
import java.awt.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.image.ImageFilter;
/**
......
......@@ -5,11 +5,10 @@ import com.octo.captcha.Captcha;
import com.octo.captcha.engine.CaptchaEngine;
import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore;
import java.util.Locale;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.Locale;
/**
* 类名称:CustomCaptchaService
* 类描述:自定义的验证马实现服务
......
......@@ -5,15 +5,12 @@ import cn.quantgroup.xyqb.thirdparty.jcaptcha.SimpleCaptcha;
import com.octo.captcha.Captcha;
import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.captchastore.CaptchaStore;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.Collection;
import java.util.Collections;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
/**
* 类名称:RedisCaptchaStore
......
......@@ -4,7 +4,14 @@ package cn.quantgroup.xyqb.config.data;
* Created by Miraculous on 2016/11/16.
*/
import com.zaxxer.hikari.HikariConfig;
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;
......@@ -19,10 +26,6 @@ import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
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.
*/
......@@ -47,12 +50,12 @@ public class JpaConfig {
private Integer minPoolSize;
@Primary
@Bean
@DependsOn(value = "dataSource")
public EntityManagerFactory entityManagerFactory(DataSource dataSource) {
@DependsOn(value = "databaseSource")
public EntityManagerFactory entityManagerFactory(@Qualifier("databaseSource") DataSource dataSource) {
LocalContainerEntityManagerFactoryBean entityManager = new LocalContainerEntityManagerFactoryBean();
entityManager.setDataSource(dataSource);
entityManager.setPackagesToScan("cn.quantgroup.xyqb");
entityManager.setPersistenceUnitName("dataSource");
entityManager.setPersistenceUnitName("databaseSource");
Properties properties = new Properties();
properties.put("hibernate.jdbc.batch_size", 30);
properties.put("hibernate.order_inserts", true);
......@@ -74,6 +77,7 @@ public class JpaConfig {
return hibernateJpaVendorAdapter;
}
@Primary
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
......@@ -84,11 +88,29 @@ public class JpaConfig {
@Primary
@Bean
@DependsOn(value = "dataSource")
public JdbcTemplate jdbcTemplate(DataSource dataSource){
@DependsOn(value = "databaseSource")
public JdbcTemplate jdbcTemplate(@Qualifier("databaseSource") DataSource dataSource){
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
@Bean(name = "databaseSource")
@Primary
public DataSource databaseSource() {
Properties properties = new Properties();
properties.setProperty("cachePrepStmts", "true");
properties.setProperty("prepStmtCacheSize", "250");
properties.setProperty("prepStmtCacheSqlLimit", "2048");
HikariConfig config = new HikariConfig();
config.setJdbcUrl(xyqbJdbcUrl);
config.setPassword(password);
config.setUsername(user);
config.setMaximumPoolSize(maxPoolSize);
config.setMinimumIdle(20);
config.setDataSourceProperties(properties);
return new HikariDataSource(config);
}
}
......@@ -2,6 +2,9 @@ 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;
......@@ -18,10 +21,6 @@ import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.Properties;
/**
* 登录风控拦截数据库
*/
......
package cn.quantgroup.xyqb.config.data;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
......@@ -12,14 +14,10 @@ import org.springframework.data.redis.connection.RedisNode;
import org.springframework.data.redis.connection.RedisSentinelConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;
import java.util.HashSet;
import java.util.Set;
/**
* Created by Miraculous on 15/7/4.
*/
......
package cn.quantgroup.xyqb.config.event;
import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......@@ -8,10 +11,6 @@ import org.springframework.context.event.SimpleApplicationEventMulticaster;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.scheduling.support.TaskUtils;
import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
@Slf4j
@Configuration
public class EventConfig {
......
......@@ -4,6 +4,11 @@ import cn.quantgroup.tool.monitor.metric.api.TechHttpClient;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
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.config.CookieSpecs;
import org.apache.http.config.Registry;
......@@ -34,12 +39,6 @@ import org.springframework.format.support.FormattingConversionService;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
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.
......
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.springframework.context.annotation.Bean;
import org.springframework.format.FormatterRegistry;
......@@ -7,10 +10,6 @@ import org.springframework.stereotype.Component;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
@Component
public class MyWebMvcConfigurer extends WebMvcConfigurerAdapter {
......
......@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.config.http;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import java.lang.reflect.Type;
import java.sql.Timestamp;
......
package cn.quantgroup.xyqb.config.mq;
import org.springframework.amqp.core.*;
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.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
......
package cn.quantgroup.xyqb.config.mq;
import org.springframework.amqp.core.*;
import java.util.HashMap;
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.CacheMode;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
......@@ -12,9 +18,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/**
* Created by xuran on 2017/9/7.
*/
......
package cn.quantgroup.xyqb.config.sentry;
import cn.quantgroup.xyqb.exception.*;
import cn.quantgroup.xyqb.exception.AccessForbiddenException;
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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.core.Ordered;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.web.servlet.HandlerExceptionResolver;
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
* Spring {@link org.springframework.web.servlet.mvc.Controller} throws to Sentry. It then
......
......@@ -2,14 +2,13 @@ package cn.quantgroup.xyqb.config.sentry;
import cn.quantgroup.tech.util.TechEnvironment;
import io.sentry.Sentry;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerExceptionResolver;
import javax.annotation.PostConstruct;
/**
* 初始化Sentry配置
* @author renwc
......
package cn.quantgroup.xyqb.controller;
import cn.quantgroup.xyqb.exception.*;
import cn.quantgroup.xyqb.exception.AccessForbiddenException;
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.util.IpUtil;
import cn.quantgroup.xyqb.exception.ResubmissionException;
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 org.springframework.http.HttpStatus;
import org.springframework.jdbc.BadSqlGrammarException;
......@@ -12,15 +27,11 @@ import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.MissingServletRequestParameterException;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.ValidationException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by Miraculous on 15/7/6.
......
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.model.session.SessionStruct;
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.HashMap;
import java.util.Map;
import java.util.Objects;
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 javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Created by Miraculous on 15/7/5.
......
......@@ -4,12 +4,11 @@ import cn.quantgroup.xyqb.entity.UserAuthorized;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserAuthorizedParam;
import cn.quantgroup.xyqb.service.auth.IUserAuthorizedService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author xufei on 2018/1/5.
*/
......
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.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/**
* Created by 11 on 2017/2/8.
*/
......
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.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
......@@ -10,10 +13,19 @@ import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.LoginRecord;
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.VerificationCodeErrorException;
import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.model.AuthBean;
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.SessionValue;
import cn.quantgroup.xyqb.service.captcha.IGeetestLogService;
......@@ -22,14 +34,30 @@ import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.ILockIpv4Service;
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.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.*;
import cn.quantgroup.xyqb.util.BctyptPasswordUtil;
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.JSONObject;
import com.alibaba.fastjson.TypeReference;
import io.swagger.annotations.ApiOperation;
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 org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
......@@ -42,14 +70,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
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服务接口:用户注册、登录、重置密码
* Created by FrankChow on 15/7/5.
......@@ -633,7 +653,6 @@ public class UserController implements IBaseController {
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@RequestMapping("/center/index")
@ApiOperation(value = "用户中心首页", notes = "用户中心首页显示头像, 昵称, 姓名", httpMethod = "POST")
public JsonResult userCenterIndex() {
UserBrief brief = new UserBrief();
......
package cn.quantgroup.xyqb.controller.external;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.internal.user.InnerController;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.IdCardInfo;
......@@ -11,7 +10,7 @@ import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.ChineseName;
import io.swagger.annotations.ApiOperation;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
......@@ -20,9 +19,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Timestamp;
import java.util.Objects;
/**
* Created by Miraculous on 2017/1/3.
*/
......@@ -53,7 +49,6 @@ public class UserDetailController implements IBaseController {
*/
@Deprecated
@RequestMapping("/save")
@ApiOperation(httpMethod = "POST", value = "保存/更新用户实名信息")
public JsonResult saveUserDetail(String idNo,
@ChineseName @RequestParam String name) {
if (!ValidationUtil.validateChinese(name)) {
......
......@@ -20,6 +20,23 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.google.common.base.Joiner;
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 org.apache.commons.codec.binary.Base64;
import org.apache.commons.collections.CollectionUtils;
......@@ -28,21 +45,15 @@ import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
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;
import org.springframework.web.context.request.RequestContextHolder;
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.
*/
......
package cn.quantgroup.xyqb.controller.external;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator;
import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator;
import cn.quantgroup.xyqb.controller.IBaseController;
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.VerificationCodeErrorException;
import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse;
import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.wechat.IWechatFollowService;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
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.JSONObject;
import com.alibaba.fastjson.TypeReference;
import io.swagger.annotations.ApiOperation;
import javax.sql.DataSource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.sql.DataSource;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.util.*;
import static cn.quantgroup.xyqb.Constants.VERIFICATION_CODE_FINITE_COUNT_NEW;
/**
* 微信公众号与企业微信关注情况
*
......@@ -68,12 +22,6 @@ public class WechatFollowController implements IBaseController {
@Autowired
private IWechatFollowService wechatFollowService;
@Autowired
private DataSource dataSource;
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/wechatFollowTask")
public JsonResult wechatFollowTask() {
wechatFollowService.executeTask();
......
......@@ -4,18 +4,6 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaValidator;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.thirdparty.jcaptcha.AbstractManageableImageCaptchaService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
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;
......@@ -23,6 +11,15 @@ 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 org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 类名称:ImgCaptchaController
......@@ -31,7 +28,6 @@ import java.util.concurrent.TimeUnit;
* @author 李宁
* @version 1.0.0 创建时间:15/11/17 11:49 修改人: 修改时间:15/11/17 11:49 修改备注:
*/
@Api(value = "/api", description = "叫Api, 实际上是图形验证码. 你说神奇不神奇...")
@Slf4j
@RestController
@RequestMapping("/api")
......@@ -53,7 +49,6 @@ public class ImageCaptchaController {
* 默认匹配 GET /captcha, 提供4位数字和字母混合图片验证码
*/
@RequestMapping(value = "/captcha")
@ApiOperation(value = "获取验证码", notes = "获取图形验证码接口, 会返回一个base64的图形验证码", httpMethod = "GET")
public JsonResult fetchCaptcha(HttpServletRequest request) {
String imageId = UUID.randomUUID().toString();
BufferedImage challenge = imageCaptchaService.getImageChallengeForID(Constants.IMAGE_CAPTCHA_KEY + imageId, request.getLocale());
......@@ -78,7 +73,6 @@ public class ImageCaptchaController {
*/
@CaptchaValidator
@RequestMapping("/verification_image_code")
@ApiOperation(value = "验证图形验证码", notes = "验证图形验证码", httpMethod = "POST")
public JsonResult verificationImageCode() {
return JsonResult.buildSuccessResult("", null);
}
......
......@@ -9,20 +9,18 @@ import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
import io.swagger.annotations.ApiOperation;
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 org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
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.
*/
......@@ -44,7 +42,6 @@ public class NewCaptchaController {
@RequestMapping(value = "/captcha/new")
@ApiOperation(value = "获取新图形验证码", notes = "获取新图形验证码", httpMethod = "POST")
public JsonResult getCaptcha(String phoneNo, String clientType, String settingType, HttpServletRequest request) {
String remoteIp = IpUtil.getRemoteIP(request);
log.info("获取验证码, phoneNo:{}, clientType:{}, ip:{}, verifyType-qg:{}", phoneNo, clientType, remoteIp, geetestClose);
......@@ -89,7 +86,6 @@ public class NewCaptchaController {
}
@RequestMapping(value = "/captcha/new/passwd")
@ApiOperation(value = "获取新图形验证码(账密)", notes = "获取新图形验证码(账密)", httpMethod = "POST")
public JsonResult getCaptchaPasswd(String phoneNo, String clientType, String settingType, HttpServletRequest request) {
String remoteIp = IpUtil.getRemoteIP(request);
log.info("获取验证码, phoneNo:{}, clientType:{}, ip:{}, verifyType-qg:{}", phoneNo, clientType, remoteIp, geetestClose);
......
......@@ -5,10 +5,11 @@ import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.util.ValidationUtil;
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 org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
......@@ -16,10 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
/**
* 锁控制器
*
......
......@@ -11,6 +11,12 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.util.DateUtils;
import cn.quantgroup.xyqb.util.IpUtil;
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 org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -22,9 +28,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* Created by FrankChow on 15/7/6.
*/
......
......@@ -7,12 +7,11 @@ import cn.quantgroup.xyqb.model.session.LoginInfo;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* 查询已登录信息
* Created by Miraculous on 2016/12/30.
......
......@@ -17,10 +17,29 @@ import cn.quantgroup.xyqb.util.IdcardValidator;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.util.encrypt.Rsa;
import com.google.gson.*;
import io.swagger.annotations.ApiOperation;
import com.google.gson.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 org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCell;
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.Value;
import org.springframework.data.domain.Page;
......@@ -30,13 +49,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
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.
*/
......@@ -71,7 +83,6 @@ public class UserQueryLogController {
* @yapi http://yapi.quantgroups.com/project/17/interface/api/259
*/
@RequestMapping("/queryLog")
@ApiOperation(value = "给运营系统提供的查询查询记录的", notes = "给运营系统提供的查询查询记录的", httpMethod = "POST")
public JsonResult queryLog(HttpServletRequest request, @RequestParam(required = false) String beginDate, @RequestParam(required = false) String endDate, Integer pageId, Integer pageSize) {
log.info("查询日期:beginDate{},endDate{}", beginDate, endDate);
String token = request.getHeader(Constants.X_AUTH_TOKEN);
......@@ -128,7 +139,6 @@ public class UserQueryLogController {
*/
@AccessForbiddenValidator
@RequestMapping("/queryUserInfo")
@ApiOperation(value = "给运营系统提供的查询用户信息的接口", notes = "给运营系统提供的查询用户信息的接口", httpMethod = "POST")
public JsonResult queryForResult(HttpServletRequest request, String key, String keyValues, String columns, Integer pageId, Integer pageSize) {
String token = request.getHeader(Constants.X_AUTH_TOKEN);
String userName = checkUserToken(token);
......@@ -269,7 +279,6 @@ public class UserQueryLogController {
* @yapi http://yapi.quantgroups.com/project/17/interface/api/257
*/
@RequestMapping("/exportUserInfo")
@ApiOperation(value = "给运营系统提供的导出用户信息的接口", notes = "给运营系统提供的导出用户信息的接口", httpMethod = "POST")
public JsonResult exportExcel(final HttpServletResponse response, HttpServletRequest request, String key, String keyValues, String columns) {
String token = request.getHeader(Constants.X_AUTH_TOKEN);
checkUserToken(token);
......
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.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor;
......@@ -23,7 +26,8 @@ import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
import com.sensorsdata.analytics.javasdk.ISensorsAnalytics;
import com.sensorsdata.analytics.javasdk.bean.EventRecord;
import io.swagger.annotations.ApiOperation;
import javax.persistence.PersistenceException;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -34,12 +38,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
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;
/**
* 第三方用户免密登录
*
......@@ -150,7 +148,6 @@ public class AppController implements IBaseController {
@Deprecated
@IpValidator
@RequestMapping("/login")
@ApiOperation(value = "App登陆", notes = "App登陆", httpMethod = "POST")
public JsonResult login(
String phoneNo,
String idNo, String name, String key,
......@@ -205,7 +202,6 @@ public class AppController implements IBaseController {
*/
@IpValidator
@RequestMapping("/login_super")
@ApiOperation(value = "免密登陆, 新手机号还自动注册", notes = "免密登陆, 新手机号还自动注册", httpMethod = "POST")
public JsonResult loginSuper(
String phoneNo,
String idNo, String name, String key,
......@@ -322,7 +318,6 @@ public class AppController implements IBaseController {
@LoginInterceptor
@IpValidator
@RequestMapping("/login2")
@ApiOperation(value = "免密登陆, 新手机号不自动注册", notes = "免密登陆, 新手机号不自动注册", httpMethod = "POST")
public JsonResult login2(
String phoneNo,
@RequestParam(required = false, defaultValue = "1") Long registerFrom,
......
package cn.quantgroup.xyqb.controller.internal.user;
import java.sql.Timestamp;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
......@@ -29,6 +12,17 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil;
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 org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 同步用户数据,第三方模块访问时
......@@ -47,7 +41,6 @@ public class SyncUserController {
private IIdCardService idCardService;
@RequestMapping("/save_detail")
@ApiOperation(httpMethod = "POST", value = "保存/更新用户实名信息")
public JsonResult saveUserDetail(String key, String phoneNo, String idNo,
@ChineseName @RequestParam String name) {
if (!Objects.equals(KEY, key)) {
......@@ -104,7 +97,6 @@ public class SyncUserController {
}
@RequestMapping("/user")
@ApiOperation(httpMethod = "POST", value = "查询用户详情")
public JsonResult fetchUser(String key, String phoneNo) {
if (!Objects.equals(KEY, key) || !ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
......@@ -142,7 +134,6 @@ public class SyncUserController {
*/
@IpValidator
@RequestMapping("/listByUserIds")
@ApiOperation(httpMethod = "POST", value = "根据用户主键批量获取用户实名信息")
public JsonResult listByUserIds(String userIds) {
// 过滤掉合法的多个数值串间的空白值
userIds = ValidationUtil.filterNumbers(userIds);
......
......@@ -11,16 +11,17 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.ValidationUtil;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Objects;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by FrankChow on 15/12/16.
......@@ -63,12 +64,10 @@ public class UserApiController {
* @param prolong - 是否延续生命期,可选参数,默认为: false - 不延续
* @return
*/
@ApiOperation(notes = "检查token是否有效,如果有效,可选择是否延续生命期(延续后有效期24Hour)", value = "Check token and then prolong session", nickname = "checkToken")
@IpValidator
@RequestMapping(value = "/valid/{token}", method = RequestMethod.POST)
public JsonResult checkToken(@ApiParam(value = "sid,session的id", required = true)
public JsonResult checkToken(
@PathVariable("token") String token,
@ApiParam(value = "是否延续生命期,可选参数,默认为: false - 不延续")
@RequestParam(name = "prolong", required = false, defaultValue = "false") Boolean prolong,
@RequestParam(name = "prolongTime", required = false, defaultValue = "86400") Long prolongTime) {
if (Objects.isNull(token) || !ValidationUtil.validateToken(token)) {
......
package cn.quantgroup.xyqb.controller.internal.user.center;
import cn.quantgroup.user.enums.*;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.EducationEnum;
import cn.quantgroup.user.enums.IncomeRangeEnum;
import cn.quantgroup.user.enums.MaritalStatus;
import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.RedisLock;
import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserAttached;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
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.UserCenterService;
import cn.quantgroup.xyqb.util.TenantUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import io.swagger.annotations.ApiOperation;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by 11 on 2017/3/22.
......@@ -86,7 +104,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/queryNick")
@ApiOperation(value = "查询昵称", notes = "查询用户昵称", httpMethod = "POST")
public JsonResult queryUserNick(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
......@@ -112,7 +129,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/saveNick")
@ApiOperation(value = "保存昵称", notes = "保存用户昵称", httpMethod = "POST")
public JsonResult saveUserNick(String phoneNo, String nick) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
......@@ -127,7 +143,6 @@ public class UserCenterController {
}
@RequestMapping("/kdsp/saveNick")
@ApiOperation(value = "保存昵称", notes = "保存用户昵称", httpMethod = "POST")
public JsonResult saveUserNickForKdsp(Long userId, String nick) {
if (null == userId || userId == 0L) {
return JsonResult.buildErrorStateResult("该用户不存在", null);
......@@ -137,7 +152,6 @@ public class UserCenterController {
}
@RequestMapping("/kdsp/save/avatar")
@ApiOperation(value = "保存头像", notes = "保存用户头像", httpMethod = "POST")
public JsonResult saveUserAvatarAddrForKdsp(Long userId, String avatarUrl) {
if (StringUtils.isBlank(avatarUrl)) {
log.error("参数不合法:avatarUrl:{}}", avatarUrl );
......@@ -162,7 +176,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/save/avatar")
@ApiOperation(value = "保存头像", notes = "保存用户头像", httpMethod = "POST")
public JsonResult SaveUserAvatarAddr(String phoneNo, String avatarUrl) {
if (StringUtils.isBlank(avatarUrl) || StringUtils.isBlank(phoneNo)) {
log.error("参数不合法:avatarUrl:{}, phoneNo:{}", avatarUrl, phoneNo);
......@@ -190,7 +203,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/query/verified")
@ApiOperation(value = "查询用户是否实名认证", notes = "查询用户是否实名认证", httpMethod = "POST")
public JsonResult queryVerified(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
......@@ -217,7 +229,6 @@ public class UserCenterController {
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@RequestMapping("/personalData")
@ApiOperation(value = "查询个人资料信息", notes = "查询个人资料信息", httpMethod = "POST")
public JsonResult personalData(String phoneNo) {
if (StringUtils.isBlank(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
......@@ -260,7 +271,6 @@ public class UserCenterController {
*/
@AccessForbiddenValidator
@RequestMapping("/contacts/save")
@ApiOperation(value = "保存用户联系人", notes = "保存用户联系人", httpMethod = "POST")
public JsonResult saveUserContact(String phoneNo, String contactJson) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("保存联系人,参数错误. phoneNo:{}", phoneNo);
......@@ -302,7 +312,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/address/save")
@ApiOperation(value = "保存用户地址", notes = "保存用户地址", httpMethod = "POST")
public JsonResult saveUserAddress(String phoneNo, String province, Long provinceCode, String city, Long cityCode, String address,
Long districtCode, String district) {
log.info("保存用户地址信息, phoneNo:{}, province:{}, provinceCode:{}, city:{}, cityCode:{},district:{}, address:{}", phoneNo, province, provinceCode, city, cityCode, district, address);
......@@ -338,7 +347,6 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/searchAddress/phoneNo")
@ApiOperation(value = "查询用户地址", notes = "查询用户地址", httpMethod = "POST")
public JsonResult searchUserAddress(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
......@@ -360,7 +368,6 @@ public class UserCenterController {
*/
@AccessForbiddenValidator
@RequestMapping("/searchContacts/phoneNo")
@ApiOperation(value = "查询用户联系人", notes = "查询用户联系人", httpMethod = "POST")
public JsonResult searchUserContacts(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
......@@ -386,7 +393,6 @@ public class UserCenterController {
@AccessForbiddenValidator
@RequestMapping("/save/userExtInfo")
@RedisLock(prefix = "lock:user:ext:", key = "#this[0]")
@ApiOperation(value = "保存用户经济学历等信息", notes = "保存用户经济学历等信息", httpMethod = "POST")
public JsonResult saveUserExtInfo(String phoneNo, EducationEnum educationEnum, MaritalStatus maritalStatus, IncomeRangeEnum incomeRangeEnum, OccupationEnum occupationEnum) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
......
package cn.quantgroup.xyqb.controller.internal.user.resp;
import cn.quantgroup.user.enums.BizType;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
......
......@@ -7,13 +7,16 @@ import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.middleoffice.applet.IAppletService;
import com.alibaba.fastjson.JSON;
import java.util.Arrays;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
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;
/**
* @author :dongjianhua
......
......@@ -4,9 +4,8 @@ import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.util.BctyptPasswordUtil;
import cn.quantgroup.xyqb.util.PasswordUtil;
import org.springframework.stereotype.Component;
import java.util.Objects;
import org.springframework.stereotype.Component;
/**
* 密码校验策略
......
......@@ -3,9 +3,8 @@ package cn.quantgroup.xyqb.controller.middleoffice.common;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import cn.quantgroup.xyqb.service.sms.ISmsService;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
/**
* 基于短信策略的验证
......
package cn.quantgroup.xyqb.controller.middleoffice.common;
import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import java.util.HashMap;
import java.util.Map;
......
......@@ -2,10 +2,9 @@ package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
/**
* 极验验证码认证
......
package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import java.util.HashMap;
import java.util.Map;
......
package cn.quantgroup.xyqb.controller.middleoffice.common.image;
import cn.quantgroup.xyqb.service.captcha.IQuantgroupCaptchaService;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
/**
* 量化派验证码认证
......
......@@ -10,13 +10,17 @@ import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.sql.Timestamp;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 联系人
......
......@@ -2,13 +2,12 @@ package cn.quantgroup.xyqb.controller.middleoffice.contact.dto;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.entity.Contact;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@Validated
public class ContactSaveDto {
......
......@@ -8,15 +8,19 @@ import cn.quantgroup.xyqb.model.ClientType;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.captcha.IGeetestCaptchaService;
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.Locale;
import java.util.Map;
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,10 +2,14 @@ package cn.quantgroup.xyqb.controller.middleoffice.login;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum;
import cn.quantgroup.xyqb.model.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 注册与登陆
......
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.xyqb.controller.middleoffice.common.VerifyStrategyFactory;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum;
......@@ -10,13 +12,10 @@ import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IUserService;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_ENABLE_ERROR;
/**
* 面向服务的聚合模块。
*/
......
......@@ -5,13 +5,12 @@ 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.ImageVerifyTypeEnum;
import cn.quantgroup.xyqb.model.JsonResult;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 短信
*/
......
......@@ -6,14 +6,19 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
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;
/**
* 用户信息
......
......@@ -9,13 +9,16 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.sql.Timestamp;
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;
/**
* 用户实名信息
......
......@@ -13,8 +13,10 @@ import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -24,10 +26,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
* 用户扩展信息
*/
......
......@@ -3,9 +3,8 @@ package cn.quantgroup.xyqb.controller.middleoffice.userext.req;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.UserExtInfo;
import lombok.Data;
import java.util.List;
import lombok.Data;
@Data
public class UserExtReq {
......
......@@ -8,14 +8,20 @@ import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
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.Map;
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;
/**
* 微信
......
......@@ -10,11 +10,10 @@ import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IModifyPhoneNoService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationConfig;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.text.SimpleDateFormat;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -23,12 +22,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
/**
* 用户手机号修改相关api
* <p>
......@@ -37,7 +30,6 @@ import java.text.SimpleDateFormat;
*
* @author: yangrui
*/
@Api(tags = "用户手机号修改相关api")
@RestController
@RequestMapping("/v1/user/modify/phone_no")
public class ModifyPhoneNoController implements IBaseController {
......@@ -45,7 +37,6 @@ public class ModifyPhoneNoController implements IBaseController {
@Resource
private IModifyPhoneNoService modifyPhoneNoService;
@ApiOperation("app - 查询用户手机号修改进度")
@GetMapping("/progress")
public JsonResult<ProgressResp> progress() {
User user = getCurrentUserFromRedis();
......@@ -62,7 +53,6 @@ public class ModifyPhoneNoController implements IBaseController {
* @param step1Req
* @return
*/
@ApiOperation("app - 申请修改手机号Step_1")
@PostMapping("/step_1")
public JsonResult step1(@Valid @RequestBody Step1Req step1Req) {
User user = getCurrentUserFromRedis();
......@@ -78,7 +68,6 @@ public class ModifyPhoneNoController implements IBaseController {
* @param step2Req
* @return
*/
@ApiOperation("app - 申请修改手机号Step_2")
@PostMapping("/step_2")
public JsonResult step2(@Valid @RequestBody Step2Req step2Req) {
modifyPhoneNoService.saveStep2(step2Req);
......@@ -90,7 +79,6 @@ public class ModifyPhoneNoController implements IBaseController {
/**
* 后台客服处理功能 - 查询列表
*/
@ApiOperation("后台客服处理功能 - 查询列表")
@GetMapping
public JsonResult<?> list(@Valid ModifyPhoneNoQueryReq modifyPhoneNoQueryReq) {
Page<ModifyPhoneNo> list = modifyPhoneNoService.list(modifyPhoneNoQueryReq);
......@@ -109,7 +97,6 @@ public class ModifyPhoneNoController implements IBaseController {
/**
* 后台客服处理功能 - 人工审核
*/
@ApiOperation("后台客服处理功能 - 人工审核")
@PostMapping("/audit")
public JsonResult audit(@Valid @RequestBody AuditReq auditReq) {
modifyPhoneNoService.audit(auditReq);
......@@ -119,7 +106,6 @@ public class ModifyPhoneNoController implements IBaseController {
/**
* 后台客服处理功能 - 反馈跟进
*/
@ApiOperation("后台客服处理功能 - 反馈跟进")
@PostMapping("/{id}/feedback")
public JsonResult feedback(@PathVariable Long id) {
modifyPhoneNoService.feedback(id);
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Date: 2019/11/4
* Time: 上午11:53
......@@ -20,10 +18,10 @@ public class AuditReq implements Serializable {
private static final long serialVersionUID = 9183603336718659105L;
@NotNull(message = "id不能为空")
private Long id;
@ApiModelProperty("申请状态 1 通过; 2 不通过;")
//@ApiModelProperty("申请状态 1 通过; 2 不通过;")
@NotNull(message = "申请状态不能为空")
private ModifyPhoneNoApplyStatusEnum applyStatus;
@ApiModelProperty("申请状态补充原因")
//@ApiModelProperty("申请状态补充原因")
@Length(max = 256, message = "原因最长256字符")
private String applyStatusReason;
}
package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.controller.req.Page;
import cn.quantgroup.xyqb.model.ModifyPhoneNoApplyStatusEnum;
import cn.quantgroup.xyqb.model.ModifyPhoneNoProcessingStatusEnum;
import cn.quantgroup.xyqb.controller.req.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import lombok.Data;
/**
* Date: 2019/11/5
......@@ -21,30 +19,30 @@ public class ModifyPhoneNoQueryReq extends Page implements Serializable {
/**
* 申请人旧手机号
*/
@ApiModelProperty("申请人旧手机号")
//@ApiModelProperty("申请人旧手机号")
private String phoneNo;
/**
* 开始时间
*/
@ApiModelProperty("开始时间")
//@ApiModelProperty("开始时间")
private String startAt;
/**
* 结束时间
*/
@ApiModelProperty("结束时间")
//@ApiModelProperty("结束时间")
private String endAt;
/**
* 申请状态 0处理中; 1修改完成; 2不允许修改;
*/
@ApiModelProperty("申请状态 0 处理中; 1 修改完成; 2 不允许修改;")
//@ApiModelProperty("申请状态 0 处理中; 1 修改完成; 2 不允许修改;")
private ModifyPhoneNoApplyStatusEnum applyStatus;
/**
* 处理状态 0待人工处理 1待用户反馈结果 2已反馈
*/
@ApiModelProperty("处理状态 0 待人工处理; 1 待用户反馈结果; 2 已反馈;")
//@ApiModelProperty("处理状态 0 待人工处理; 1 待用户反馈结果; 2 已反馈;")
private ModifyPhoneNoProcessingStatusEnum processingStatus;
}
......@@ -3,16 +3,13 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.IdCard;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.Pattern;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
/**
* Date: 2019/11/4
* Time: 上午11:29
......@@ -26,7 +23,7 @@ public class Step1Req implements Serializable {
/**
* 注册人真实姓名
*/
@ApiModelProperty("注册人真实姓名")
//@ApiModelProperty("注册人真实姓名")
@NotBlank(message = "注册人真实姓名不能为空")
@Length(max = 32, message = "注册人真实姓名最长32字符")
private String name;
......@@ -34,7 +31,7 @@ public class Step1Req implements Serializable {
/**
* 注册人身份证件号
*/
@ApiModelProperty("注册人身份证件号")
//@ApiModelProperty("注册人身份证件号")
@NotBlank(message = "注册人身份证件号不能为空")
@IdCard
private String idCard;
......@@ -42,7 +39,7 @@ public class Step1Req implements Serializable {
/**
* 当前手机号码
*/
@ApiModelProperty("当前手机号码")
//@ApiModelProperty("当前手机号码")
@NotBlank(message = "当前手机号码不能为空")
@Pattern(regexp = ValidationUtil.phoneRegExp, message = "当前手机号码格式错误")
private String prevPhoneNo;
......@@ -50,7 +47,7 @@ public class Step1Req implements Serializable {
/**
* 新手机号码
*/
@ApiModelProperty("新手机号码")
//@ApiModelProperty("新手机号码")
@NotBlank(message = "新手机号码不能为空")
@Pattern(regexp = ValidationUtil.phoneRegExp, message = "新手机号码格式错误")
private String curPhoneNo;
......@@ -58,7 +55,7 @@ public class Step1Req implements Serializable {
/**
* 新手机号码短信验证码
*/
@ApiModelProperty("新手机号码短信验证码")
//@ApiModelProperty("新手机号码短信验证码")
@NotBlank(message = "新手机号码短信验证码不能为空")
private String smsCode;
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Date: 2019/11/4
* Time: 上午11:37
......@@ -27,7 +25,7 @@ public class Step2Req implements Serializable {
/**
* 身份证正面
*/
@ApiModelProperty("身份证正面")
//@ApiModelProperty("身份证正面")
@NotBlank(message = "身份证正面不能为空")
@Length(max = 256, message = "身份证正面图片地址最长256字符")
private String idCardFaceUrl;
......@@ -35,7 +33,7 @@ public class Step2Req implements Serializable {
/**
* 身份证背面
*/
@ApiModelProperty("身份证背面")
//@ApiModelProperty("身份证背面")
@NotBlank(message = "身份证背面不能为空")
@Length(max = 256, message = "身份证背面图片地址最长256字符")
private String idCardRearUrl;
......@@ -43,7 +41,7 @@ public class Step2Req implements Serializable {
/**
* 本人手持身份证照片
*/
@ApiModelProperty("本人手持身份证照片")
//@ApiModelProperty("本人手持身份证照片")
@NotBlank(message = "本人手持身份证照片不能为空")
@Length(max = 256, message = "本人手持身份证照片地址最长256字符")
private String idCardHoldUrl;
......
package cn.quantgroup.xyqb.controller.modifyphoneno.resp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import lombok.Data;
/**
* Date: 2019/11/4
......@@ -14,30 +12,30 @@ import java.util.Date;
@Data
public class ModifyPhoneNoResp {
private Long id;
@ApiModelProperty("申请编号")
// //@ApiModelProperty("申请编号")
private String applyNo;
@ApiModelProperty("申请人姓名")
// //@ApiModelProperty("申请人姓名")
private String name;
@ApiModelProperty("申请人身份证号")
// //@ApiModelProperty("申请人身份证号")
private String idCard;
@ApiModelProperty("申请人原手机号")
//@ApiModelProperty("申请人原手机号")
private String prevPhoneNo;
@ApiModelProperty("申请人现手机号")
//@ApiModelProperty("申请人现手机号")
private String curPhoneNo;
@ApiModelProperty("申请时间")
//@ApiModelProperty("申请时间")
private Date createdAt;
@ApiModelProperty("申请结果")
//@ApiModelProperty("申请结果")
private Integer applyStatus;
@ApiModelProperty("拒绝原因")
//@ApiModelProperty("拒绝原因")
private String applyStatusReason;
@ApiModelProperty("处理状态")
//@ApiModelProperty("处理状态")
private Integer processStatus;
@ApiModelProperty("最近更新时间")
//@ApiModelProperty("最近更新时间")
private Date updatedAt;
@ApiModelProperty("身份证正面")
//@ApiModelProperty("身份证正面")
private String idCardFaceUrl;
@ApiModelProperty("身份证背面")
//@ApiModelProperty("身份证背面")
private String idCardRearUrl;
@ApiModelProperty("本人手持身份证照片")
//@ApiModelProperty("本人手持身份证照片")
private String idCardHoldUrl;
}
package cn.quantgroup.xyqb.controller.req;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
......@@ -17,13 +16,13 @@ public class Page {
/**
* page
*/
@ApiModelProperty("one-based page index")
//@ApiModelProperty("one-based page index")
private Integer page = 1;
/**
* size
*/
@ApiModelProperty("the size of the page to be returned")
//@ApiModelProperty("the size of the page to be returned")
@Range(min = 1, max = 1000, message = "size参数必须在1到1000之间")
private Integer size = 30;
}
......@@ -3,13 +3,12 @@ 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;
import javax.annotation.Resource;
/**
* @author :dongjianhua
* @date :Created in 2020/12/14 15:02
......
......@@ -7,15 +7,14 @@ import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService;
import cn.quantgroup.xyqb.service.user.IProductLoginService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.TenantUtil;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/tenant")
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import lombok.Data;
/**
* Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
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
......
......@@ -4,16 +4,15 @@ import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.util.ValidationUtil;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
* Created by 11 on 2016/12/30.
*/
......
package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.util.StringUtils;
import javax.persistence.*;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Created with IntelliJ IDEA.
......
......@@ -3,10 +3,12 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.util.StringUtils;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Created with IntelliJ IDEA.
......
......@@ -2,14 +2,13 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import lombok.Data;
/**
* Created by 11 on 2017/3/22.
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import lombok.Data;
/**
* Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import lombok.Data;
/**
* Created by 11 on 2016/12/30.
......
package cn.quantgroup.xyqb.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import lombok.Data;
/**
* Date: 2019/11/4
......
......@@ -3,13 +3,12 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity;
import cn.quantgroup.xyqb.util.StringUtils;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Objects;
/**
* Created with IntelliJ IDEA.
......
package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.entity.converter.EncryptConverter;
import cn.quantgroup.xyqb.util.StringUtils;
import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDate;
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.
......
......@@ -2,12 +2,11 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.OptimisticEntity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
* Created with IntelliJ IDEA.
......
package cn.quantgroup.xyqb.entity;
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.Setter;
import lombok.ToString;
import org.apache.commons.lang.StringUtils;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
/**
* Created by Miraculous on 15/7/4.
*/
......
package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.Data;
/**
* Created by 11 on 2017/3/22.
......
package cn.quantgroup.xyqb.entity;
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 org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.sql.Timestamp;
/**
* @author xufei on 2018/1/5.
*/
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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