Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-platform-enterprise
Overview
Overview
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
base_platform_enterprise
gic-platform-enterprise
Commits
2b2d78db
Commit
2b2d78db
authored
May 25, 2021
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页-用户数量占比
parent
718b9614
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
211 additions
and
5 deletions
+211
-5
IndexModuleController.java
.../gic/enterprise/web/controller/IndexModuleController.java
+66
-5
ChannelUserRateVO.java
...va/com/gic/enterprise/web/vo/index/ChannelUserRateVO.java
+145
-0
No files found.
gic-platform-enterprise-web/src/main/java/com/gic/enterprise/web/controller/IndexModuleController.java
View file @
2b2d78db
...
...
@@ -6,10 +6,13 @@ import java.util.*;
import
java.util.stream.Collectors
;
import
com.gic.data.api.dto.index.IndexChannelUserOverviewDTO
;
import
com.gic.data.api.dto.index.IndexChannelUserRateDTO
;
import
com.gic.data.api.dto.index.IndexMemberOverviewDTO
;
import
com.gic.data.api.dto.index.IndexMemberOverviewTotalDTO
;
import
com.gic.data.api.qo.index.ChannelUserOverviewQO
;
import
com.gic.data.api.qo.index.IndexChannelUserRateQO
;
import
com.gic.data.api.qo.index.IndexMemberOverviewQO
;
import
com.gic.enterprise.web.vo.index.ChannelUserRateVO
;
import
com.gic.enterprise.web.vo.index.ChannelUserVO
;
import
com.gic.enterprise.web.vo.index.MemberCardInfoVO
;
import
com.gic.member.config.api.dto.*
;
...
...
@@ -101,7 +104,8 @@ public class IndexModuleController {
*/
@RequestMapping
(
"/list-member-card-of-index"
)
public
RestResponse
listMemberCardOfIndex
()
{
return
RestResponse
.
success
(
getMbrArea
(
UserDetailUtils
.
getUserDetail
().
getUserId
(),
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
()));
return
RestResponse
.
success
(
getAreaData
(
UserDetailUtils
.
getUserDetail
().
getUserId
(),
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
(),
CuTypeEnum
.
MCU
));
}
@RequestMapping
(
"list-help-center"
)
...
...
@@ -363,12 +367,61 @@ public class IndexModuleController {
return
RestResponse
.
success
(
memberChannelData
.
getResult
());
}
/**
* 用户数量占比
* @param type 会员卡统计类型 0:开卡门店 1:归属品牌服务门店 2:品牌服务门店
* @param cuType 1小程序用户 2服务号用户 3会员卡用户
* @return
*/
@RequestMapping
(
"list-channel-data"
)
public
RestResponse
listChannelData
(
Integer
type
,
Integer
cuType
){
Integer
enterpriseId
=
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
();
Integer
userId
=
UserDetailUtils
.
getUserDetail
().
getUserId
();
ServiceResponse
<
List
<
MemberChannelDataDTO
>>
listServiceResponse
=
this
.
memberDataApiService
.
listChannelData
(
type
,
cuType
,
enterpriseId
,
userId
,
this
.
getAuthStore
());
return
RestResponse
.
success
(
listServiceResponse
.
getResult
());
IndexChannelUserRateQO
param
=
new
IndexChannelUserRateQO
();
if
(
cuType
==
null
)
{
cuType
=
3
;
}
CuTypeEnum
cuTypeEnum
=
CuTypeEnum
.
getEnum
(
cuType
);
List
<
MemberCardInfoVO
>
areaDataList
;
switch
(
cuTypeEnum
)
{
case
ACU:
areaDataList
=
getAreaData
(
userId
,
enterpriseId
,
CuTypeEnum
.
ACU
);
param
.
setAppletIdList
(
areaDataList
.
stream
().
mapToLong
(
e
->
Long
.
valueOf
(
e
.
getMbrAreaId
())).
boxed
().
collect
(
Collectors
.
toList
()));
case
MCU:
areaDataList
=
getAreaData
(
userId
,
enterpriseId
,
CuTypeEnum
.
MCU
);
param
.
setMemberCardIdList
(
areaDataList
.
stream
().
mapToLong
(
e
->
Long
.
valueOf
(
e
.
getMbrAreaId
())).
boxed
().
collect
(
Collectors
.
toList
()));
case
SCU:
areaDataList
=
getAreaData
(
userId
,
enterpriseId
,
CuTypeEnum
.
SCU
);
param
.
setServiceIdList
(
areaDataList
.
stream
().
mapToLong
(
e
->
Long
.
valueOf
(
e
.
getMbrAreaId
())).
boxed
().
collect
(
Collectors
.
toList
()));
default
:
areaDataList
=
getAreaData
(
userId
,
enterpriseId
,
CuTypeEnum
.
MCU
);
param
.
setMemberCardIdList
(
areaDataList
.
stream
().
mapToLong
(
e
->
Long
.
valueOf
(
e
.
getMbrAreaId
())).
boxed
().
collect
(
Collectors
.
toList
()));
}
param
.
setMemberCardCountType
(
type
);
param
.
setCuType
(
cuType
);
param
.
setEntId
(
enterpriseId
);
ServiceResponse
<
List
<
IndexChannelUserRateDTO
>>
listServiceResponse
=
this
.
memberDataApiService
.
listChannelData
(
param
);
Map
<
Long
,
Integer
>
map
=
null
;
if
(
listServiceResponse
.
isSuccess
())
{
List
<
IndexChannelUserRateDTO
>
list
=
listServiceResponse
.
getResult
();
map
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
IndexChannelUserRateDTO:
:
getAreaId
,
IndexChannelUserRateDTO:
:
getMemberCount
));
}
Map
<
Long
,
Integer
>
finalMap
=
map
;
Integer
finalCuType
=
cuType
;
return
RestResponse
.
success
(
areaDataList
.
stream
().
map
(
e
->
{
ChannelUserRateVO
vo
=
new
ChannelUserRateVO
();
vo
.
setAreaId
(
Long
.
parseLong
(
e
.
getMbrAreaId
()));
vo
.
setAreaName
(
e
.
getMbrAreaName
());
vo
.
setOwnType
(
e
.
getOwnType
());
vo
.
setCuType
(
finalCuType
);
vo
.
setMemberCount
(
finalMap
.
getOrDefault
(
Long
.
parseLong
(
e
.
getMbrAreaId
()),
0
));
return
vo
;
}).
collect
(
Collectors
.
toList
()));
}
...
...
@@ -491,9 +544,16 @@ public class IndexModuleController {
return
authStoreIdList
;
}
private
List
<
MemberCardInfoVO
>
getMbrArea
(
Integer
userId
,
Integer
enterpriseId
){
/**
* 查询管理员用户域权限数据
* @param userId
* @param enterpriseId
* @param cuTypeEnum CuTypeEnum枚举
* @return
*/
private
List
<
MemberCardInfoVO
>
getAreaData
(
Integer
userId
,
Integer
enterpriseId
,
CuTypeEnum
cuTypeEnum
){
AreaSearchDTO
areaSearchDTO
=
new
AreaSearchDTO
();
areaSearchDTO
.
setCuTypes
(
Arrays
.
asList
(
CuTypeEnum
.
MCU
));
areaSearchDTO
.
setCuTypes
(
Arrays
.
asList
(
cuTypeEnum
));
areaSearchDTO
.
setEnterpriseId
(
enterpriseId
);
areaSearchDTO
.
setUserId
(
userId
);
List
<
ChannelAreaInfoDTO
>
listCard
=
userListFieldApiService
.
queryCustomAreaInfo
(
areaSearchDTO
).
getResult
();
...
...
@@ -528,6 +588,7 @@ public class IndexModuleController {
return
new
ArrayList
<>();
}
private
List
<
Long
>
getAuthAreaList
(
Long
cardAreaId
,
Integer
enterpriseId
,
Integer
userId
,
CuTypeEnum
cuTypeEnum
)
{
if
(
cardAreaId
!=
null
)
{
return
Arrays
.
asList
(
cardAreaId
);
...
...
gic-platform-enterprise-web/src/main/java/com/gic/enterprise/web/vo/index/ChannelUserRateVO.java
0 → 100644
View file @
2b2d78db
package
com
.
gic
.
enterprise
.
web
.
vo
.
index
;
import
java.io.Serializable
;
/**
* 首页-用户数量占比
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/5/25 9:24 AM
*/
public
class
ChannelUserRateVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
9148715335260696834L
;
private
Integer
memberCount
;
/**
* 服务门店/开卡门店会员总数
*/
private
Integer
mcuCount
;
/**
* 小程序会员数
*/
private
Integer
acuCount
;
/**
* 服务号会员数
*/
private
Integer
scuCount
;
/**
* CuTypeEnum枚举
*/
private
Integer
cuType
;
/**
* 域ID
*/
private
Long
areaId
;
/**
* 域名称
*/
private
String
areaName
;
/**
* 共享标志
*/
private
Integer
ownType
;
public
Integer
getMemberCount
()
{
return
memberCount
;
}
public
ChannelUserRateVO
setMemberCount
(
Integer
memberCount
)
{
this
.
memberCount
=
memberCount
;
return
this
;
}
public
Integer
getCuType
()
{
return
cuType
;
}
public
ChannelUserRateVO
setCuType
(
Integer
cuType
)
{
this
.
cuType
=
cuType
;
return
this
;
}
public
Long
getAreaId
()
{
return
areaId
;
}
public
ChannelUserRateVO
setAreaId
(
Long
areaId
)
{
this
.
areaId
=
areaId
;
return
this
;
}
public
String
getAreaName
()
{
return
areaName
;
}
public
ChannelUserRateVO
setAreaName
(
String
areaName
)
{
this
.
areaName
=
areaName
;
return
this
;
}
public
Integer
getOwnType
()
{
return
ownType
;
}
public
ChannelUserRateVO
setOwnType
(
Integer
ownType
)
{
this
.
ownType
=
ownType
;
return
this
;
}
public
Integer
getMcuCount
()
{
if
(
mcuCount
==
null
&&
cuType
!=
null
&&
cuType
==
3
)
{
return
memberCount
;
}
return
mcuCount
;
}
public
ChannelUserRateVO
setMcuCount
(
Integer
mcuCount
)
{
this
.
mcuCount
=
mcuCount
;
return
this
;
}
public
Integer
getAcuCount
()
{
if
(
acuCount
==
null
&&
cuType
!=
null
&&
cuType
==
1
)
{
return
memberCount
;
}
return
acuCount
;
}
public
ChannelUserRateVO
setAcuCount
(
Integer
acuCount
)
{
this
.
acuCount
=
acuCount
;
return
this
;
}
public
Integer
getScuCount
()
{
if
(
scuCount
==
null
&&
cuType
!=
null
&&
cuType
==
2
)
{
return
memberCount
;
}
return
scuCount
;
}
public
ChannelUserRateVO
setScuCount
(
Integer
scuCount
)
{
this
.
scuCount
=
scuCount
;
return
this
;
}
@Override
public
String
toString
()
{
return
"ChannelUserRateVO{"
+
"memberCount="
+
memberCount
+
", mcuCount="
+
mcuCount
+
", acuCount="
+
acuCount
+
", scuCount="
+
scuCount
+
", cuType="
+
cuType
+
", areaId="
+
areaId
+
", areaName='"
+
areaName
+
'\''
+
", ownType="
+
ownType
+
'}'
;
}
}
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