提交 58f83026 编写于 作者: rushui.chen's avatar rushui.chen

20200413 完善数据库日志

上级 e2d2c4ee
流水线 #24231 已失败 于阶段
in 0 second
......@@ -171,6 +171,7 @@ public abstract class AccountBaseController extends BaseController {
accountUser.setLoginFrom(this.getSourceType());
accountUser.setLoginPlatform(this.getProductType());
accountUser.setLoginIp(super.getIpAddr());
accountUser.setUserTokenTourist(this.getUserTokenTourist());
return accountUser;
}
......@@ -216,4 +217,9 @@ public abstract class AccountBaseController extends BaseController {
}
return null;
}
public String getUserTokenTourist() {
HttpServletRequest request = super.getRequest();
return request.getHeader("user_token_tourist");
}
}
......@@ -69,6 +69,7 @@ public class LoginController extends AccountBaseController {
Integer sourceType = super.getSourceType();
request.setSourceType(sourceType);
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
AccountUtils.checkMobilePhone(request.getMobile());
AccountUtils.checkPassword(request.getPassword());
LoginResult login = loginService.login(request);
......@@ -95,6 +96,7 @@ public class LoginController extends AccountBaseController {
Integer sourceType = super.getSourceType();
request.setSourceType(sourceType);
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
LoginResult login = loginService.loginAndRegister(request);
if (SourceTypeEnum.SAAS.getCode().equals(sourceType)) {
login.setDoctorId("");
......@@ -111,6 +113,7 @@ public class LoginController extends AccountBaseController {
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
LoginResult result = loginService.loginByWeChat(request);
return PicaResponse.toResponse(result);
}
......@@ -122,6 +125,7 @@ public class LoginController extends AccountBaseController {
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
LoginResult result = loginService.loginByWeChatStep(request);
return PicaResponse.toResponse(result);
}
......@@ -137,7 +141,7 @@ public class LoginController extends AccountBaseController {
@PostMapping("/login/wechat/bind")
public PicaResponse bindWeChat(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setUserTokenTourist(super.getUserTokenTourist());
Long result = cacheClient.setnx(cache_prifix + request.getWeChatCode(), request.getWeChatCode());
if (result == 1) {
try {
......@@ -187,7 +191,7 @@ public class LoginController extends AccountBaseController {
String newToken = tokenService.getToken(headersMap);
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, super.getProductType(), super.getSourceType(),
AccountTypeEnum.LOGIN_OUT.getCode(), super.getIpAddr(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(), AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),
newToken);
newToken,0,super.getUserTokenTourist());
picaLogUtils.info(entity);
return PicaResponse.toResponse(newToken);
} else {
......@@ -229,6 +233,7 @@ public class LoginController extends AccountBaseController {
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
return PicaResponse.toResponse(loginService.loginByApple(request));
}
......@@ -239,6 +244,7 @@ public class LoginController extends AccountBaseController {
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
return PicaResponse.toResponse(loginService.loginByAppleStep(request));
}
......@@ -250,6 +256,7 @@ public class LoginController extends AccountBaseController {
req.setProductType(super.getProductType());
req.setSourceType(super.getSourceType());
req.setLoginIp(super.getIpAddr());
req.setUserTokenTourist(super.getUserTokenTourist());
LoginResult oneClickLoginResultVo = loginService.oneClickLogin(req);
return PicaResponse.toResponse(oneClickLoginResultVo);
}
......
......@@ -50,6 +50,7 @@ public class RegisterController extends AccountBaseController {
Integer sourceType = super.getSourceType();
request.setSourceType(sourceType);
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
result = registerService.register(request);
if (sourceType==3){
result.setDoctorId("");
......
......@@ -15,6 +15,17 @@ public class AccountUser extends PicaUser {
//登录ip
private String loginIp;
//用户本地token
private String userTokenTourist;
public String getUserTokenTourist() {
return userTokenTourist;
}
public void setUserTokenTourist(String userTokenTourist) {
this.userTokenTourist = userTokenTourist;
}
public Integer getAcctId() {
return acctId;
}
......
......@@ -40,6 +40,26 @@ public class LogLoginEntity extends AccountLogEntity {
private String token;
private int isLogin;
private String userTokenTourist;
public int getIsLogin() {
return isLogin;
}
public void setIsLogin(int isLogin) {
this.isLogin = isLogin;
}
public String getUserTokenTourist() {
return userTokenTourist;
}
public void setUserTokenTourist(String userTokenTourist) {
this.userTokenTourist = userTokenTourist;
}
private QueryMobileEntity queryMobileEntity;
public QueryMobileEntity getQueryMobileEntity() {
......
......@@ -21,7 +21,7 @@ public class AccountLogEntityUtils {
* @return
*/
public static LogLoginEntity getLogLoginEntity(Integer acctId, Integer productType, Integer sourceType,
int code, String ipAddr, int code1, int code2,String token) {
int code, String ipAddr, int code1, int code2,String token,int isLogin,String userTokenTourist) {
LogLoginEntity entity = new LogLoginEntity();
Date currentTime = new Date();
entity.setAcctId(acctId);
......
......@@ -52,6 +52,16 @@ public class BaseRequest {
private Integer xPos;
@ApiModelProperty("h5端适配缩放后背景图实际宽度")
private Integer imageW;
@ApiModelProperty("用户本地token")
private String userTokenTourist;
public String getUserTokenTourist() {
return userTokenTourist;
}
public void setUserTokenTourist(String userTokenTourist) {
this.userTokenTourist = userTokenTourist;
}
public String getCaptchaToken() {
return captchaToken;
......
......@@ -15,6 +15,8 @@ public class OneClickLoginReq {
private Integer productType = 0;
private String userTokenTourist;
public String getLoginIp() {
return loginIp;
}
......@@ -46,4 +48,14 @@ public class OneClickLoginReq {
public void setSourceType(Integer sourceType) {
this.sourceType = sourceType;
}
public String getUserTokenTourist() {
return userTokenTourist;
}
public void setUserTokenTourist(String userTokenTourist) {
this.userTokenTourist = userTokenTourist;
}
}
......@@ -248,11 +248,10 @@ public class LoginServiceImpl implements LoginService {
result.setDoctorId(EncryptUtils.encryptContent(userId + "", EncryptConstants.ENCRYPT_TYPE_ID));
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
result.setEntireFlag(doctorInfo.getEntireFlag());
}
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, productType, sourceType,
AccountTypeEnum.LOGIN_PWD.getCode(), request.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken);
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken,1,request.getUserTokenTourist());
picaLogUtils.info(entity);
// 密码登录成功以后,清除错误次数记录
......@@ -311,7 +310,7 @@ public class LoginServiceImpl implements LoginService {
}
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, baseRequest.getProductType(), baseRequest.getSourceType(),
loginType, baseRequest.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(), AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken);
loginType, baseRequest.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(), AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken,1,baseRequest.getUserTokenTourist);
if (queryMobileEntity != null) {
entity.setQueryMobileEntity(queryMobileEntity);
}
......@@ -372,7 +371,7 @@ public class LoginServiceImpl implements LoginService {
AccountTypeEnum.LOGIN_WE_CHAT.getCode(),
request.getLoginIp(),
AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken);
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken,1,request.getUserTokenTourist());
picaLogUtils.info(entity);
return result;
......@@ -691,7 +690,7 @@ public class LoginServiceImpl implements LoginService {
AccountTypeEnum.LOGIN_APPLE.getCode(),
request.getLoginIp(),
AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken);
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken,1,request.getUserTokenTourist());
picaLogUtils.info(entity);
long end1 = System.currentTimeMillis();
......
......@@ -139,7 +139,7 @@ public class RegisterServiceImpl implements RegisterService {
result.setMobile(mobile);
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, productType, baseRequest.getSourceType(),
AccountTypeEnum.LOGIN_REGISTER.getCode(), baseRequest.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken);
AccountTypeEnum.LOG_TYPE_LOGIN.getCode(),newToken,1,baseRequest.getUserTokenTourist());
if(queryMobileEntity != null){
entity.setQueryMobileEntity(queryMobileEntity);
}
......
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="30">
<properties>
<property name="logPath" value="${sys:LOG_PATH:-/opt/tomcat-log}"/>
<property name="logPatternLayout"
value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%t] %class{36}.%M - %msg%xEx%n"/>
<property name="logRolloverSize" value="100M"/>
<property name="logKeepDays" value="15d"/>
<property name="logDirNumberOfFiles" value="300"/>
</properties>
<Appenders>
<!--CONSOLE-->
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
</Console>
<!--TRACE-->
<RollingFile name="TRACE" filename="${logPath}/trace.log"
filepattern="${logPath}/$${date:yyyy-MM-dd}/trace-%d{yyyyMMdd}-%i.log">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
<Filters>
<ThresholdFilter level="debug" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${logRolloverSize}"/>
</Policies>
<DefaultRolloverStrategy max="${logDirNumberOfFiles}">
<Delete basePath="${logPath}" maxDepth="3">
<IfFileName glob="*/trace*.log"/>
<IfLastModified age="${logKeepDays}"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<!--DEBUG-->
<RollingFile name="DEBUG" filename="${logPath}/debug.log"
filepattern="${logPath}/$${date:yyyy-MM-dd}/debug-%d{yyyyMMdd}-%i.log">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
<Filters>
<ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${logRolloverSize}"/>
</Policies>
<DefaultRolloverStrategy max="${logDirNumberOfFiles}">
<Delete basePath="${logPath}" maxDepth="3">
<IfFileName glob="*/debug*.log"/>
<IfLastModified age="${logKeepDays}"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<!--INFO-->
<RollingFile name="INFO" filename="${logPath}/info.log"
filepattern="${logPath}/$${date:yyyy-MM-dd}/info-%d{yyyyMMdd}-%i.log">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${logRolloverSize}"/>
</Policies>
<DefaultRolloverStrategy max="${logDirNumberOfFiles}">
<Delete basePath="${logPath}" maxDepth="3">
<IfFileName glob="*/info*.log"/>
<IfLastModified age="${logKeepDays}"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<!--WARN-->
<RollingFile name="WARN" filename="${logPath}/warn.log"
filepattern="${logPath}/$${date:yyyy-MM-dd}/warn-%d{yyyyMMdd}-%i.log">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
<Filters>
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${logRolloverSize}"/>
</Policies>
<DefaultRolloverStrategy max="${logDirNumberOfFiles}">
<Delete basePath="${logPath}" maxDepth="3">
<IfFileName glob="*/warn*.log"/>
<IfLastModified age="${logKeepDays}"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<!--ERROR-->
<RollingFile name="ERROR" filename="${logPath}/error.log"
filepattern="${logPath}/$${date:yyyy-MM-dd}/error-%d{yyyyMMdd}-%i.log">
<PatternLayout charset="UTF-8" pattern="${logPatternLayout}"/>
<Filters>
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${logRolloverSize}"/>
</Policies>
<DefaultRolloverStrategy max="${logDirNumberOfFiles}">
<Delete basePath="${logPath}" maxDepth="3">
<IfFileName glob="*/error*.log"/>
<IfLastModified age="${logKeepDays}"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<CatAppender name="CatAppender"/>
</Appenders>
<Loggers>
<Root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TRACE"/>
<appender-ref ref="DEBUG"/>
<appender-ref ref="INFO"/>
<appender-ref ref="WARN"/>
<appender-ref ref="ERROR"/>
<appender-ref ref="CatAppender"/>
</Root>
  
<Logger name="org.apache.catalina.startup.DigesterFactory" level="error"/>
        
<Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
        
<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
        
<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
        
<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
        
<Logger name="org.crsh.plugin" level="warn"/>
        
<logger name="org.crsh.ssh" level="warn"/>
        
<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
        
<Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
        
<logger name="org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration" level="warn"/>
        
<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
        
<logger name="org.thymeleaf" level="warn"/>
</Loggers>
</Configuration>
\ No newline at end of file
......@@ -40,12 +40,12 @@
product_type, source_type, login_type,
login_ip, login_time, login_status,
create_id, create_time, modify_id,
modify_time, delete_flag,token)
modify_time, delete_flag,token,is_login,user_token_tourist)
values (#{acctId,jdbcType=INTEGER}, #{acctName,jdbcType=VARCHAR},
#{productType,jdbcType=TINYINT}, #{sourceType,jdbcType=TINYINT}, #{loginType,jdbcType=TINYINT},
#{loginIp,jdbcType=VARCHAR}, #{loginTime,jdbcType=TIMESTAMP}, #{loginStatus,jdbcType=TINYINT},
#{createId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyId,jdbcType=INTEGER},
#{modifyTime,jdbcType=TIMESTAMP}, #{deleteFlag,jdbcType=TINYINT},#{token})
#{modifyTime,jdbcType=TIMESTAMP}, #{deleteFlag,jdbcType=TINYINT},#{token},#{isLogin},#{userTokenTourist})
</insert>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册