Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
haoban3.0
haoban-manage3.0
Commits
c7066b68
Commit
c7066b68
authored
Jul 16, 2025
by
xiehongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:企微概览导购维度列表和导出
parent
30016b1c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
248 additions
and
8 deletions
+248
-8
WechatWorkOverviewController.java
...b/controller/wechatwork/WechatWorkOverviewController.java
+129
-8
WechatWorkOverviewStoreGroupClerkHandle.java
...e/web/handle/WechatWorkOverviewStoreGroupClerkHandle.java
+83
-0
WechatWorkOverviewStoreGroupClerkQO.java
...eb/qo/wechatwork/WechatWorkOverviewStoreGroupClerkQO.java
+21
-0
WechatWorkOverviewStoreGroupClerkVO.java
...eb/vo/wechatwork/WechatWorkOverviewStoreGroupClerkVO.java
+15
-0
No files found.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/wechatwork/WechatWorkOverviewController.java
View file @
c7066b68
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
wechatwork
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.manage.web.handle.WechatWorkOverviewStoreGroupHandle
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.WechatWorkOverviewQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.WechatWorkOverviewStoreGroupQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.WechatWorkOverviewTrendQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.*
;
import
com.gic.haoban.manage.web.utils.AuthorizedUserUtils
;
import
com.gic.haoban.manage.web.utils.data.DataApiQO
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.utils.data.StoreStatusFilterUtils
;
import
com.gic.haoban.manage.web.vo.wechatwork.DataPageVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewStoreGroupVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewTrendVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.*
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.web.common.controller.NewBaseController
;
import
com.gic.web.common.download.DownloadTask
;
...
...
@@ -222,6 +220,129 @@ public class WechatWorkOverviewController extends NewBaseController {
return
RestResponse
.
successResult
(
reportId
);
}
/**
* 总数/新增-导购维度
* @param qo
* @return
*/
@RequestMapping
(
value
=
"store-group-clerk"
)
public
RestResponse
<
DataPageVO
<
WechatWorkOverviewStoreGroupClerkVO
>>
storeGroupClerk
(
@RequestBody
WechatWorkOverviewStoreGroupClerkQO
qo
)
{
qo
.
setStatusList
(
StoreStatusFilterUtils
.
getStoreStatusList
(
qo
.
getStoreStatusFilter
()));
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
qo
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
qo
);
jsonObject
.
put
(
"dataType"
,
2
);
boolean
isTotalQuery
=
qo
.
getQueryDataType
()
==
1
;
String
apolloKey
=
isTotalQuery
?
"data_mbr_scale_haoban_background_count"
:
"data_mbr_scale_haoban_background_count_new"
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
apolloKey
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
vo
.
setTotalNum
(
page
.
getTotalCount
());
jsonObject
.
put
(
"dataType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
JSONObject
total
=
storeAuthUtils
.
getTotalJson
(
jsonObject
,
apolloKey
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
total
!=
null
)
{
total
.
put
(
"clerkName"
,
"合计("
+
list
.
size
()
+
")"
);
list
.
add
(
0
,
total
);
}
vo
.
setRows
(
list
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
WechatWorkOverviewStoreGroupClerkVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 总数/新增-导购维度-导出
* @param qo
* @return
*/
@RequestMapping
(
value
=
"export-store-group-clerk"
)
public
RestResponse
exportStoreGroupClerk
(
@RequestBody
WechatWorkOverviewStoreGroupClerkQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
QW_OVERVIEW_STORE_GROUP_CLERK
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
getUserInfo
());
qo
.
setStatusList
(
StoreStatusFilterUtils
.
getStoreStatusList
(
qo
.
getStoreStatusFilter
()));
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
qo
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
qo
);
jsonObject
.
put
(
"dataType"
,
2
);
boolean
isTotalQuery
=
qo
.
getQueryDataType
()
==
1
;
String
apolloKey
=
isTotalQuery
?
"data_mbr_scale_haoban_background_count"
:
"data_mbr_scale_haoban_background_count_new"
;
jsonObject
.
put
(
"pageNum"
,
1
);
jsonObject
.
put
(
"pageSize"
,
1
);
jsonObject
.
put
(
"apolloKey"
,
apolloKey
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
apolloKey
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
task
.
setTotalCount
(
page
.
getTotalCount
());
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"导购姓名"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"所属门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"所属门店code"
);
fieldList
.
add
(
"storeCode"
);
if
(
isTotalQuery
)
{
indexList
.
add
(
"企微好友总数(去重)"
);
fieldList
.
add
(
"newEntwchFdNum"
);
indexList
.
add
(
"企微好友总数"
);
fieldList
.
add
(
"entwchFdNumTotal"
);
indexList
.
add
(
"已注册会员好友数"
);
fieldList
.
add
(
"entwchFdNumMbr"
);
indexList
.
add
(
"未注册会员好友数"
);
fieldList
.
add
(
"entwchFdNumNonmbr"
);
}
else
{
indexList
.
add
(
"新增企微好友数"
);
fieldList
.
add
(
"newEntwchFdNumTotal"
);
indexList
.
add
(
"新增已注册会员好友数"
);
fieldList
.
add
(
"newEntwchFdNumMbr"
);
indexList
.
add
(
"新增未注册会员好友数"
);
fieldList
.
add
(
"newEntwchFdNumNonmbr"
);
}
if
(
isTotalQuery
)
{
task
.
setFileName
(
"企微概览-导购维度总数数据"
);
}
else
{
task
.
setFileName
(
"企微概览-导购维度新增数据-"
+
qo
.
getStartDate
()
+
"_"
+
qo
.
getEndDate
());
}
task
.
setChannelName
(
"数据-企微数据-企微概览"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
wechatWorkOverviewStoreGroupHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
final
String
reportId
;
if
(
downloadTask
.
isSuccess
())
{
reportId
=
(
String
)
downloadTask
.
getResult
();
}
else
{
return
RestResponse
.
failure
(
"9999"
,
downloadTask
.
getErrorMessage
());
}
return
RestResponse
.
successResult
(
reportId
);
}
private
AuthorizedUser
getUserInfo
()
{
return
AuthorizedUserUtils
.
getUserInfo
();
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/WechatWorkOverviewStoreGroupClerkHandle.java
0 → 100644
View file @
c7066b68
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.log.Log
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.utils.data.DataApiQO
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.vo.wechatwork.DataPageVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewStoreGroupClerkVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewStoreGroupVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
/**
* 数据-企微数据-企微概览导购维度
*/
@Slf4j
@Component
public
class
WechatWorkOverviewStoreGroupClerkHandle
extends
DownloadHandlerAbstract
<
WechatWorkOverviewStoreGroupClerkVO
>
{
@Override
public
List
<
WechatWorkOverviewStoreGroupClerkVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
if
(
currentPage
==
1
)
{
log
.
info
(
"企微概览导购维度开始导出, searchDataParams:{}"
,
searchDataParams
);
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
jsonObject
.
getString
(
"apolloKey"
));
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
this
.
getPageSize
());
vo
.
setPageNum
(
currentPage
);
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollUtil
.
isNotEmpty
(
list
))
{
return
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
WechatWorkOverviewStoreGroupClerkVO
.
class
);
}
return
new
ArrayList
<>();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Collections
.
EMPTY_LIST
;
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
){
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Collections
.
EMPTY_LIST
;
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/wechatwork/WechatWorkOverviewStoreGroupClerkQO.java
0 → 100644
View file @
c7066b68
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
wechatwork
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Author guojx
* @Date 2024/5/22 9:27
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
WechatWorkOverviewStoreGroupClerkQO
extends
WechatWorkOverviewStoreGroupQO
implements
Serializable
{
/**
* 导购查询参数
*/
private
String
vagueQueryClerk
;
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/wechatwork/WechatWorkOverviewStoreGroupClerkVO.java
0 → 100644
View file @
c7066b68
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
wechatwork
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
WechatWorkOverviewStoreGroupClerkVO
extends
WechatWorkOverviewStoreGroupVO
implements
Serializable
{
private
String
clerkId
;
private
String
clerkName
;
private
String
clerkCode
;
}
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