Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-api
Commits
cd765570
Commit
cd765570
authored
Dec 23, 2024
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:数据统计-应用统计
parent
7d033828
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
678 additions
and
21 deletions
+678
-21
BizAgentApplicationInfoService.java
...t_application/service/BizAgentApplicationInfoService.java
+1
-2
BizAgentApplicationInfoServiceImpl.java
...tion/service/impl/BizAgentApplicationInfoServiceImpl.java
+1
-3
MemberAgentUsageDetailsQuery.sql
...m/poc/data_analyze/query/MemberAgentUsageDetailsQuery.sql
+18
-0
MemberAgentUsageDetailsQueryCondition.java
..._analyze/query/MemberAgentUsageDetailsQueryCondition.java
+45
-0
MemberAgentUsageDetailsQueryItem.java
.../data_analyze/query/MemberAgentUsageDetailsQueryItem.java
+100
-0
MemberUsageCountQuery.sql
...a/cn/com/poc/data_analyze/query/MemberUsageCountQuery.sql
+6
-0
MemberUsageCountQueryCondition.java
...oc/data_analyze/query/MemberUsageCountQueryCondition.java
+23
-0
MemberUsageCountQueryItem.java
...com/poc/data_analyze/query/MemberUsageCountQueryItem.java
+30
-0
BizDataAnalyzeDialogueRecordService.java
..._analyze/service/BizDataAnalyzeDialogueRecordService.java
+3
-0
BizDataAnalyzeDialogueRecordServiceImpl.java
...service/impl/BizDataAnalyzeDialogueRecordServiceImpl.java
+17
-0
DataStatisticsService.java
...va/cn/com/poc/expose/aggregate/DataStatisticsService.java
+15
-0
DataStatisticsServiceImpl.java
.../poc/expose/aggregate/impl/DataStatisticsServiceImpl.java
+88
-9
PlatformAgentUsageDetailDto.java
...pose/dto/data_statistics/PlatformAgentUsageDetailDto.java
+68
-0
PlatformAgentUsageDetailRequestDto.java
...o/data_statistics/PlatformAgentUsageDetailRequestDto.java
+21
-0
PlatformAgentUsageDto.java
...poc/expose/dto/data_statistics/PlatformAgentUsageDto.java
+61
-0
PlatformAgentUsageDetailEntity.java
...com/poc/expose/entity/PlatformAgentUsageDetailEntity.java
+68
-0
PlatformAgentUsageEntity.java
...va/cn/com/poc/expose/entity/PlatformAgentUsageEntity.java
+62
-0
DataStatisticsRest.java
src/main/java/cn/com/poc/expose/rest/DataStatisticsRest.java
+12
-3
DataStatisticsRestImpl.java
...a/cn/com/poc/expose/rest/impl/DataStatisticsRestImpl.java
+39
-4
No files found.
src/main/java/cn/com/poc/agent_application/service/BizAgentApplicationInfoService.java
View file @
cd765570
package
cn
.
com
.
poc
.
agent_application
.
service
;
package
cn
.
com
.
poc
.
agent_application
.
service
;
import
cn.com.poc.agent_application.dto.AgentApplicationInfoDto
;
import
cn.com.poc.agent_application.entity.Variable
;
import
cn.com.poc.agent_application.entity.Variable
;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.yict.framemax.core.service.BaseService
;
...
@@ -13,7 +12,7 @@ public interface BizAgentApplicationInfoService extends BaseService {
...
@@ -13,7 +12,7 @@ public interface BizAgentApplicationInfoService extends BaseService {
BizAgentApplicationInfoEntity
getByAgentId
(
String
agentId
);
BizAgentApplicationInfoEntity
getByAgentId
(
String
agentId
);
List
<
BizAgentApplicationInfoEntity
>
findByExample
(
BizAgentApplicationInfoEntity
example
,
PagingInfo
pagingInfo
)
throws
Exception
;
List
<
BizAgentApplicationInfoEntity
>
findByExample
(
BizAgentApplicationInfoEntity
example
,
PagingInfo
pagingInfo
)
;
List
<
BizAgentApplicationInfoEntity
>
agentApplicationInfoQuery
(
AgentApplicationInfoQueryCondition
condition
,
PagingInfo
pagingInfo
);
List
<
BizAgentApplicationInfoEntity
>
agentApplicationInfoQuery
(
AgentApplicationInfoQueryCondition
condition
,
PagingInfo
pagingInfo
);
...
...
src/main/java/cn/com/poc/agent_application/service/impl/BizAgentApplicationInfoServiceImpl.java
View file @
cd765570
...
@@ -15,8 +15,6 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity;
...
@@ -15,8 +15,6 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity;
import
cn.com.poc.agent_application.convert.AgentApplicationInfoConvert
;
import
cn.com.poc.agent_application.convert.AgentApplicationInfoConvert
;
import
cn.com.poc.agent_application.repository.BizAgentApplicationInfoRepository
;
import
cn.com.poc.agent_application.repository.BizAgentApplicationInfoRepository
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.hutool.core.bean.BeanUtil
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -64,7 +62,7 @@ public class BizAgentApplicationInfoServiceImpl extends BaseServiceImpl
...
@@ -64,7 +62,7 @@ public class BizAgentApplicationInfoServiceImpl extends BaseServiceImpl
}
}
@Override
@Override
public
List
<
BizAgentApplicationInfoEntity
>
findByExample
(
BizAgentApplicationInfoEntity
example
,
PagingInfo
pagingInfo
)
throws
Exception
{
public
List
<
BizAgentApplicationInfoEntity
>
findByExample
(
BizAgentApplicationInfoEntity
example
,
PagingInfo
pagingInfo
)
{
List
<
BizAgentApplicationInfoEntity
>
result
=
new
ArrayList
<
BizAgentApplicationInfoEntity
>();
List
<
BizAgentApplicationInfoEntity
>
result
=
new
ArrayList
<
BizAgentApplicationInfoEntity
>();
BizAgentApplicationInfoModel
model
=
new
BizAgentApplicationInfoModel
();
BizAgentApplicationInfoModel
model
=
new
BizAgentApplicationInfoModel
();
if
(
example
!=
null
)
{
if
(
example
!=
null
)
{
...
...
src/main/java/cn/com/poc/data_analyze/query/MemberAgentUsageDetailsQuery.sql
0 → 100644
View file @
cd765570
select
*
from
(
select
bmi
.
nick_name
as
owner
,
baai
.
agent_title
,
count
(
bdapr
.
relation_id
)
as
usage_count
,
sum
(
bdapr
.
point_num
)
as
total_points
,
max
(
bdapr
.
datetime
)
as
last_usage_time
,
(
case
when
bdapr
.
channel
=
'preview'
or
bdapr
.
channel
=
'multi_preview'
then
"Y"
else
"N"
end
)
as
publish_status
from
biz_data_analyze_point_record
bdapr
left
join
biz_agent_application_info
baai
on
baai
.
agent_id
=
bdapr
.
relation_id
left
join
biz_member_info
bmi
on
bmi
.
member_id
=
baai
.
member_id
where
1
=
1
<<
and
bdapr
.
member_id
=
:
memberId
>>
group
by
bdapr
.
relation_id
,
publish_status
)
as
t1
where
1
=
1
<<
and
t1
.
last_usage_time
>=
:
startDate
and
t1
.
last_usage_time
<=
:
endDate
>>
order
by
t1
.
last_usage_time
desc
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/query/MemberAgentUsageDetailsQueryCondition.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
data_analyze
.
query
;
import
java.io.Serializable
;
/**
* Query Condition class for MemberAgentUsageDetailsQuery
*/
public
class
MemberAgentUsageDetailsQueryCondition
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
java
.
lang
.
Long
memberId
;
public
java
.
lang
.
Long
getMemberId
(){
return
this
.
memberId
;
}
public
void
setMemberId
(
java
.
lang
.
Long
memberId
){
this
.
memberId
=
memberId
;
}
private
java
.
lang
.
String
startDate
;
public
java
.
lang
.
String
getStartDate
(){
return
this
.
startDate
;
}
public
void
setStartDate
(
java
.
lang
.
String
startDate
){
this
.
startDate
=
startDate
;
}
private
java
.
lang
.
String
endDate
;
public
java
.
lang
.
String
getEndDate
(){
return
this
.
endDate
;
}
public
void
setEndDate
(
java
.
lang
.
String
endDate
){
this
.
endDate
=
endDate
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/query/MemberAgentUsageDetailsQueryItem.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
data_analyze
.
query
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
cn.com.yict.framemax.data.model.BaseItemClass
;
/**
* Query Item class for MemberAgentUsageDetailsQuery
*/
@Entity
public
class
MemberAgentUsageDetailsQueryItem
extends
BaseItemClass
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/** owner
*owner
*/
private
java
.
lang
.
String
owner
;
@Column
(
name
=
"owner"
)
public
java
.
lang
.
String
getOwner
(){
return
this
.
owner
;
}
public
void
setOwner
(
java
.
lang
.
String
owner
){
this
.
owner
=
owner
;
}
/** agent_title
*agent_title
*/
private
java
.
lang
.
String
agentTitle
;
@Column
(
name
=
"agent_title"
)
public
java
.
lang
.
String
getAgentTitle
(){
return
this
.
agentTitle
;
}
public
void
setAgentTitle
(
java
.
lang
.
String
agentTitle
){
this
.
agentTitle
=
agentTitle
;
}
/** usage_count
*usage_count
*/
private
java
.
lang
.
Long
usageCount
;
@Column
(
name
=
"usage_count"
)
public
java
.
lang
.
Long
getUsageCount
(){
return
this
.
usageCount
;
}
public
void
setUsageCount
(
java
.
lang
.
Long
usageCount
){
this
.
usageCount
=
usageCount
;
}
/** total_points
*total_points
*/
private
java
.
lang
.
Double
totalPoints
;
@Column
(
name
=
"total_points"
)
public
java
.
lang
.
Double
getTotalPoints
(){
return
this
.
totalPoints
;
}
public
void
setTotalPoints
(
java
.
lang
.
Double
totalPoints
){
this
.
totalPoints
=
totalPoints
;
}
/** last_usage_time
*last_usage_time
*/
private
java
.
util
.
Date
lastUsageTime
;
@Column
(
name
=
"last_usage_time"
)
public
java
.
util
.
Date
getLastUsageTime
(){
return
this
.
lastUsageTime
;
}
public
void
setLastUsageTime
(
java
.
util
.
Date
lastUsageTime
){
this
.
lastUsageTime
=
lastUsageTime
;
}
/** publish_status
*publish_status
*/
private
java
.
lang
.
String
publishStatus
;
@Column
(
name
=
"publish_status"
)
public
java
.
lang
.
String
getPublishStatus
(){
return
this
.
publishStatus
;
}
public
void
setPublishStatus
(
java
.
lang
.
String
publishStatus
){
this
.
publishStatus
=
publishStatus
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/query/MemberUsageCountQuery.sql
0 → 100644
View file @
cd765570
select
count
(
distinct
relation_id
)
as
count
from
biz_data_analyze_dialogue_record
where
1
=
1
<<
and
member_id
=
:
memberId
>>
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/query/MemberUsageCountQueryCondition.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
data_analyze
.
query
;
import
java.io.Serializable
;
/**
* Query Condition class for MemberUsageCountQuery
*/
public
class
MemberUsageCountQueryCondition
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
java
.
lang
.
Long
memberId
;
public
java
.
lang
.
Long
getMemberId
(){
return
this
.
memberId
;
}
public
void
setMemberId
(
java
.
lang
.
Long
memberId
){
this
.
memberId
=
memberId
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/query/MemberUsageCountQueryItem.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
data_analyze
.
query
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
cn.com.yict.framemax.data.model.BaseItemClass
;
/**
* Query Item class for MemberUsageCountQuery
*/
@Entity
public
class
MemberUsageCountQueryItem
extends
BaseItemClass
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/** count
*count
*/
private
java
.
lang
.
Long
count
;
@Column
(
name
=
"count"
)
public
java
.
lang
.
Long
getCount
(){
return
this
.
count
;
}
public
void
setCount
(
java
.
lang
.
Long
count
){
this
.
count
=
count
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/service/BizDataAnalyzeDialogueRecordService.java
View file @
cd765570
...
@@ -27,5 +27,8 @@ public interface BizDataAnalyzeDialogueRecordService extends BaseService {
...
@@ -27,5 +27,8 @@ public interface BizDataAnalyzeDialogueRecordService extends BaseService {
List
<
ChannelUsageCountQueryItem
>
channelUsageCountQuery
(
ChannelUsageCountQueryCondition
condition
,
PagingInfo
pagingInfo
);
List
<
ChannelUsageCountQueryItem
>
channelUsageCountQuery
(
ChannelUsageCountQueryCondition
condition
,
PagingInfo
pagingInfo
);
Long
memberUsageCount
(
Long
memberId
);
List
<
MemberAgentUsageDetailsQueryItem
>
memberAgentUsageDetailsQuery
(
MemberAgentUsageDetailsQueryCondition
condition
,
PagingInfo
pagingInfo
);
}
}
\ No newline at end of file
src/main/java/cn/com/poc/data_analyze/service/impl/BizDataAnalyzeDialogueRecordServiceImpl.java
View file @
cd765570
...
@@ -111,4 +111,21 @@ public class BizDataAnalyzeDialogueRecordServiceImpl extends BaseServiceImpl
...
@@ -111,4 +111,21 @@ public class BizDataAnalyzeDialogueRecordServiceImpl extends BaseServiceImpl
public
List
<
ChannelUsageCountQueryItem
>
channelUsageCountQuery
(
ChannelUsageCountQueryCondition
condition
,
PagingInfo
pagingInfo
)
{
public
List
<
ChannelUsageCountQueryItem
>
channelUsageCountQuery
(
ChannelUsageCountQueryCondition
condition
,
PagingInfo
pagingInfo
)
{
return
this
.
sqlDao
.
query
(
condition
,
ChannelUsageCountQueryItem
.
class
,
pagingInfo
);
return
this
.
sqlDao
.
query
(
condition
,
ChannelUsageCountQueryItem
.
class
,
pagingInfo
);
}
}
@Override
public
Long
memberUsageCount
(
Long
memberId
)
{
MemberUsageCountQueryCondition
condition
=
new
MemberUsageCountQueryCondition
();
condition
.
setMemberId
(
memberId
);
List
<
MemberUsageCountQueryItem
>
items
=
this
.
sqlDao
.
query
(
condition
,
MemberUsageCountQueryItem
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
items
))
{
MemberUsageCountQueryItem
memberUsageCountQueryItem
=
items
.
get
(
0
);
return
memberUsageCountQueryItem
.
getCount
();
}
return
0L
;
}
@Override
public
List
<
MemberAgentUsageDetailsQueryItem
>
memberAgentUsageDetailsQuery
(
MemberAgentUsageDetailsQueryCondition
condition
,
PagingInfo
pagingInfo
)
{
return
this
.
sqlDao
.
query
(
condition
,
MemberAgentUsageDetailsQueryItem
.
class
,
pagingInfo
);
}
}
}
\ No newline at end of file
src/main/java/cn/com/poc/expose/aggregate/DataStatisticsService.java
View file @
cd765570
...
@@ -2,7 +2,10 @@ package cn.com.poc.expose.aggregate;
...
@@ -2,7 +2,10 @@ package cn.com.poc.expose.aggregate;
import
cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange
;
import
cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryItem
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryItem
;
import
cn.com.poc.expose.entity.PlatformAgentUsageDetailEntity
;
import
cn.com.poc.expose.entity.PlatformAgentUsageEntity
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -26,4 +29,16 @@ public interface DataStatisticsService {
...
@@ -26,4 +29,16 @@ public interface DataStatisticsService {
*/
*/
Map
<
String
,
List
<
MemberPointUsageTrendQueryItem
>>
platformPointTrend
(
Long
memberId
,
List
<
String
>
channels
,
DataAnalyzeTimeRange
timeRange
);
Map
<
String
,
List
<
MemberPointUsageTrendQueryItem
>>
platformPointTrend
(
Long
memberId
,
List
<
String
>
channels
,
DataAnalyzeTimeRange
timeRange
);
/**
* 平台应用使用情况
*/
PlatformAgentUsageEntity
platformAgentUsage
(
Long
memberId
,
List
<
String
>
channels
);
/**
* 平台应用使用明细
*/
List
<
PlatformAgentUsageDetailEntity
>
platformAgentUsageDetail
(
Long
memberId
,
DataAnalyzeTimeRange
timeRange
,
PagingInfo
pagingInfo
);
}
}
src/main/java/cn/com/poc/expose/aggregate/impl/DataStatisticsServiceImpl.java
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
aggregate
.
impl
;
package
cn
.
com
.
poc
.
expose
.
aggregate
.
impl
;
import
cn.com.poc.agent_application.constant.AgentApplicationConstants
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity
;
import
cn.com.poc.agent_application.service.BizAgentApplicationInfoService
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.utils.Assert
;
import
cn.com.poc.common.utils.Assert
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.data_analyze.constants.DataAnalyzeTimeRangeEnum
;
import
cn.com.poc.data_analyze.constants.DataAnalyzeTimeRangeEnum
;
import
cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange
;
import
cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange
;
import
cn.com.poc.data_analyze.query.MemberPointUsageOverallQueryCondition
;
import
cn.com.poc.data_analyze.query.*
;
import
cn.com.poc.data_analyze.query.MemberPointUsageOverallQueryItem
;
import
cn.com.poc.data_analyze.service.BizDataAnalyzeDialogueRecordService
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryCondition
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryItem
;
import
cn.com.poc.data_analyze.service.BizDataAnalyzePointRecordService
;
import
cn.com.poc.data_analyze.service.BizDataAnalyzePointRecordService
;
import
cn.com.poc.expose.aggregate.DataStatisticsService
;
import
cn.com.poc.expose.aggregate.DataStatisticsService
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointUsageDto
;
import
cn.com.poc.expose.entity.PlatformAgentUsageDetailEntity
;
import
cn.com.poc.expose.entity.PlatformAgentUsageEntity
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.math.RoundingMode
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.TreeMap
;
/**
/**
* @author alex.yao
* @author alex.yao
...
@@ -32,6 +35,12 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
...
@@ -32,6 +35,12 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
@Resource
@Resource
private
BizDataAnalyzePointRecordService
bizDataAnalyzePointRecordService
;
private
BizDataAnalyzePointRecordService
bizDataAnalyzePointRecordService
;
@Resource
private
BizDataAnalyzeDialogueRecordService
bizDataAnalyzeDialogueRecordService
;
@Resource
private
BizAgentApplicationInfoService
bizAgentApplicationInfoService
;
@Override
@Override
public
PlatformPointUsageEntity
platformPointUsage
(
Long
memberId
,
List
<
String
>
channels
)
{
public
PlatformPointUsageEntity
platformPointUsage
(
Long
memberId
,
List
<
String
>
channels
)
{
MemberPointUsageOverallQueryCondition
memberPointUsageOverallQueryCondition
=
new
MemberPointUsageOverallQueryCondition
();
MemberPointUsageOverallQueryCondition
memberPointUsageOverallQueryCondition
=
new
MemberPointUsageOverallQueryCondition
();
...
@@ -95,4 +104,74 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
...
@@ -95,4 +104,74 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
}
}
return
result
;
return
result
;
}
}
@Override
public
PlatformAgentUsageEntity
platformAgentUsage
(
Long
memberId
,
List
<
String
>
channels
)
{
BizAgentApplicationInfoEntity
bizAgentApplicationInfoEntity
=
new
BizAgentApplicationInfoEntity
();
bizAgentApplicationInfoEntity
.
setMemberId
(
memberId
.
intValue
());
bizAgentApplicationInfoEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizAgentApplicationInfoEntity
>
applicationInfoEntities
=
bizAgentApplicationInfoService
.
findByExample
(
bizAgentApplicationInfoEntity
,
null
);
long
createCount
=
applicationInfoEntities
.
size
();
long
publishCount
=
applicationInfoEntities
.
stream
().
filter
(
entity
->
AgentApplicationConstants
.
AGENT_PUBLISH_STATUS
.
PUBLISH
.
equals
(
entity
.
getAgentPublishStatus
())).
count
();
long
unPublishCount
=
createCount
-
publishCount
;
Long
memberUsageCount
=
bizDataAnalyzeDialogueRecordService
.
memberUsageCount
(
memberId
);
PlatformAgentUsageEntity
platformAgentUsageEntity
=
new
PlatformAgentUsageEntity
();
platformAgentUsageEntity
.
setCreateCount
(
createCount
);
platformAgentUsageEntity
.
setUsageCount
(
memberUsageCount
);
platformAgentUsageEntity
.
setUnPublishCount
(
unPublishCount
);
platformAgentUsageEntity
.
setPublishCount
(
publishCount
);
return
platformAgentUsageEntity
;
}
@Override
public
List
<
PlatformAgentUsageDetailEntity
>
platformAgentUsageDetail
(
Long
memberId
,
DataAnalyzeTimeRange
timeRange
,
PagingInfo
pagingInfo
)
{
String
startTime
;
String
endTime
;
Date
startDate
;
Date
endDate
;
switch
(
DataAnalyzeTimeRangeEnum
.
getByType
(
timeRange
.
getRangType
()))
{
case
week:
endDate
=
DateUtils
.
getTodayEnd
();
startDate
=
DateUtils
.
getDayStartTime
(
DateUtils
.
addDays
(
endDate
,
-
6
));
startTime
=
DateUtils
.
formatDate
(
startDate
,
DateUtils
.
yyyy_MM_dd
);
endTime
=
DateUtils
.
formatDate
(
endDate
,
DateUtils
.
yyyy_MM_dd_HH_mm_ss
);
break
;
case
month:
endDate
=
DateUtils
.
getTodayEnd
();
startDate
=
DateUtils
.
getDayStartTime
(
DateUtils
.
addMonth
(
endDate
,
-
1
));
startTime
=
DateUtils
.
formatDate
(
startDate
,
DateUtils
.
yyyy_MM_dd
);
endTime
=
DateUtils
.
formatDate
(
endDate
,
DateUtils
.
yyyy_MM_dd_HH_mm_ss
);
break
;
case
customize:
Assert
.
notBlank
(
timeRange
.
getStartTime
());
Assert
.
notBlank
(
timeRange
.
getEndTime
());
startTime
=
timeRange
.
getStartTime
();
endDate
=
DateUtils
.
getDayEnd
(
DateUtils
.
stringToDateShort
(
timeRange
.
getEndTime
()));
endTime
=
DateUtils
.
formatDate
(
endDate
,
DateUtils
.
yyyy_MM_dd_HH_mm_ss
);
break
;
default
:
throw
new
I18nMessageException
(
"data-analyze/not.support.rang.type"
);
}
MemberAgentUsageDetailsQueryCondition
memberAgentUsageDetailsQueryCondition
=
new
MemberAgentUsageDetailsQueryCondition
();
memberAgentUsageDetailsQueryCondition
.
setMemberId
(
memberId
);
memberAgentUsageDetailsQueryCondition
.
setStartDate
(
startTime
);
memberAgentUsageDetailsQueryCondition
.
setEndDate
(
endTime
);
List
<
MemberAgentUsageDetailsQueryItem
>
items
=
bizDataAnalyzeDialogueRecordService
.
memberAgentUsageDetailsQuery
(
memberAgentUsageDetailsQueryCondition
,
pagingInfo
);
List
<
PlatformAgentUsageDetailEntity
>
result
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
items
))
{
for
(
MemberAgentUsageDetailsQueryItem
item
:
items
)
{
PlatformAgentUsageDetailEntity
platformAgentUsageDetailEntity
=
new
PlatformAgentUsageDetailEntity
();
platformAgentUsageDetailEntity
.
setAgentTitle
(
item
.
getAgentTitle
());
platformAgentUsageDetailEntity
.
setOwner
(
item
.
getOwner
());
platformAgentUsageDetailEntity
.
setPublishStatus
(
item
.
getPublishStatus
());
platformAgentUsageDetailEntity
.
setTotalPoint
(
BigDecimal
.
valueOf
(
item
.
getTotalPoints
()).
setScale
(
2
,
RoundingMode
.
HALF_UP
).
doubleValue
());
platformAgentUsageDetailEntity
.
setUsageCount
(
item
.
getUsageCount
());
platformAgentUsageDetailEntity
.
setLastUsageTime
(
DateUtils
.
formatDate
(
item
.
getLastUsageTime
(),
DateUtils
.
yyyy_MM_dd_HH_mm_ss
));
result
.
add
(
platformAgentUsageDetailEntity
);
}
}
return
result
;
}
}
}
src/main/java/cn/com/poc/expose/dto/data_statistics/PlatformAgentUsageDetailDto.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
dto
.
data_statistics
;
/**
* @author alex.yao
* @date 2024/12/23
*/
public
class
PlatformAgentUsageDetailDto
{
private
String
agentTitle
;
private
String
owner
;
private
String
publishStatus
;
private
Double
totalPoint
;
private
Long
usageCount
;
private
String
lastUsageTime
;
public
String
getAgentTitle
()
{
return
agentTitle
;
}
public
void
setAgentTitle
(
String
agentTitle
)
{
this
.
agentTitle
=
agentTitle
;
}
public
String
getOwner
()
{
return
owner
;
}
public
void
setOwner
(
String
owner
)
{
this
.
owner
=
owner
;
}
public
String
getPublishStatus
()
{
return
publishStatus
;
}
public
void
setPublishStatus
(
String
publishStatus
)
{
this
.
publishStatus
=
publishStatus
;
}
public
Double
getTotalPoint
()
{
return
totalPoint
;
}
public
void
setTotalPoint
(
Double
totalPoint
)
{
this
.
totalPoint
=
totalPoint
;
}
public
Long
getUsageCount
()
{
return
usageCount
;
}
public
void
setUsageCount
(
Long
usageCount
)
{
this
.
usageCount
=
usageCount
;
}
public
String
getLastUsageTime
()
{
return
lastUsageTime
;
}
public
void
setLastUsageTime
(
String
lastUsageTime
)
{
this
.
lastUsageTime
=
lastUsageTime
;
}
}
src/main/java/cn/com/poc/expose/dto/data_statistics/PlatformAgentUsageDetailRequestDto.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
dto
.
data_statistics
;
import
cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange
;
/**
* @author alex.yao
* @date 2024/12/23
*/
public
class
PlatformAgentUsageDetailRequestDto
{
private
DataAnalyzeTimeRange
timeRange
;
public
DataAnalyzeTimeRange
getTimeRange
()
{
return
timeRange
;
}
public
void
setTimeRange
(
DataAnalyzeTimeRange
timeRange
)
{
this
.
timeRange
=
timeRange
;
}
}
src/main/java/cn/com/poc/expose/dto/data_statistics/PlatformAgentUsageDto.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
dto
.
data_statistics
;
import
java.io.Serializable
;
/**
* @author alex.yao
* @date 2024/12/23
*/
public
class
PlatformAgentUsageDto
implements
Serializable
{
/**
* 创建的应用
*/
private
Long
createCount
;
/**
* 已使用应用
*/
private
Long
usageCount
;
/**
* 未发布应用数量
*/
private
Long
unPublishCount
;
/**
* 已发布应用数量
*/
private
Long
publishCount
;
public
Long
getCreateCount
()
{
return
createCount
;
}
public
void
setCreateCount
(
Long
createCount
)
{
this
.
createCount
=
createCount
;
}
public
Long
getUsageCount
()
{
return
usageCount
;
}
public
void
setUsageCount
(
Long
usageCount
)
{
this
.
usageCount
=
usageCount
;
}
public
Long
getUnPublishCount
()
{
return
unPublishCount
;
}
public
void
setUnPublishCount
(
Long
unPublishCount
)
{
this
.
unPublishCount
=
unPublishCount
;
}
public
Long
getPublishCount
()
{
return
publishCount
;
}
public
void
setPublishCount
(
Long
publishCount
)
{
this
.
publishCount
=
publishCount
;
}
}
src/main/java/cn/com/poc/expose/entity/PlatformAgentUsageDetailEntity.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
entity
;
/**
* @author alex.yao
* @date 2024/12/23
*/
public
class
PlatformAgentUsageDetailEntity
{
private
String
agentTitle
;
private
String
owner
;
private
String
publishStatus
;
private
Double
totalPoint
;
private
Long
usageCount
;
private
String
lastUsageTime
;
public
String
getAgentTitle
()
{
return
agentTitle
;
}
public
void
setAgentTitle
(
String
agentTitle
)
{
this
.
agentTitle
=
agentTitle
;
}
public
String
getOwner
()
{
return
owner
;
}
public
void
setOwner
(
String
owner
)
{
this
.
owner
=
owner
;
}
public
String
getPublishStatus
()
{
return
publishStatus
;
}
public
void
setPublishStatus
(
String
publishStatus
)
{
this
.
publishStatus
=
publishStatus
;
}
public
Double
getTotalPoint
()
{
return
totalPoint
;
}
public
void
setTotalPoint
(
Double
totalPoint
)
{
this
.
totalPoint
=
totalPoint
;
}
public
Long
getUsageCount
()
{
return
usageCount
;
}
public
void
setUsageCount
(
Long
usageCount
)
{
this
.
usageCount
=
usageCount
;
}
public
String
getLastUsageTime
()
{
return
lastUsageTime
;
}
public
void
setLastUsageTime
(
String
lastUsageTime
)
{
this
.
lastUsageTime
=
lastUsageTime
;
}
}
src/main/java/cn/com/poc/expose/entity/PlatformAgentUsageEntity.java
0 → 100644
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
entity
;
import
java.io.Serializable
;
/**
* @author alex.yao
* @date 2024/12/23
*/
public
class
PlatformAgentUsageEntity
implements
Serializable
{
/**
* 创建的应用
*/
private
Long
createCount
;
/**
* 已使用应用
*/
private
Long
usageCount
;
/**
* 未发布应用数量
*/
private
Long
unPublishCount
;
/**
* 已发布应用数量
*/
private
Long
publishCount
;
public
Long
getCreateCount
()
{
return
createCount
;
}
public
void
setCreateCount
(
Long
createCount
)
{
this
.
createCount
=
createCount
;
}
public
Long
getUsageCount
()
{
return
usageCount
;
}
public
void
setUsageCount
(
Long
usageCount
)
{
this
.
usageCount
=
usageCount
;
}
public
Long
getUnPublishCount
()
{
return
unPublishCount
;
}
public
void
setUnPublishCount
(
Long
unPublishCount
)
{
this
.
unPublishCount
=
unPublishCount
;
}
public
Long
getPublishCount
()
{
return
publishCount
;
}
public
void
setPublishCount
(
Long
publishCount
)
{
this
.
publishCount
=
publishCount
;
}
}
src/main/java/cn/com/poc/expose/rest/DataStatisticsRest.java
View file @
cd765570
package
cn
.
com
.
poc
.
expose
.
rest
;
package
cn
.
com
.
poc
.
expose
.
rest
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointTrendDto
;
import
cn.com.poc.expose.dto.data_statistics.*
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointTrendRequestDto
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointUsageDto
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
@@ -29,4 +28,14 @@ public interface DataStatisticsRest extends BaseRest {
...
@@ -29,4 +28,14 @@ public interface DataStatisticsRest extends BaseRest {
* 平台积分使用趋势
* 平台积分使用趋势
*/
*/
List
<
PlatformPointTrendDto
>
platformPointTrend
(
@RequestBody
PlatformPointTrendRequestDto
dto
);
List
<
PlatformPointTrendDto
>
platformPointTrend
(
@RequestBody
PlatformPointTrendRequestDto
dto
);
/**
* 平台应用使用情况
*/
PlatformAgentUsageDto
platformAgentUsage
(
@RequestParam
List
<
String
>
channels
);
/**
* 平台应用使用明细
*/
List
<
PlatformAgentUsageDetailDto
>
platformAgentUsageDetail
(
@RequestBody
PlatformAgentUsageDetailRequestDto
dto
,
PagingInfo
pagingInfo
);
}
}
src/main/java/cn/com/poc/expose/rest/impl/DataStatisticsRestImpl.java
View file @
cd765570
...
@@ -4,13 +4,15 @@ import cn.com.poc.common.utils.Assert;
...
@@ -4,13 +4,15 @@ import cn.com.poc.common.utils.Assert;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryItem
;
import
cn.com.poc.data_analyze.query.MemberPointUsageTrendQueryItem
;
import
cn.com.poc.expose.aggregate.DataStatisticsService
;
import
cn.com.poc.expose.aggregate.DataStatisticsService
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointTrendDto
;
import
cn.com.poc.expose.dto.data_statistics.*
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointTrendRequestDto
;
import
cn.com.poc.expose.entity.PlatformAgentUsageDetailEntity
;
import
cn.com.poc.expose.dto.data_statistics.PlatformPointUsageDto
;
import
cn.com.poc.expose.entity.PlatformAgentUsageEntity
;
import
cn.com.poc.expose.dto.data_statistics.PointUsage
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.poc.expose.entity.PlatformPointUsageEntity
;
import
cn.com.poc.expose.rest.DataStatisticsRest
;
import
cn.com.poc.expose.rest.DataStatisticsRest
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.hutool.core.bean.BeanUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -20,6 +22,7 @@ import java.util.ArrayList;
...
@@ -20,6 +22,7 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
/**
* @author alex.yao
* @author alex.yao
...
@@ -68,4 +71,36 @@ public class DataStatisticsRestImpl implements DataStatisticsRest {
...
@@ -68,4 +71,36 @@ public class DataStatisticsRestImpl implements DataStatisticsRest {
}
}
return
result
;
return
result
;
}
}
@Override
public
PlatformAgentUsageDto
platformAgentUsage
(
List
<
String
>
channels
)
{
Assert
.
notEmpty
(
channels
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
PlatformAgentUsageDto
platformAgentUsageDto
=
new
PlatformAgentUsageDto
();
PlatformAgentUsageEntity
platformAgentUsageEntity
=
dataStatisticsService
.
platformAgentUsage
(
userBaseEntity
.
getUserId
(),
channels
);
BeanUtil
.
copyProperties
(
platformAgentUsageEntity
,
platformAgentUsageDto
);
return
platformAgentUsageDto
;
}
@Override
public
List
<
PlatformAgentUsageDetailDto
>
platformAgentUsageDetail
(
PlatformAgentUsageDetailRequestDto
dto
,
PagingInfo
pagingInfo
)
{
Assert
.
notNull
(
dto
.
getTimeRange
());
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
List
<
PlatformAgentUsageDetailEntity
>
platformAgentUsageDetailEntities
=
dataStatisticsService
.
platformAgentUsageDetail
(
userBaseEntity
.
getUserId
(),
dto
.
getTimeRange
(),
pagingInfo
);
List
<
PlatformAgentUsageDetailDto
>
result
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
platformAgentUsageDetailEntities
))
{
result
=
platformAgentUsageDetailEntities
.
stream
().
map
(
entity
->
{
PlatformAgentUsageDetailDto
platformAgentUsageDetailDto
=
new
PlatformAgentUsageDetailDto
();
platformAgentUsageDetailDto
.
setAgentTitle
(
entity
.
getAgentTitle
());
platformAgentUsageDetailDto
.
setOwner
(
entity
.
getOwner
());
platformAgentUsageDetailDto
.
setPublishStatus
(
entity
.
getPublishStatus
());
platformAgentUsageDetailDto
.
setTotalPoint
(
entity
.
getTotalPoint
());
platformAgentUsageDetailDto
.
setUsageCount
(
entity
.
getUsageCount
());
platformAgentUsageDetailDto
.
setLastUsageTime
(
entity
.
getLastUsageTime
());
return
platformAgentUsageDetailDto
;
}
).
collect
(
Collectors
.
toList
());
}
return
result
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment