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
758cb5ce
Commit
758cb5ce
authored
Mar 27, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 数据统计
parent
b38e297f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
127 additions
and
7 deletions
+127
-7
MaterialDataStaticsController.java
...web/controller/content/MaterialDataStaticsController.java
+19
-6
ClerkStoreAdaptor.java
...age/web/controller/content/adaptor/ClerkStoreAdaptor.java
+16
-0
MaterialDataAdaptor.java
...e/web/controller/content/adaptor/MaterialDataAdaptor.java
+86
-0
MaterialIndexDataVO.java
...manage/web/vo/content/statistics/MaterialIndexDataVO.java
+6
-1
No files found.
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/MaterialDataStaticsController.java
View file @
758cb5ce
...
...
@@ -9,6 +9,7 @@ import com.gic.content.api.dto.material.ContentMaterialFrontDTO;
import
com.gic.content.api.qdto.material.ContentMaterialPageFrontQDTO
;
import
com.gic.content.api.service.ContentMaterialApiService
;
import
com.gic.haoban.manage.web.controller.content.adaptor.ClerkStoreAdaptor
;
import
com.gic.haoban.manage.web.controller.content.adaptor.MaterialDataAdaptor
;
import
com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO
;
import
com.gic.haoban.manage.web.qo.content.statistics.MaterialAnalyzeDataQO
;
import
com.gic.haoban.manage.web.qo.content.statistics.MaterialPersonalUsedQO
;
...
...
@@ -19,15 +20,18 @@ import com.gic.haoban.manage.web.vo.content.statistics.MaterialIndexDataVO;
import
com.gic.haoban.manage.web.vo.content.statistics.MaterialRealDataVO
;
import
com.gic.haoban.manage.web.vo.content.statistics.MaterialStoreUsedDataVO
;
import
com.gic.haoban.manage.web.vo.content.statistics.report.MaterialPersonalUsedDataVO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.math.BigDecimal
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Optional
;
/**
* 素材-好办数据统计
...
...
@@ -38,7 +42,8 @@ public class MaterialDataStaticsController {
@Autowired
private
ClerkStoreAdaptor
clerkStoreAdaptor
;
@Autowired
private
MaterialDataAdaptor
materialDataAdaptor
;
@Autowired
private
ContentMaterialApiService
contentMaterialApiService
;
...
...
@@ -51,7 +56,6 @@ public class MaterialDataStaticsController {
@RequestMapping
(
path
=
"/content/material/index/data"
)
public
RestResponse
<
MaterialIndexDataVO
>
queryMaterialIndexData
(
@RequestBody
ContentMaterialBaseQO
contentMaterialBaseQO
)
{
ContentMaterialPageFrontQDTO
search
=
new
ContentMaterialPageFrontQDTO
();
search
.
setEnterpriseId
(
contentMaterialBaseQO
.
getEnterpriseId
());
search
.
setPublishBeginStartTime
(
DateUtil
.
beginOfDay
(
new
Date
()));
...
...
@@ -68,16 +72,23 @@ public class MaterialDataStaticsController {
pageInfo
.
setPageSize
(
1
);
int
totalMaterialNum
=
0
;
ServiceResponse
<
Page
<
ContentMaterialFrontDTO
>>
serviceResponse
=
this
.
contentMaterialApiService
.
pageMaterialFront
(
search
,
pageInfo
);
if
(
serviceResponse
.
isSuccess
())
{
if
(
serviceResponse
.
isSuccess
()
&&
serviceResponse
.
getResult
()
!=
null
)
{
totalMaterialNum
=
serviceResponse
.
getResult
().
getTotalCount
();
}
int
totalManagerStoreNum
=
0
;
List
<
String
>
storeIds
=
clerkStoreAdaptor
.
queryClerkStoreIds
(
contentMaterialBaseQO
.
getClerkId
(),
contentMaterialBaseQO
.
getWxEnterpriseId
());
MaterialIndexDataVO
temp
=
materialDataAdaptor
.
queryMaterialIndexData
(
contentMaterialBaseQO
.
getEnterpriseId
(),
storeIds
);
if
(
CollectionUtils
.
isEmpty
(
storeIds
))
{
// 超管
totalMaterialNum
=
clerkStoreAdaptor
.
countAdminManagerStore
(
contentMaterialBaseQO
.
getClerkId
(),
contentMaterialBaseQO
.
getWxEnterpriseId
());
}
MaterialIndexDataVO
indexDataVO
=
MaterialIndexDataVO
.
builder
()
.
newMaterialNum
(
totalMaterialNum
)
.
storeManagerNum
(
storeIds
.
size
())
.
useMaterialClerkNum
(
temp
.
getUseMaterialClerkNum
())
.
unUseMaterialClerkNum
(
temp
.
getUnUseMaterialClerkNum
())
.
conversionAmount
(
Optional
.
ofNullable
(
temp
.
getConversionAmount
()).
orElse
(
BigDecimal
.
ZERO
))
.
storeManagerNum
(
totalManagerStoreNum
)
.
build
();
return
RestResponse
.
successResult
(
indexDataVO
);
}
...
...
@@ -89,6 +100,8 @@ public class MaterialDataStaticsController {
*/
@RequestMapping
(
path
=
"/content/material/real/use/data"
)
public
RestResponse
<
MaterialRealDataVO
>
queryMaterialUsedAnalyze
(
@RequestBody
MaterialStatisticsBaseQO
materialStatisticsBaseQO
)
{
return
RestResponse
.
successResult
();
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/adaptor/ClerkStoreAdaptor.java
View file @
758cb5ce
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
content
.
adaptor
;
import
com.gic.haoban.manage.api.dto.role.StoreRoleDTO
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -43,4 +44,19 @@ public class ClerkStoreAdaptor {
}
return
storeIds
;
}
/**
* 获取超管管理门店的总数
* @param clerkId
* @param wxEnterpriseId
* @return
*/
public
Integer
countAdminManagerStore
(
String
clerkId
,
String
wxEnterpriseId
)
{
StoreRoleDTO
storeRole
=
staffApiService
.
getCountHaoBanStoreIdsByClerkId
(
clerkId
,
wxEnterpriseId
);
if
(
storeRole
==
null
)
{
return
0
;
}
return
storeRole
.
getStoreCount
();
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/adaptor/MaterialDataAdaptor.java
0 → 100644
View file @
758cb5ce
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
content
.
adaptor
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.haoban.manage.web.utils.target.DataTargetHttpUtils
;
import
com.gic.haoban.manage.web.vo.content.statistics.MaterialIndexDataVO
;
import
com.gic.mall.api.dto.MallProDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author MUSI
* @Date 2023/3/27 10:49 AM
* @Description
* @Version
* 素材数据统计
**/
@Slf4j
@Component
public
class
MaterialDataAdaptor
{
@Autowired
private
ClerkStoreAdaptor
clerkStoreAdaptor
;
/**
* 素材首页数据统计
*/
private
static
final
String
MATERIAL_INDEX_DATA
=
"data_matl_haoban_area_stats_real"
;
/**
* 查询素材首页使用数据
* @param enterpriseId
* @return
*/
public
MaterialIndexDataVO
queryMaterialIndexData
(
String
enterpriseId
,
List
<
String
>
storeIds
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
Map
<
String
,
Object
>
inlineParams
=
new
HashMap
<>();
params
.
put
(
"inFields"
,
inlineParams
);
inlineParams
.
put
(
"enterprsieId"
,
enterpriseId
);
if
(
CollectionUtil
.
isNotEmpty
(
storeIds
))
{
inlineParams
.
put
(
"storeId"
,
StringUtils
.
join
(
storeIds
,
","
));
}
Map
<
String
,
Object
>
result
=
this
.
doHttp
(
JSON
.
toJSONString
(
params
),
MATERIAL_INDEX_DATA
);
if
(
result
.
get
(
"data"
)
==
null
)
{
return
MaterialIndexDataVO
.
builder
()
.
useMaterialClerkNum
(
0
)
.
unUseMaterialClerkNum
(
0
)
.
conversionAmount
(
BigDecimal
.
ZERO
)
.
build
();
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
.
get
(
"data"
)),
JSONObject
.
class
);
return
MaterialIndexDataVO
.
builder
()
.
useMaterialClerkNum
(
jsonObject
.
getIntValue
(
"useMatlClerkNum"
))
.
unUseMaterialClerkNum
(
jsonObject
.
getIntValue
(
"unusedMatlClerkNum"
))
.
conversionAmount
(
jsonObject
.
getBigDecimal
(
"convSalesAmt"
))
.
build
();
}
private
Map
<
String
,
Object
>
doHttp
(
String
jsonParam
,
String
apolloKey
){
try
{
Map
<
String
,
Object
>
result
=
DataTargetHttpUtils
.
http
(
jsonParam
,
apolloKey
);
if
(
result
==
null
)
{
return
Collections
.
emptyMap
();
}
return
result
;
}
catch
(
Exception
ex
)
{
log
.
info
(
"请求接口失败 apolloKey:{}"
,
apolloKey
,
ex
);
}
return
Collections
.
emptyMap
();
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/vo/content/statistics/MaterialIndexDataVO.java
View file @
758cb5ce
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
content
.
statistics
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author MUSI
...
...
@@ -14,6 +17,8 @@ import java.io.Serializable;
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
MaterialIndexDataVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7362625836544624683L
;
...
...
@@ -31,7 +36,7 @@ public class MaterialIndexDataVO implements Serializable {
/**
* 转换金额
*/
private
String
conversionAmount
;
private
BigDecimal
conversionAmount
;
/**
* 当天素材发布数量
...
...
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