init
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package com.caliverse.admin.Indicators.Indicatordomain;
|
||||
|
||||
public interface IndicatorsLog {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.caliverse.admin.Indicators.Indicatordomain;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import com.caliverse.admin.domain.entity.Currencys;
|
||||
import com.caliverse.admin.domain.entity.Distinct;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.DailyGoods;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.Dau;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.MCU;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.NRU;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.PU;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.Playtime;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.Retention;
|
||||
import com.caliverse.admin.domain.response.IndicatorsResponse.Segment;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class IndicatorsResult {
|
||||
|
||||
private String message;
|
||||
|
||||
//이용자 지표
|
||||
private LocalDate date;
|
||||
private Dau dau;
|
||||
private NRU nru;
|
||||
private PU pu;
|
||||
private MCU mcu;
|
||||
@JsonProperty("distinct")
|
||||
private List<Distinct> list;
|
||||
//Retention
|
||||
@JsonProperty("retention")
|
||||
private List<Retention> retentionList;
|
||||
//Segment
|
||||
@JsonProperty("start_dt")
|
||||
private String startDt;
|
||||
@JsonProperty("end_dt")
|
||||
private String endDt;
|
||||
@JsonProperty("segment")
|
||||
private List<Segment> segmentList;
|
||||
//플레이타임
|
||||
@JsonProperty("playtime")
|
||||
private List<Playtime> playtimeList;
|
||||
//재화
|
||||
@JsonProperty("currencys")
|
||||
private List<Currencys> currencysList;
|
||||
@JsonProperty("list")
|
||||
private List<DailyGoods> dailyGoods;
|
||||
|
||||
//@JsonProperty("dau_list")
|
||||
//private List<DailyActiveUser> dailyActiveUserList;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
|
||||
@Service
|
||||
public class IndicatorsAuLoadService extends IndicatorsLogLoadServiceBase {
|
||||
|
||||
public IndicatorsAuLoadService( @Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate){
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
|
||||
Criteria criteria = makeCriteria(startTime, endTime);
|
||||
List<AggregationOperation> operations = setDefaultOperation(criteria);
|
||||
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
AggregationResults<T> results = mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_LOG, clazz);
|
||||
|
||||
List<T> mappedResult = results.getMappedResults();
|
||||
return mappedResult;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsCapacityLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsCapacityLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_CAPACITY_READ_TOTAL).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_KEY_CAPACITY_READ_TOTAL)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_CAPACITY_WRITE_TOTAL).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_KEY_CAPACITY_WRITE_TOTAL);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_CAPACITY, clazz)
|
||||
.getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_CAPACITY_READ_TOTAL).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_KEY_CAPACITY_READ_TOTAL)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_CAPACITY_WRITE_TOTAL).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_KEY_CAPACITY_WRITE_TOTAL);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_CAPACITY, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsDauLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsDauLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_DAU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_DAU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_DAU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
List<T> results = mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DAU, clazz)
|
||||
.getMappedResults();
|
||||
|
||||
return results.get(0);
|
||||
|
||||
// return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DAU, clazz)
|
||||
// .getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_DAU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_DAU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_DAU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DAU, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsDglcLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsDglcLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_DGLC, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DGLC, clazz)
|
||||
.getUniqueMappedResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_DGLC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_DGLC).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_DGLC);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DGLC, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsMauLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsMauLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_MAU, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_MAU, clazz)
|
||||
.getUniqueMappedResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_MAU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_MAU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_MAU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_MAU, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsMcuLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsMcuLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_MAX_COUNT_USER, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_MAX_COUNT_USER).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_MCU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
List<T> results = mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_MCU, clazz)
|
||||
.getMappedResults();
|
||||
|
||||
return results.get(0);
|
||||
|
||||
// return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_MCU, clazz)
|
||||
// .getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_MAX_COUNT_USER, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_MAX_COUNT_USER).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_MCU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_MCU, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsMetaverServerLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsMetaverServerLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_SERVER_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_SERVER_COUNT).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_METAVER_SERVER);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
List<T> results = mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_METAVER_SERVER, clazz)
|
||||
.getMappedResults();
|
||||
|
||||
return results.get(0);
|
||||
|
||||
// return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_DAU, clazz)
|
||||
// .getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_SERVER_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_SERVER_COUNT).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_METAVER_SERVER);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_METAVER_SERVER, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsNruLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsNruLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_NRU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_NRU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_NRU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
List<T> results = mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_NRU, clazz)
|
||||
.getMappedResults();
|
||||
|
||||
return results.get(0);
|
||||
|
||||
// return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_NRU, clazz)
|
||||
// .getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_NRU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_NRU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_NRU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_NRU, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsPlayTimeLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsPlayTimeLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_TOTAL_PLAY_TIME_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_PLAYTIME, clazz)
|
||||
.getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_TOTAL_PLAY_TIME_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_TOTAL_PLAY_TIME_COUNT).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_PLAYTIME);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_PLAYTIME, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsUgqCreateLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsUgqCreateLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_UGQ_CREATE_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_UGQ_CREATE_COUNT).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_UGQ_CREATE);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_UGQ_CREATE, clazz)
|
||||
.getUniqueMappedResult(); // 단일 결과만 반환
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_KEY_UGQ_CREATE_COUNT, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_KEY_UGQ_CREATE_COUNT).then(0L))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_UGQ_CREATE);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_UGQ_CREATE, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.aggregationservice;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
import com.caliverse.admin.Indicators.Indicatorsservice.base.IndicatorsLogLoadServiceBase;
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ConditionalOperators;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IndicatorsWauLoadService extends IndicatorsLogLoadServiceBase {
|
||||
public IndicatorsWauLoadService(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
super(mongoTemplate);
|
||||
}
|
||||
|
||||
public <T extends IndicatorsLog> T getDailyIndicatorLog(String date, Class<T> clazz) {
|
||||
Criteria criteria = Criteria.where(AdminConstants.MONGO_DB_KEY_LOGDAY).is(date);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_WAU, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_WAU, clazz)
|
||||
.getUniqueMappedResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz) {
|
||||
Criteria criteria = makeCriteria(startTime, endTime, AdminConstants.MONGO_DB_KEY_LOGDAY);
|
||||
|
||||
ProjectionOperation projection = Aggregation.project()
|
||||
.andInclude(AdminConstants.MONGO_DB_COLLECTION_WAU, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(ConditionalOperators.ifNull("$" + AdminConstants.MONGO_DB_COLLECTION_WAU).then(0))
|
||||
.as(AdminConstants.MONGO_DB_COLLECTION_WAU);
|
||||
|
||||
List<AggregationOperation> operations = List.of(
|
||||
Aggregation.match(criteria),
|
||||
projection,
|
||||
Aggregation.sort(Sort.Direction.ASC, AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
);
|
||||
|
||||
Aggregation aggregation = Aggregation.newAggregation(operations);
|
||||
|
||||
return mongoTemplate.aggregate(aggregation, AdminConstants.MONGO_DB_COLLECTION_WAU, clazz).getMappedResults();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.base;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
|
||||
public interface IndicatorsLogLoadService {
|
||||
|
||||
<T extends IndicatorsLog> List<T> getIndicatorsLogData(String startTime, String endTime, Class<T> clazz);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.caliverse.admin.Indicators.Indicatorsservice.base;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
|
||||
import org.springframework.data.mongodb.core.aggregation.ProjectionOperation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||
|
||||
|
||||
@Service
|
||||
public abstract class IndicatorsLogLoadServiceBase implements IndicatorsLogLoadService {
|
||||
|
||||
protected final MongoTemplate mongoTemplate;
|
||||
|
||||
public IndicatorsLogLoadServiceBase(
|
||||
@Qualifier("mongoIndicatorTemplate") MongoTemplate mongoTemplate
|
||||
) {
|
||||
this.mongoTemplate = mongoTemplate;
|
||||
}
|
||||
|
||||
protected Criteria makeCriteria(String startDate, String endDate, String dateFieldName) {
|
||||
return new Criteria()
|
||||
.andOperator(
|
||||
Criteria.where(dateFieldName).gte(startDate),
|
||||
Criteria.where(dateFieldName).lt(endDate)
|
||||
);
|
||||
}
|
||||
|
||||
public Criteria makeCriteria(String startDate, String endDate)
|
||||
{
|
||||
return makeCriteria(startDate, endDate, AdminConstants.MONGO_DB_KEY_LOGTIME);
|
||||
}
|
||||
|
||||
// 24.12.13 현재 사용안함
|
||||
private AggregationOperation getDefaultProjectOperationName(){
|
||||
ProjectionOperation projectOperation = Aggregation.project()
|
||||
.and(AdminConstants.MONGO_DB_KEY_LOGDAY).as(AdminConstants.MONGO_DB_KEY_LOGDAY)
|
||||
.and(AdminConstants.INDICATORS_KEY_DAU_BY_LANG).as(AdminConstants.INDICATORS_KEY_DAU_BY_LANG)
|
||||
;
|
||||
return projectOperation;
|
||||
}
|
||||
|
||||
// 24.12.13 현재 사용안함
|
||||
protected List<AggregationOperation> setDefaultOperation(Criteria criteria){
|
||||
|
||||
List<AggregationOperation> operations = new ArrayList<>();
|
||||
|
||||
operations.add(Aggregation.match(criteria));
|
||||
operations.add(getDefaultProjectOperationName());
|
||||
|
||||
return operations;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "au")
|
||||
public class AuPerMinLogInfo extends LogInfoBase {
|
||||
|
||||
@Id
|
||||
private String logMinute;
|
||||
|
||||
private String languageType;
|
||||
private List<String> userGuidList;
|
||||
private int userGuidListCount;
|
||||
|
||||
|
||||
public AuPerMinLogInfo(String logMinute, String languageType, List<String> userGuidList, int userGuidListCount) {
|
||||
super(StatisticsType.AU_PER_MIN);
|
||||
|
||||
this.logMinute = logMinute;
|
||||
this.languageType = languageType;
|
||||
this.userGuidList = userGuidList;
|
||||
this.userGuidListCount = userGuidListCount;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "capacity")
|
||||
public class DBCapacityInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private String namespace;
|
||||
private Long consumeReadTotal;
|
||||
private Long consumeWriteTotal;
|
||||
|
||||
public DBCapacityInfo(String logDay, String namespace, Long consumeReadTotal, Long consumeWriteTotal) {
|
||||
super(StatisticsType.CAPACITY);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.namespace = namespace;
|
||||
this.consumeReadTotal = consumeReadTotal;
|
||||
this.consumeWriteTotal = consumeWriteTotal;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "dau")
|
||||
public class DauLogInfo extends LogInfoBase {
|
||||
|
||||
private Integer dau;
|
||||
private String logDay;
|
||||
|
||||
public DauLogInfo(String logDay, Integer dau) {
|
||||
super(StatisticsType.DAU);
|
||||
this.dau = dau;
|
||||
this.logDay = logDay;
|
||||
|
||||
//this.dauByLang = dauByLang;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "dglc")
|
||||
public class DglcLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private Integer dglc;
|
||||
|
||||
public DglcLogInfo(String logDay, Integer dglc) {
|
||||
super(StatisticsType.DGLC);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.dglc = dglc;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import com.caliverse.admin.Indicators.Indicatordomain.IndicatorsLog;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class LogInfoBase implements IndicatorsLog{
|
||||
|
||||
private StatisticsType statisticsType;
|
||||
|
||||
public LogInfoBase(StatisticsType statisticsType) {
|
||||
this.statisticsType = statisticsType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "mau")
|
||||
public class MauLogInfo extends LogInfoBase {
|
||||
|
||||
private Integer mau;
|
||||
private String logDay;
|
||||
|
||||
public MauLogInfo(String logDay, Integer mau) {
|
||||
super(StatisticsType.MAU);
|
||||
|
||||
this.mau = mau;
|
||||
this.logDay = logDay;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "mcu")
|
||||
public class McuLogInfo extends LogInfoBase {
|
||||
|
||||
private String logDay;
|
||||
private Integer maxCountUser;
|
||||
|
||||
public McuLogInfo(String logDay, Integer maxCountUser) {
|
||||
super(StatisticsType.MCU);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.maxCountUser = maxCountUser;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "metaverseserver")
|
||||
public class MetaverseServerInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private Integer serverCount;
|
||||
|
||||
public MetaverseServerInfo(String logDay, Integer serverCount) {
|
||||
super(StatisticsType.SERVER_INFO);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.serverCount = serverCount;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "money")
|
||||
public class MoneyLogInfo extends LogInfoBase {
|
||||
|
||||
private String logDay;
|
||||
private String guid;
|
||||
private String nickname;
|
||||
private Double gold;
|
||||
private Double sapphire;
|
||||
private Double calium;
|
||||
private Double ruby;
|
||||
|
||||
public MoneyLogInfo(String logDay, String guid, String nickname, Double gold, Double sapphire, Double calium, Double ruby) {
|
||||
super(StatisticsType.MONEY);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.guid = guid;
|
||||
this.nickname = nickname;
|
||||
this.gold = gold;
|
||||
this.sapphire = sapphire;
|
||||
this.calium = calium;
|
||||
this.ruby = ruby;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "nru")
|
||||
public class NruLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private Integer nru;
|
||||
|
||||
public NruLogInfo(String logDay, Integer nru) {
|
||||
super(StatisticsType.NRU);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.nru = nru;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "playtime")
|
||||
public class PlayTimeLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private Long totalPlayTimeCount;
|
||||
|
||||
public PlayTimeLogInfo(String logDay, Long totalPlayTimeCount) {
|
||||
super(StatisticsType.PLAY_TIME);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.totalPlayTimeCount = totalPlayTimeCount;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
public enum StatisticsType {
|
||||
|
||||
AU_PER_MIN,
|
||||
//AU_PER_HOUR,
|
||||
DAU,
|
||||
WAU,
|
||||
MAU,
|
||||
MCU,
|
||||
NRU,
|
||||
PLAY_TIME,
|
||||
DGLC,
|
||||
CAPACITY,
|
||||
UGQ_CREATE,
|
||||
SERVER_INFO,
|
||||
MONEY
|
||||
;
|
||||
|
||||
public static StatisticsType getStatisticsType(String type) {
|
||||
for (StatisticsType statisticsType : StatisticsType.values()) {
|
||||
if (statisticsType.name().equals(type)) {
|
||||
return statisticsType;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "ugqcreate")
|
||||
public class UgqCreateLogInfo extends LogInfoBase{
|
||||
private String logDay;
|
||||
private Integer ugqCrateCount;
|
||||
|
||||
public UgqCreateLogInfo(String logDay, Integer ugqCrateCount) {
|
||||
super(StatisticsType.UGQ_CREATE);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.ugqCrateCount = ugqCrateCount;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.caliverse.admin.Indicators.entity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Document(collection = "wau")
|
||||
public class WauLogInfo extends LogInfoBase {
|
||||
|
||||
private Integer wau;
|
||||
private String logDay;
|
||||
|
||||
public WauLogInfo(String logDay, Integer wau) {
|
||||
super(StatisticsType.WAU);
|
||||
|
||||
this.logDay = logDay;
|
||||
this.wau = wau;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.AuPerMinLogInfo;
|
||||
|
||||
public interface IndicatorAuPerMinRepository extends MongoRepository<AuPerMinLogInfo, String> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.DBCapacityInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorDBCapacityRepository extends MongoRepository<DBCapacityInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.DauLogInfo;
|
||||
import org.springframework.data.mongodb.repository.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IndicatorDauRepository extends MongoRepository<DauLogInfo, String> {
|
||||
List<DauLogInfo> findByLogDay(String logDay);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.DglcLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorDglcRepository extends MongoRepository<DglcLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.DauLogInfo;
|
||||
import com.caliverse.admin.Indicators.entity.MauLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorMauRepository extends MongoRepository<MauLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.McuLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IndicatorMcuRepository extends MongoRepository<McuLogInfo, String> {
|
||||
List<McuLogInfo> findByLogDay(String logDay);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.MetaverseServerInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorMetaverServerRepository extends MongoRepository<MetaverseServerInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.MoneyLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorMoneyRepository extends MongoRepository<MoneyLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.NruLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IndicatorNruRepository extends MongoRepository<NruLogInfo, String> {
|
||||
List<NruLogInfo> findByLogDay(String logDay);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.PlayTimeLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorPlayTimRepository extends MongoRepository<PlayTimeLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.UgqCreateLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorUgqCreateRepository extends MongoRepository<UgqCreateLogInfo, String> {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
import com.caliverse.admin.Indicators.entity.DauLogInfo;
|
||||
import com.caliverse.admin.Indicators.entity.WauLogInfo;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface IndicatorWauRepository extends MongoRepository<WauLogInfo, String> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.caliverse.admin.Indicators.indicatorrepository;
|
||||
|
||||
|
||||
|
||||
public interface MongoIndicatorRepository{
|
||||
}
|
||||
// public interface MongoStatRepository<T extends LogInfoBase> extends MongoRepository<T, String> {
|
||||
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user