유저생성 정보
로그인 정보 batch 추가
This commit is contained in:
@@ -14,7 +14,9 @@ public enum StatisticsType {
|
||||
CAPACITY,
|
||||
UGQ_CREATE,
|
||||
SERVER_INFO,
|
||||
MONEY
|
||||
MONEY,
|
||||
USER_CREATE,
|
||||
USER_LOGIN
|
||||
;
|
||||
|
||||
public static StatisticsType getStatisticsType(String type) {
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "userCreate")
|
||||
public class UserCreateLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private String accountId;
|
||||
private String userGuid;
|
||||
private String userNickname;
|
||||
private String createdTime;
|
||||
|
||||
public UserCreateLogInfo(String logDay, String accountId, String userGuid, String userNickname, String createdTime) {
|
||||
super(StatisticsType.USER_CREATE);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.accountId = accountId;
|
||||
this.userGuid = userGuid;
|
||||
this.userNickname = userNickname;
|
||||
this.createdTime = createdTime;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "userLogin")
|
||||
public class UserLoginLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private String accountId;
|
||||
private String userGuid;
|
||||
private String userNickname;
|
||||
private List<Map<String, Object>> sessions;
|
||||
private String firstLoginTime;
|
||||
private String lastLogoutTime;
|
||||
private Integer loginCount;
|
||||
private Double totalPlayTime;
|
||||
|
||||
public UserLoginLogInfo(String logDay,
|
||||
String accountId,
|
||||
String userGuid,
|
||||
String userNickname,
|
||||
List<Map<String, Object>> sessions,
|
||||
String firstLoginTime,
|
||||
String lastLogoutTime,
|
||||
Integer loginCount,
|
||||
Double totalPlayTime)
|
||||
{
|
||||
super(StatisticsType.USER_LOGIN);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.accountId = accountId;
|
||||
this.userGuid = userGuid;
|
||||
this.userNickname = userNickname;
|
||||
this.sessions = sessions;
|
||||
this.firstLoginTime = firstLoginTime;
|
||||
this.lastLogoutTime = lastLogoutTime;
|
||||
this.loginCount = loginCount;
|
||||
this.totalPlayTime = totalPlayTime;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.UserCreateLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorUserCreateRepository extends MongoRepository<UserCreateLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.UserLoginLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorUserLoginRepository extends MongoRepository<UserLoginLogInfo, String> {
|
||||
}
|
||||
@@ -195,8 +195,8 @@ public class ScheduleSetter {
|
||||
}
|
||||
|
||||
//log
|
||||
@Scheduled(cron = "00 00 00 1 * ?") // 매월 1일에 실행
|
||||
public void logJob(){
|
||||
logService.compressLastMonthLogs();
|
||||
}
|
||||
// @Scheduled(cron = "00 00 00 1 * ?") // 매월 1일에 실행
|
||||
// public void logJob(){
|
||||
// logService.compressLastMonthLogs();
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -5,11 +5,15 @@ import com.caliverse.admin.domain.service.BlackListService;
|
||||
import com.caliverse.admin.domain.service.EventService;
|
||||
import com.caliverse.admin.domain.service.MailService;
|
||||
import com.caliverse.admin.domain.service.NoticeService;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import com.caliverse.admin.global.common.utils.ExcelUtils;
|
||||
import com.caliverse.admin.logs.Indicatordomain.StartEndTime;
|
||||
import com.caliverse.admin.logs.logservice.LogServiceHelper;
|
||||
import com.caliverse.admin.logs.logservice.indicators.*;
|
||||
import com.caliverse.admin.redis.service.RedisUserInfoService;
|
||||
import com.caliverse.admin.scheduler.DynamicScheduler;
|
||||
import com.caliverse.admin.scheduler.SchedulerManager;
|
||||
import com.caliverse.admin.scheduler.batch.service.LogCompressService;
|
||||
import com.caliverse.admin.scheduler.entity.SchedulerType;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -26,6 +30,27 @@ public class ScheduleRunnerBatch {
|
||||
|
||||
private final SchedulerManager schedulerManager;
|
||||
|
||||
@Autowired private LogCompressService logService;
|
||||
|
||||
@Autowired private IndicatorsUserCreateService userCreateService;
|
||||
@Autowired private IndicatorsUserLoginService userLoginService;
|
||||
|
||||
//log backup
|
||||
@Scheduled(cron = "00 00 00 1 * ?") // 매월 1일에 실행
|
||||
public void logJob(){
|
||||
logService.compressLastMonthLogs();
|
||||
}
|
||||
|
||||
@Scheduled(cron = "00 30 0 * * *") // 매일 UTC 기준 00시 30분 00초에 실행
|
||||
public void userCreateScheduler() {
|
||||
StartEndTime startEndTime = LogServiceHelper.getCurrentLogSearchEndTime(AdminConstants.STAT_DAY_NUM);
|
||||
userCreateService.collectUserCreate(startEndTime.getStartTime(), startEndTime.getEndTime());
|
||||
}
|
||||
|
||||
@Scheduled(cron = "30 30 0 * * *") // 매일 UTC 기준 00시 30분 30초에 실행
|
||||
public void userLoginScheduler() {
|
||||
StartEndTime startEndTime = LogServiceHelper.getCurrentLogSearchEndTime(AdminConstants.STAT_DAY_NUM);
|
||||
userLoginService.collectUserLogin(startEndTime.getStartTime(), startEndTime.getEndTime());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user