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
992b2586
Commit
992b2586
authored
Mar 27, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 好办素材统计数据
parent
0f78e5c6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
273 additions
and
124 deletions
+273
-124
QywxGroupMsgTaskApiServiceImpl.java
...out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
+2
-0
MaterialDataStaticsController.java
...web/controller/content/MaterialDataStaticsController.java
+83
-9
MaterialDataAdaptor.java
...e/web/controller/content/adaptor/MaterialDataAdaptor.java
+150
-18
MaterialReportQO.java
...an/manage/web/qo/content/statistics/MaterialReportQO.java
+14
-6
MaterialStoreUsedDataVO.java
...ge/web/vo/content/statistics/MaterialStoreUsedDataVO.java
+24
-91
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
View file @
992b2586
...
...
@@ -93,6 +93,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
*/
@Override
public
ServiceResponse
<
Void
>
handlerMaterialWeekReport
(
String
params
)
{
log
.
info
(
"handlerMaterialWeekReport 执行素材周报任务开始 >>>>> {}"
,
DateUtil
.
datetimeToString
(
new
Date
()));
return
doHandlerReportInner
(
MaterialReportType
.
WEEK
.
getCode
());
}
...
...
@@ -104,6 +105,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
*/
@Override
public
ServiceResponse
<
Void
>
handlerMaterialMonthReport
(
String
params
)
{
log
.
info
(
"handlerMaterialWeekReport 执行素材月报任务开始 >>>>> {}"
,
DateUtil
.
datetimeToString
(
new
Date
()));
return
doHandlerReportInner
(
MaterialReportType
.
MONTH
.
getCode
());
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/MaterialDataStaticsController.java
View file @
992b2586
...
...
@@ -195,9 +195,13 @@ public class MaterialDataStaticsController {
storeIds
.
add
(
materialReportQO
.
getStoreId
());
}
MaterialPersonalUsedDataVO
materialPersonalUsedDataVO
=
materialDataAdaptor
.
queryMaterialUsedReport
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
);
Page
<
MaterialPersonalUsedDataVO
>
usedDataVOPage
=
materialDataAdaptor
.
queryMaterialClerkUsedReport
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
,
1
,
1
,
null
,
null
);
if
(
usedDataVOPage
==
null
||
CollectionUtils
.
isEmpty
(
usedDataVOPage
.
getResult
()))
{
return
RestResponse
.
successResult
();
}
MaterialPersonalUsedDataVO
materialPersonalUsedDataVO
=
usedDataVOPage
.
getResult
().
get
(
0
);
// 补充导购信息
ClerkDTO
clerkInfo
=
clerkService
.
getClerkByClerkId
(
materialReportQO
.
getClerkId
());
if
(
clerkInfo
!=
null
)
{
...
...
@@ -217,8 +221,28 @@ public class MaterialDataStaticsController {
@RequestMapping
(
path
=
"/content/material/store/used/data"
)
public
RestResponse
<
MaterialStoreUsedDataVO
>
queryMaterialStoreUseReport
(
@RequestBody
MaterialReportQO
materialReportQO
)
{
List
<
String
>
storeIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
materialReportQO
.
getStoreId
()))
{
storeIds
=
clerkStoreAdaptor
.
queryClerkStoreIds
(
materialReportQO
.
getClerkId
(),
materialReportQO
.
getWxEnterpriseId
());
}
else
{
storeIds
.
add
(
materialReportQO
.
getStoreId
());
}
return
RestResponse
.
successResult
();
Page
<
MaterialStoreUsedDataVO
>
usedDataVOPage
=
materialDataAdaptor
.
queryMaterialStoreUseReport
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
,
1
,
1
,
null
,
null
);
if
(
usedDataVOPage
==
null
||
CollectionUtils
.
isEmpty
(
usedDataVOPage
.
getResult
()))
{
return
RestResponse
.
successResult
();
}
MaterialStoreUsedDataVO
materialStoreUsedDataVO
=
usedDataVOPage
.
getResult
().
get
(
0
);
// 补充导购信息
ClerkDTO
clerkInfo
=
clerkService
.
getClerkByClerkId
(
materialReportQO
.
getClerkId
());
if
(
clerkInfo
!=
null
)
{
materialStoreUsedDataVO
.
setClerkId
(
materialReportQO
.
getClerkId
());
materialStoreUsedDataVO
.
setClerkName
(
clerkInfo
.
getClerkName
());
materialStoreUsedDataVO
.
setImageUrl
(
clerkInfo
.
getImageUrl
());
}
return
RestResponse
.
successResult
(
materialStoreUsedDataVO
);
}
...
...
@@ -228,10 +252,16 @@ public class MaterialDataStaticsController {
* @param materialReportQO
* @return
*/
@RequestMapping
(
path
=
"/content/material/
store
/used/data"
)
@RequestMapping
(
path
=
"/content/material/
area
/used/data"
)
public
RestResponse
<
MaterialStoreUsedDataVO
>
queryMaterialAreaUseReport
(
@RequestBody
MaterialReportQO
materialReportQO
)
{
return
RestResponse
.
successResult
();
List
<
String
>
storeIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
materialReportQO
.
getStoreId
()))
{
storeIds
=
clerkStoreAdaptor
.
queryClerkStoreIds
(
materialReportQO
.
getClerkId
(),
materialReportQO
.
getWxEnterpriseId
());
}
else
{
storeIds
.
add
(
materialReportQO
.
getStoreId
());
}
MaterialStoreUsedDataVO
materialStoreUsedDataVO
=
materialDataAdaptor
.
queryMaterialAreaOverviewData
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
);
return
RestResponse
.
successResult
(
materialStoreUsedDataVO
);
}
...
...
@@ -243,7 +273,29 @@ public class MaterialDataStaticsController {
@RequestMapping
(
path
=
"/content/material/personal/used/data/list"
)
public
RestResponse
<
Page
<
MaterialPersonalUsedDataVO
>>
queryMaterialUsedReportList
(
@RequestBody
MaterialReportQO
materialReportQO
)
{
return
RestResponse
.
successResult
();
List
<
String
>
storeIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
materialReportQO
.
getStoreId
()))
{
storeIds
=
clerkStoreAdaptor
.
queryClerkStoreIds
(
materialReportQO
.
getClerkId
(),
materialReportQO
.
getWxEnterpriseId
());
}
else
{
storeIds
.
add
(
materialReportQO
.
getStoreId
());
}
Page
<
MaterialPersonalUsedDataVO
>
usedDataVOPage
=
materialDataAdaptor
.
queryMaterialClerkUsedReport
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
,
1
,
1
,
materialReportQO
.
getOrderByField
(),
materialReportQO
.
getOrder
());
if
(
usedDataVOPage
==
null
||
CollectionUtils
.
isEmpty
(
usedDataVOPage
.
getResult
()))
{
return
RestResponse
.
successResult
();
}
// 补充导购信息
ClerkDTO
clerkInfo
=
clerkService
.
getClerkByClerkId
(
materialReportQO
.
getClerkId
());
if
(
clerkInfo
!=
null
)
{
for
(
MaterialPersonalUsedDataVO
materialPersonalUsedDataVO
:
usedDataVOPage
.
getResult
())
{
materialPersonalUsedDataVO
.
setClerkId
(
materialReportQO
.
getClerkId
());
materialPersonalUsedDataVO
.
setClerkName
(
clerkInfo
.
getClerkName
());
materialPersonalUsedDataVO
.
setImageUrl
(
clerkInfo
.
getImageUrl
());
}
}
return
RestResponse
.
successResult
(
usedDataVOPage
);
}
...
...
@@ -255,7 +307,29 @@ public class MaterialDataStaticsController {
*/
@RequestMapping
(
path
=
"/content/material/store/used/data/list"
)
public
RestResponse
<
Page
<
MaterialStoreUsedDataVO
>>
queryMaterialStoreUseReportList
(
@RequestBody
MaterialReportQO
materialReportQO
)
{
return
RestResponse
.
successResult
();
List
<
String
>
storeIds
=
new
ArrayList
<>();
if
(
StringUtils
.
isBlank
(
materialReportQO
.
getStoreId
()))
{
storeIds
=
clerkStoreAdaptor
.
queryClerkStoreIds
(
materialReportQO
.
getClerkId
(),
materialReportQO
.
getWxEnterpriseId
());
}
else
{
storeIds
.
add
(
materialReportQO
.
getStoreId
());
}
Page
<
MaterialStoreUsedDataVO
>
usedDataVOPage
=
materialDataAdaptor
.
queryMaterialStoreUseReport
(
materialReportQO
.
getEnterpriseId
(),
materialReportQO
.
getClerkId
(),
materialReportQO
.
getReportType
(),
storeIds
,
1
,
1
,
materialReportQO
.
getOrderByField
(),
materialReportQO
.
getOrder
());
if
(
usedDataVOPage
==
null
||
CollectionUtils
.
isEmpty
(
usedDataVOPage
.
getResult
()))
{
return
RestResponse
.
successResult
();
}
// 补充导购信息
ClerkDTO
clerkInfo
=
clerkService
.
getClerkByClerkId
(
materialReportQO
.
getClerkId
());
if
(
clerkInfo
!=
null
)
{
for
(
MaterialStoreUsedDataVO
materialStoreUsedDataVO
:
usedDataVOPage
.
getResult
())
{
materialStoreUsedDataVO
.
setClerkId
(
materialReportQO
.
getClerkId
());
materialStoreUsedDataVO
.
setClerkName
(
clerkInfo
.
getClerkName
());
materialStoreUsedDataVO
.
setImageUrl
(
clerkInfo
.
getImageUrl
());
}
}
return
RestResponse
.
successResult
(
usedDataVOPage
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/adaptor/MaterialDataAdaptor.java
View file @
992b2586
This diff is collapsed.
Click to expand it.
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/qo/content/statistics/MaterialReportQO.java
View file @
992b2586
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
content
.
statistics
;
import
lombok.Data
;
/**
* @Author MUSI
* @Date 2023/3/23 12:48 PM
...
...
@@ -7,6 +9,7 @@ package com.gic.haoban.manage.web.qo.content.statistics;
* @Version
* 素材
**/
@Data
public
class
MaterialReportQO
extends
MaterialStatisticsBaseQO
{
private
static
final
long
serialVersionUID
=
-
4105397589798480404L
;
...
...
@@ -18,11 +21,16 @@ public class MaterialReportQO extends MaterialStatisticsBaseQO {
*/
private
Integer
reportType
;
public
Integer
getReportType
()
{
return
reportType
;
}
/**
* 排序字段
* 日均使用导购占比
* 转化客户数
*/
private
String
orderByField
;
public
void
setReportType
(
Integer
reportType
)
{
this
.
reportType
=
reportType
;
}
/**
* 1 生序
* 0 降序
*/
private
Integer
order
;
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/content/statistics/MaterialStoreUsedDataVO.java
View file @
992b2586
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
content
.
statistics
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author MUSI
...
...
@@ -10,6 +13,7 @@ import java.math.BigDecimal;
* @Version
* 门店纬度使用数据
**/
@Data
public
class
MaterialStoreUsedDataVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6389925840088323751L
;
...
...
@@ -73,99 +77,28 @@ public class MaterialStoreUsedDataVO implements Serializable {
*/
private
String
storeName
;
public
Integer
getDayAvgUseMatlNum
()
{
return
dayAvgUseMatlNum
;
}
public
void
setDayAvgUseMatlNum
(
Integer
dayAvgUseMatlNum
)
{
this
.
dayAvgUseMatlNum
=
dayAvgUseMatlNum
;
}
public
BigDecimal
getDayAvgUseRate
()
{
return
dayAvgUseRate
;
}
public
void
setDayAvgUseRate
(
BigDecimal
dayAvgUseRate
)
{
this
.
dayAvgUseRate
=
dayAvgUseRate
;
}
public
Integer
getClickUserNum
()
{
return
clickUserNum
;
}
public
void
setClickUserNum
(
Integer
clickUserNum
)
{
this
.
clickUserNum
=
clickUserNum
;
}
public
Integer
getConvUserNum
()
{
return
convUserNum
;
}
public
void
setConvUserNum
(
Integer
convUserNum
)
{
this
.
convUserNum
=
convUserNum
;
}
public
BigDecimal
getConvSalesNmt
()
{
return
convSalesNmt
;
}
public
void
setConvSalesNmt
(
BigDecimal
convSalesNmt
)
{
this
.
convSalesNmt
=
convSalesNmt
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
BigDecimal
getUserClickNumRatio
()
{
return
userClickNumRatio
;
}
public
void
setUserClickNumRatio
(
BigDecimal
userClickNumRatio
)
{
this
.
userClickNumRatio
=
userClickNumRatio
;
}
public
BigDecimal
getConvUserNumRatio
()
{
return
convUserNumRatio
;
}
public
void
setConvUserNumRatio
(
BigDecimal
convUserNumRatio
)
{
this
.
convUserNumRatio
=
convUserNumRatio
;
}
/**
* 开始时间
*/
private
Date
startTime
;
public
Integer
getConvSalesAmtRank
()
{
return
convSalesAmtRank
;
}
/**
* 结束时间
*/
private
Date
endTime
;
public
void
setConvSalesAmtRank
(
Integer
convSalesAmtRank
)
{
this
.
convSalesAmtRank
=
convSalesAmtRank
;
}
/**
* 导购id
*/
private
String
clerkId
;
public
BigDecimal
getConvSalesAmtRatio
()
{
return
convSalesAmtRatio
;
}
/**
* 导购名称
*/
private
String
clerkName
;
public
void
setConvSalesAmtRatio
(
BigDecimal
convSalesAmtRatio
)
{
this
.
convSalesAmtRatio
=
convSalesAmtRatio
;
}
/**
* 导购头像
*/
private
String
imageUrl
;
}
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