Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
徐少华
midjourney-proxy
Commits
316d3bc9
Commit
316d3bc9
authored
Aug 08, 2019
by
daixing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1000884编辑端首页、收益管理,加上微信群相关
parent
84344081
Show whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
1705 additions
and
41 deletions
+1705
-41
BookClassifyDTO.java
.../main/java/com/pcloud/book/group/dto/BookClassifyDTO.java
+54
-0
BookGroupStatisticsDTO.java
...ava/com/pcloud/book/group/dto/BookGroupStatisticsDTO.java
+93
-0
BookGroupClassifyService.java
...m/pcloud/book/group/service/BookGroupClassifyService.java
+5
-4
BookConsr.java
...n/java/com/pcloud/book/consumer/settlement/BookConsr.java
+53
-0
SettlementConsr.java
.../com/pcloud/book/consumer/settlement/SettlementConsr.java
+14
-3
TradeConsr.java
.../main/java/com/pcloud/book/consumer/trade/TradeConsr.java
+32
-4
WechatGroupConsr.java
...om/pcloud/book/consumer/wechatgroup/WechatGroupConsr.java
+13
-0
BookGroupBiz.java
...src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
+45
-4
BookGroupClassifyBiz.java
.../java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
+3
-1
GroupQrcodeBiz.java
...c/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
+7
-0
BookGroupBizImpl.java
...java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
+266
-9
BookGroupClassifyBizImpl.java
.../pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
+9
-0
GroupQrcodeBizImpl.java
...va/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
+9
-0
AppClickRecordDao.java
...ain/java/com/pcloud/book/group/dao/AppClickRecordDao.java
+30
-0
AppTouchRecordDao.java
...ain/java/com/pcloud/book/group/dao/AppTouchRecordDao.java
+2
-0
BookGroupClassifyDao.java
.../java/com/pcloud/book/group/dao/BookGroupClassifyDao.java
+2
-0
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+6
-0
AppClickRecordDaoImpl.java
...com/pcloud/book/group/dao/impl/AppClickRecordDaoImpl.java
+44
-0
AppTouchRecordDaoImpl.java
...com/pcloud/book/group/dao/impl/AppTouchRecordDaoImpl.java
+12
-0
BookGroupClassifyDaoImpl.java
.../pcloud/book/group/dao/impl/BookGroupClassifyDaoImpl.java
+5
-0
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+10
-0
BookGroupClassifyFacade.java
...com/pcloud/book/group/facade/BookGroupClassifyFacade.java
+2
-0
BookGroupFacade.java
...in/java/com/pcloud/book/group/facade/BookGroupFacade.java
+69
-0
GroupQrcodeFacade.java
.../java/com/pcloud/book/group/facade/GroupQrcodeFacade.java
+9
-0
BookGroupFacadeImpl.java
...om/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
+72
-2
GroupQrcodeFacadeImpl.java
.../pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
+10
-0
BookGroupClassifyServiceImpl.java
...book/group/service/impl/BookGroupClassifyServiceImpl.java
+8
-4
ClassifyQrcodeVO.java
.../main/java/com/pcloud/book/group/vo/ClassifyQrcodeVO.java
+23
-1
GroupIncomeStaticParamVO.java
...va/com/pcloud/book/group/vo/GroupIncomeStaticParamVO.java
+88
-0
GroupScanTrendParamVO.java
.../java/com/pcloud/book/group/vo/GroupScanTrendParamVO.java
+89
-0
GroupScanTrendVO.java
.../main/java/com/pcloud/book/group/vo/GroupScanTrendVO.java
+65
-0
GroupStatisticVO.java
.../main/java/com/pcloud/book/group/vo/GroupStatisticVO.java
+129
-0
ListClassifyVO.java
...rc/main/java/com/pcloud/book/group/vo/ListClassifyVO.java
+23
-1
ResourceClickVO.java
...c/main/java/com/pcloud/book/group/vo/ResourceClickVO.java
+40
-0
ResourcesStatisticVO.java
...n/java/com/pcloud/book/group/vo/ResourcesStatisticVO.java
+100
-0
TotalRescourceDataVO.java
...n/java/com/pcloud/book/group/vo/TotalRescourceDataVO.java
+52
-0
WxGroupStatisticVO.java
...ain/java/com/pcloud/book/group/vo/WxGroupStatisticVO.java
+96
-0
AppClickRecord.xml
...e-book/src/main/resources/mapper/group/AppClickRecord.xml
+90
-0
AppTouchRecord.xml
...e-book/src/main/resources/mapper/group/AppTouchRecord.xml
+5
-0
BookGroupClassify.Mapper.xml
.../main/resources/mapper/group/BookGroupClassify.Mapper.xml
+14
-2
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+2
-1
pom.xml
pom.xml
+5
-5
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/group/dto/BookClassifyDTO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
dto
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.io.Serializable
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/25 16:07
*/
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
BookClassifyDTO
implements
Serializable
{
private
Long
bookId
;
private
Long
bookGroupId
;
private
Long
classifyCount
;
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getClassifyCount
()
{
return
classifyCount
;
}
public
void
setClassifyCount
(
Long
classifyCount
)
{
this
.
classifyCount
=
classifyCount
;
}
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
@Override
public
String
toString
()
{
return
"BookClassifyDTO{"
+
"bookId="
+
bookId
+
", bookGroupId="
+
bookGroupId
+
", classifyCount="
+
classifyCount
+
'}'
;
}
}
\ No newline at end of file
pcloud-facade-book/src/main/java/com/pcloud/book/group/dto/BookGroupStatisticsDTO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
dto
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.io.Serializable
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/25 16:29
*/
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
BookGroupStatisticsDTO
implements
Serializable
{
/**
* 群分类数
*/
private
Long
classifyCount
;
/**
* 微信群数
*/
private
Long
wxGroupCount
;
/**
* 当前群人数
*/
private
Long
groupPersonNum
;
/**
* 推广应用次数
*/
private
Long
promAppCount
;
/**
* 推广作品次数
*/
private
Long
promProductCount
;
public
Long
getClassifyCount
()
{
return
classifyCount
;
}
public
void
setClassifyCount
(
Long
classifyCount
)
{
this
.
classifyCount
=
classifyCount
;
}
public
Long
getWxGroupCount
()
{
return
wxGroupCount
;
}
public
void
setWxGroupCount
(
Long
wxGroupCount
)
{
this
.
wxGroupCount
=
wxGroupCount
;
}
public
Long
getGroupPersonNum
()
{
return
groupPersonNum
;
}
public
void
setGroupPersonNum
(
Long
groupPersonNum
)
{
this
.
groupPersonNum
=
groupPersonNum
;
}
public
Long
getPromAppCount
()
{
return
promAppCount
;
}
public
void
setPromAppCount
(
Long
promAppCount
)
{
this
.
promAppCount
=
promAppCount
;
}
public
Long
getPromProductCount
()
{
return
promProductCount
;
}
public
void
setPromProductCount
(
Long
promProductCount
)
{
this
.
promProductCount
=
promProductCount
;
}
@Override
public
String
toString
()
{
return
"BookGroupStatisticsDTO{"
+
"classifyCount="
+
classifyCount
+
", wxGroupCount="
+
wxGroupCount
+
", groupPersonNum="
+
groupPersonNum
+
", promAppCount="
+
promAppCount
+
", promProductCount="
+
promProductCount
+
'}'
;
}
}
\ No newline at end of file
pcloud-facade-book/src/main/java/com/pcloud/book/group/service/BookGroupClassifyService.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
service
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeBaseDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising
;
import
com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.common.dto.ResponseDto
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
...
...
@@ -54,4 +51,8 @@ public interface BookGroupClassifyService {
@ApiOperation
(
"过滤被删除的群分类、群二维码"
)
@PostMapping
(
"filterDeleteId"
)
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
filterDeleteId
(
@RequestBody
List
<
String
>
wxGroupIdList
);
@ApiOperation
(
"获取群分类个数"
)
@PostMapping
(
"getGroupClassifyCount"
)
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
BookClassifyDTO
>>>
getGroupClassifyCount
(
@RequestBody
List
<
Long
>
bookIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/settlement/BookConsr.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
consumer
.
settlement
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.settlementcenter.record.dto.GroupRescourceIncomeParamDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
com.pcloud.book.base.exception.BookBizException
;
...
...
@@ -102,4 +107,52 @@ public class BookConsr {
LOGGER
.
info
(
"【书刊-结算(消)】批量获取书刊总收益,<END>"
);
return
resultMap
;
}
@ParamLog
(
value
=
"批量获取社群码下资源的收益"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
Map
<
Long
,
BigDecimal
>
getRescourceIncome
(
GroupRescourceIncomeParamDTO
groupRescourceIncomeParamDTO
)
throws
BizException
{
Map
<
Long
,
BigDecimal
>
rescourceIncome
=
new
HashMap
<>();
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
BigDecimal
>>>
responseEntityP
=
bookService
.
getGroupRescourceIncome
(
groupRescourceIncomeParamDTO
);
rescourceIncome
=
ResponseHandleUtil
.
parseMap
(
responseEntityP
,
Long
.
class
,
BigDecimal
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"批量获取社群码下资源的收益.[getRescourceIncome]:"
+
e
.
getMessage
(),
e
);
}
return
rescourceIncome
;
}
@ParamLog
(
value
=
"批量获取社群码下资源的总收益"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
BigDecimal
getRescourceTotalIncome
(
GroupRescourceIncomeParamDTO
groupRescourceIncomeParamDTO
)
throws
BizException
{
BigDecimal
rescourceTotalIncome
=
new
BigDecimal
(
0
);
try
{
ResponseEntity
<
ResponseDto
<
BigDecimal
>>
responseEntityP
=
bookService
.
getGroupRescourceTotalIncome
(
groupRescourceIncomeParamDTO
);
rescourceTotalIncome
=
ResponseHandleUtil
.
parseResponse
(
responseEntityP
,
BigDecimal
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"批量获取社群码下资源的总收益.[getRescourceTotalIncome]:"
+
e
.
getMessage
(),
e
);
}
return
rescourceTotalIncome
;
}
@ParamLog
(
value
=
"批量获取社群码分类的收益"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
Map
<
Long
,
BigDecimal
>
getClassifyIncome
(
List
<
Long
>
classifyIds
)
throws
BizException
{
Map
<
Long
,
BigDecimal
>
classifyIncome
=
new
HashMap
<>();
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
BigDecimal
>>>
responseEntityP
=
bookService
.
getGroupClassifyIncome
(
classifyIds
);
classifyIncome
=
ResponseHandleUtil
.
parseMap
(
responseEntityP
,
Long
.
class
,
BigDecimal
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"批量获取社群码分类的收益.[getClassifyIncome]:"
+
e
.
getMessage
(),
e
);
}
return
classifyIncome
;
}
@ParamLog
(
value
=
"批量获取社群码分类下的微信群收益"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
Map
<
Long
,
BigDecimal
>
getQrcodeIncome
(
List
<
Long
>
qrcodeIds
)
throws
BizException
{
Map
<
Long
,
BigDecimal
>
qrcodeIncome
=
new
HashMap
<>();
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
BigDecimal
>>>
responseEntityP
=
bookService
.
getGroupQrcodeIncome
(
qrcodeIds
);
qrcodeIncome
=
ResponseHandleUtil
.
parseMap
(
responseEntityP
,
Long
.
class
,
BigDecimal
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"批量获取社群码分类下的微信群收益.[getQrcodeIncome]:"
+
e
.
getMessage
(),
e
);
}
return
qrcodeIncome
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/settlement/SettlementConsr.java
View file @
316d3bc9
...
...
@@ -14,9 +14,8 @@ import org.springframework.http.ResponseEntity;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
@Component
(
"settlementConsr"
)
public
class
SettlementConsr
{
...
...
@@ -55,4 +54,16 @@ public class SettlementConsr {
}
return
map
;
}
@ParamLog
(
value
=
"获取日期列表"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
List
<
Date
>
getDateList
(
Integer
dayNum
,
Date
startDate
,
Date
endDate
)
throws
BizException
{
List
<
Date
>
dateList
=
new
ArrayList
<>();
try
{
ResponseEntity
<
ResponseDto
<
List
<
Date
>>>
responseEntityP
=
settlementService
.
getDateList
(
dayNum
,
startDate
,
endDate
);
dateList
=
ResponseHandleUtil
.
parseList
(
responseEntityP
,
Date
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取日期列表.[getDateList]:"
+
e
.
getMessage
(),
e
);
}
return
dateList
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/trade/TradeConsr.java
View file @
316d3bc9
...
...
@@ -7,6 +7,7 @@ import com.pcloud.common.utils.ListUtils;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.facade.tradecenter.dto.*
;
import
com.pcloud.facade.tradecenter.service.OrderFormService
;
import
org.apache.commons.collections.MapUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,10 +15,7 @@ import org.springframework.http.ResponseEntity;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* @Author:lili
...
...
@@ -126,4 +124,34 @@ public class TradeConsr {
return
amount
;
}
@ParamLog
(
"获取社群码下的应用作品购买量"
)
public
List
<
ClassifyPayDetailDto
>
getGroupBuyCount
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
Date
startDate
,
Date
endDate
)
throws
BizException
{
List
<
ClassifyPayDetailDto
>
classifyPayDetailDtos
=
new
ArrayList
<>();
try
{
ResponseEntity
<
ResponseDto
<
List
<
ClassifyPayDetailDto
>>>
responseEntity
=
orderFormService
.
getSaleVolume
(
startDate
,
endDate
,
bookGroupId
,
classifyId
,
qrcodeId
);
classifyPayDetailDtos
=
ResponseHandleUtil
.
parseListResponse
(
responseEntity
,
ClassifyPayDetailDto
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取社群码下的应用作品购买量:"
+
e
.
getMessage
(),
e
);
}
if
(
ListUtils
.
isEmpty
(
classifyPayDetailDtos
))
{
classifyPayDetailDtos
=
new
ArrayList
<>();
}
return
classifyPayDetailDtos
;
}
@ParamLog
(
"查询社区码下购买应用详情"
)
public
Map
<
Long
,
GroupMoneyDto
>
getSaleDetail4Group
(
GroupIncomeSearchDto
groupIncomeSearchDto
)
throws
BizException
{
Map
<
Long
,
GroupMoneyDto
>
groupMoneyDtoMap
=
new
HashMap
<>();
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
GroupMoneyDto
>>>
responseEntity
=
orderFormService
.
getSaleDetail4Group
(
groupIncomeSearchDto
);
groupMoneyDtoMap
=
ResponseHandleUtil
.
parseMap
(
responseEntity
,
Long
.
class
,
GroupMoneyDto
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"查询社区码下购买应用详情:"
+
e
.
getMessage
(),
e
);
}
if
(
MapUtils
.
isEmpty
(
groupMoneyDtoMap
))
{
groupMoneyDtoMap
=
new
HashMap
<>();
}
return
groupMoneyDtoMap
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/wechatgroup/WechatGroupConsr.java
View file @
316d3bc9
...
...
@@ -134,6 +134,19 @@ public class WechatGroupConsr {
return
null
;
}
@ParamLog
(
value
=
"群分类累计进群人数与今日进群人数"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
Map
<
Long
,
Long
>
getclassifyMemberCount
(
List
<
Long
>
classifyIds
)
throws
BizException
{
if
(
ListUtils
.
isEmpty
(
classifyIds
))
{
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
mapGroupClassifyStatisInfo
(
classifyIds
),
Long
.
class
,
Long
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"群分类累计进群人数与今日进群人数.[getclassifyMemberCount]:"
+
e
.
getMessage
(),
e
);
}
return
null
;
}
@ParamLog
(
value
=
"活跃人数与总发言数"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
Map
<
Long
,
GroupChatCountDTO
>
getChatCountByGroup
(
List
<
Long
>
groupQrcodeIds
,
Long
bookGroupId
)
throws
BizException
{
if
(
ListUtils
.
isEmpty
(
groupQrcodeIds
))
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.group.dto.AppStatisticsDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ClassifyKeywordDTO
;
import
com.pcloud.book.group.dto.QrcodeNameAndProIdDTO
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.vo.*
;
import
com.pcloud.book.group.vo.StatisticVO
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
...
...
@@ -245,4 +246,44 @@ public interface BookGroupBiz {
* 获取是否显示书名
*/
Boolean
getIsShowBookName
(
Long
partyId
);
/**
* 获取社群码相关数据
*/
BookGroupStatisticsDTO
getBookGroupStatisByBookGroupId
(
Long
bookGroupId
);
/**
* 收益统计
*/
PageBeanNew
<
ResourcesStatisticVO
>
getGroupIncomeStatic
(
GroupIncomeStaticParamVO
groupIncomeStaticParamVO
,
Long
adviserId
);
/**
* 社群码浏览趋势图
*/
List
<
GroupScanTrendVO
>
getGroupScanTrend
(
GroupScanTrendParamVO
groupScanTrendParamVO
,
Long
adviserId
);
/**
* 社群码分类统计
*/
List
<
GroupStatisticVO
>
getClassifyStatistic
(
Long
bookGroupId
,
Long
adviserId
);
/**
* 社群码分类的微信群统计
*/
List
<
WxGroupStatisticVO
>
getQrcodeStatistic
(
Long
bookGroupId
,
Long
classifyId
,
Long
adviserId
);
/**
* 资源数据统计
*/
TotalRescourceDataVO
getTotalRescourceData
(
Long
bookGroupId
,
Long
adviserId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
);
/**
* 资源数据导出
*/
void
exportRescourceData
(
Long
bookGroupId
,
Long
adviserId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupClassifyBiz.java
View file @
316d3bc9
...
...
@@ -169,6 +169,9 @@ public interface BookGroupClassifyBiz {
PageBeanNew
<
ClassifyDTO
>
listSimpleBookGroupClassify4Adviser
(
Long
adviserId
,
BookGroupClassify
bookGroupClassify
,
PageParam
pageParam
);
PageBeanNew
<
AdviserClassifyVO
>
listAdviserClassify
(
Long
adviserId
,
AdviserClassifyParam
adviserClassifyParam
);
Map
<
Long
,
BookClassifyDTO
>
getGroupClassifyCount
(
List
<
Long
>
bookIds
);
/**
* 更新是否开启微学习报告
*/
...
...
@@ -178,5 +181,4 @@ public interface BookGroupClassifyBiz {
* 获取群分类学习报告相关列表
*/
PageBeanNew
<
ClassifyLearningReportDto
>
listClassifyForLearningReport
(
Integer
currentPage
,
Integer
numPerPage
,
String
keyword
,
Long
partyId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/GroupQrcodeBiz.java
View file @
316d3bc9
...
...
@@ -64,6 +64,13 @@ public interface GroupQrcodeBiz {
PageBeanNew
<
ClassifyQrcodeVO
>
listQrcodeByClassify
(
ListQrcodeByClassifyParamVO
listQrcodeByClassifyParamVO
);
/**
* @description 获取社群码类别下的群---不分页
* @author 戴兴
* @date 2019/7/28 15:59
*/
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
bookGroupId
,
Long
classifyId
);
/**
* @Author:lili
* @Desr:修改微信群名称
* @Date:2019/4/1 11:22
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
View file @
316d3bc9
...
...
@@ -14,22 +14,21 @@ import com.pcloud.book.consumer.app.AppConsr;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.raystask.MainLineConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.settlement.BookConsr
;
import
com.pcloud.book.consumer.settlement.SettlementConsr
;
import
com.pcloud.book.consumer.trade.TradeConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.dao.AppClickRecordDao
;
import
com.pcloud.book.group.dao.AppTouchRecordDao
;
import
com.pcloud.book.group.dao.BookGroupClassifyDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dto.AppStatisticsDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupStatisticDTO
;
import
com.pcloud.book.group.dto.ClassifyKeywordDTO
;
import
com.pcloud.book.group.dto.QrcodeNameAndProIdDTO
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.vo.
StatisticVO
;
import
com.pcloud.book.group.vo.
*
;
import
com.pcloud.book.keywords.dao.BookKeywordDao
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.keywords.vo.ListKeywordVO
;
...
...
@@ -54,9 +53,7 @@ import com.pcloud.common.utils.QrcodeUtils;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.zip.CompressUtils
;
import
com.pcloud.facade.tradecenter.dto.GroupMoneyDto
;
import
com.pcloud.facade.tradecenter.dto.SpeWechatGroupDto
;
import
com.pcloud.facade.tradecenter.dto.WechatGroupDto
;
import
com.pcloud.facade.tradecenter.dto.*
;
import
com.pcloud.labelcenter.label.service.LabelService
;
import
com.pcloud.liveapp.live.dto.ProductIdSearchDto
;
import
com.pcloud.liveapp.live.service.TimeTableService
;
...
...
@@ -67,8 +64,10 @@ import com.pcloud.resourcecenter.product.dto.SpecificationDto;
import
com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO
;
import
com.pcloud.resourcecenter.product.entity.Product
;
import
com.pcloud.resourcecenter.product.service.ProductService
;
import
com.pcloud.settlementcenter.record.dto.GroupRescourceIncomeParamDTO
;
import
com.pcloud.settlementcenter.record.service.SettlementService
;
import
com.pcloud.videolesson.schedule.service.ScheduleService
;
import
com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO
;
import
com.pcloud.wechatgroup.group.service.GroupMemberService
;
import
org.apache.commons.collections.MapUtils
;
...
...
@@ -154,6 +153,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
private
TimeTableService
timeTableService
;
@Autowired
private
AppPriceCacheService
appPriceCacheService
;
@Autowired
private
BookConsr
bookConsr
;
@Autowired
private
GroupQrcodeBiz
groupQrcodeBiz
;
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
@Override
...
...
@@ -1058,4 +1063,256 @@ public class BookGroupBizImpl implements BookGroupBiz {
return
bookGroupDao
.
getIsShowBookName
(
partyId
);
}
@Override
public
BookGroupStatisticsDTO
getBookGroupStatisByBookGroupId
(
Long
bookGroupId
)
{
Map
<
Long
,
BookGroupStatisticDTO
>
bookGroupStatisticMap
=
bookGroupClassifyBiz
.
getBookGroupStatistic
(
Arrays
.
asList
(
bookGroupId
));
BookGroupStatisticsDTO
bookGroupStatisticsDTO
=
new
BookGroupStatisticsDTO
();
Long
appCount
=
appTouchRecordDao
.
getCountByBokkGroupId
(
bookGroupId
,
"APP"
);
Long
productCount
=
appTouchRecordDao
.
getCountByBokkGroupId
(
bookGroupId
,
"PRODUCT"
);
if
(
MapUtils
.
isEmpty
(
bookGroupStatisticMap
)){
bookGroupStatisticsDTO
.
setClassifyCount
(
0L
);
bookGroupStatisticsDTO
.
setGroupPersonNum
(
0L
);
bookGroupStatisticsDTO
.
setWxGroupCount
(
0L
);
bookGroupStatisticsDTO
.
setPromAppCount
(
appCount
);
bookGroupStatisticsDTO
.
setPromProductCount
(
productCount
);
return
bookGroupStatisticsDTO
;
}
bookGroupStatisticsDTO
.
setClassifyCount
(
bookGroupStatisticMap
.
get
(
bookGroupId
).
getClassifyCount
().
longValue
());
bookGroupStatisticsDTO
.
setGroupPersonNum
(
bookGroupStatisticMap
.
get
(
bookGroupId
).
getUserNumber
().
longValue
());
bookGroupStatisticsDTO
.
setWxGroupCount
(
bookGroupStatisticMap
.
get
(
bookGroupId
).
getGroupNumber
().
longValue
());
bookGroupStatisticsDTO
.
setPromAppCount
(
appCount
);
bookGroupStatisticsDTO
.
setPromProductCount
(
productCount
);
return
bookGroupStatisticsDTO
;
}
@Override
public
PageBeanNew
<
ResourcesStatisticVO
>
getGroupIncomeStatic
(
GroupIncomeStaticParamVO
groupIncomeStaticParamVO
,
Long
adviserId
)
{
Long
bookGroupId
=
groupIncomeStaticParamVO
.
getBookGroupId
();
Integer
currentPage
=
groupIncomeStaticParamVO
.
getCurrentPage
();
Integer
numPerPage
=
groupIncomeStaticParamVO
.
getNumPerPage
();
String
type
=
groupIncomeStaticParamVO
.
getType
();
Long
classifyId
=
groupIncomeStaticParamVO
.
getClassifyId
();
Long
wxGroupId
=
groupIncomeStaticParamVO
.
getWxGroupId
();
if
(
currentPage
==
null
||
currentPage
<
0
||
numPerPage
==
null
||
numPerPage
<=
0
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"分页参数错误!"
);
}
if
(
bookGroupId
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"社群码id不能为空!"
);
}
if
(
type
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"类型不能为空"
);
}
PageParam
pageParam
=
new
PageParam
(
currentPage
,
numPerPage
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"type"
,
type
);
if
(
null
!=
classifyId
){
map
.
put
(
"classifyId"
,
classifyId
);
}
if
(
null
!=
wxGroupId
){
map
.
put
(
"qrcodeId"
,
wxGroupId
);
}
PageBeanNew
<
ResourcesStatisticVO
>
pageBeanNew
=
appClickRecordDao
.
listPageNew
(
pageParam
,
map
,
"getClickStatistics"
);
List
<
ResourcesStatisticVO
>
recordList
=
pageBeanNew
.
getRecordList
();
if
(
ListUtils
.
isEmpty
(
recordList
)){
return
pageBeanNew
;
}
//填充数据
setInfo
(
recordList
,
bookGroupId
,
classifyId
,
wxGroupId
,
type
);
return
pageBeanNew
;
}
void
setInfo
(
List
<
ResourcesStatisticVO
>
recordList
,
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
){
List
<
Long
>
rescourceIds
=
recordList
.
stream
().
map
(
ResourcesStatisticVO:
:
getRescourceId
).
collect
(
Collectors
.
toList
());
// map.put("rescourceIds",rescourceIds);
GroupRescourceIncomeParamDTO
groupRescourceIncomeParamDTO
=
new
GroupRescourceIncomeParamDTO
();
groupRescourceIncomeParamDTO
.
setBookGroupId
(
bookGroupId
);
groupRescourceIncomeParamDTO
.
setClassifyId
(
classifyId
);
groupRescourceIncomeParamDTO
.
setQrcodeId
(
qrcodeId
);
groupRescourceIncomeParamDTO
.
setType
(
type
);
groupRescourceIncomeParamDTO
.
setRescourceIds
(
rescourceIds
);
Map
<
Long
,
BigDecimal
>
rescourceIncome
=
bookConsr
.
getRescourceIncome
(
groupRescourceIncomeParamDTO
);
GroupIncomeSearchDto
groupIncomeSearchDto
=
new
GroupIncomeSearchDto
();
groupIncomeSearchDto
.
setBookGroupId
(
bookGroupId
);
groupIncomeSearchDto
.
setClassifyId
(
classifyId
);
groupIncomeSearchDto
.
setIds
(
rescourceIds
);
groupIncomeSearchDto
.
setQrcodeId
(
qrcodeId
);
groupIncomeSearchDto
.
setTypeCode
(
type
);
Map
<
Long
,
GroupMoneyDto
>
saleDetail4Group
=
tradeConsr
.
getSaleDetail4Group
(
groupIncomeSearchDto
);
Map
<
Long
,
AppDto
>
appDtoMap
;
Map
<
Long
,
ProductDto
>
productDtoMap
;
if
(
"APP"
.
equals
(
type
)){
appDtoMap
=
appConsr
.
mapByIds
(
rescourceIds
);
recordList
.
forEach
(
e
->{
if
(!
MapUtils
.
isEmpty
(
appDtoMap
)
&&
null
!=
appDtoMap
.
get
(
e
.
getRescourceId
())){
e
.
setRescourceName
(
appDtoMap
.
get
(
e
.
getRescourceId
()).
getTitle
());
}
if
(!
MapUtils
.
isEmpty
(
saleDetail4Group
)
&&
null
!=
saleDetail4Group
.
get
(
e
.
getRescourceId
())){
e
.
setSaleCount
(
saleDetail4Group
.
get
(
e
.
getRescourceId
()).
getSaleCount
());
e
.
setTotalSale
(
new
BigDecimal
(
saleDetail4Group
.
get
(
e
.
getRescourceId
()).
getSaleMoney
()));
}
else
{
e
.
setSaleCount
(
0L
);
e
.
setTotalSale
(
BigDecimal
.
ZERO
);
}
e
.
setType
(
"APP"
);
e
.
setTotalIncome
(
rescourceIncome
.
get
(
e
.
getRescourceId
()));
});
}
else
{
productDtoMap
=
productConsr
.
getProBasesByIds
(
rescourceIds
);
recordList
.
forEach
(
e
->{
if
(!
MapUtils
.
isEmpty
(
productDtoMap
)
&&
null
!=
productDtoMap
.
get
(
e
.
getRescourceId
())){
e
.
setRescourceName
(
productDtoMap
.
get
(
e
.
getRescourceId
()).
getProductName
());
}
e
.
setType
(
"PRODUCT"
);
e
.
setTotalIncome
(
rescourceIncome
.
get
(
e
.
getRescourceId
()));
if
(!
MapUtils
.
isEmpty
(
saleDetail4Group
)
&&
null
!=
saleDetail4Group
.
get
(
e
.
getRescourceId
())){
e
.
setSaleCount
(
saleDetail4Group
.
get
(
e
.
getRescourceId
()).
getSaleCount
());
e
.
setTotalSale
(
new
BigDecimal
(
saleDetail4Group
.
get
(
e
.
getRescourceId
()).
getSaleMoney
()));
}
else
{
e
.
setSaleCount
(
0L
);
e
.
setTotalSale
(
BigDecimal
.
ZERO
);
}
});
}
}
@Override
public
List
<
GroupScanTrendVO
>
getGroupScanTrend
(
GroupScanTrendParamVO
groupScanTrendParamVO
,
Long
adviserId
)
{
Integer
dayNum
=
groupScanTrendParamVO
.
getDayNum
();
if
(
dayNum
==
null
)
{
groupScanTrendParamVO
.
setDayNum
(
30
);
dayNum
=
30
;
}
Date
startDate
=
groupScanTrendParamVO
.
getStartDate
();
Date
endDate
=
groupScanTrendParamVO
.
getEndDate
();
Long
bookGroupId
=
groupScanTrendParamVO
.
getBookGroupId
();
Long
classifyId
=
groupScanTrendParamVO
.
getClassifyId
();
Long
wxGroupId
=
groupScanTrendParamVO
.
getWxGroupId
();
List
<
Date
>
dateList
=
settlementConsr
.
getDateList
(
dayNum
,
startDate
,
endDate
);
List
<
GroupScanTrendVO
>
groupScanTrendVOS
=
appClickRecordDao
.
getClickTrend
(
groupScanTrendParamVO
);
List
<
Date
>
collect
=
groupScanTrendVOS
.
stream
().
map
(
GroupScanTrendVO:
:
getDate
).
collect
(
Collectors
.
toList
());
List
<
ClassifyPayDetailDto
>
groupBuyCount
=
tradeConsr
.
getGroupBuyCount
(
bookGroupId
,
classifyId
,
wxGroupId
,
startDate
,
endDate
);
List
<
String
>
tradeDate
=
groupBuyCount
.
stream
().
map
(
ClassifyPayDetailDto:
:
getDivideDate
).
collect
(
Collectors
.
toList
());
if
(
dateList
.
size
()
>
groupScanTrendVOS
.
size
())
{
dateList
.
forEach
(
e
->
{
if
(!
collect
.
contains
(
e
))
{
GroupScanTrendVO
groupScanTrendVO
=
new
GroupScanTrendVO
();
groupScanTrendVO
.
setDate
(
e
);
groupScanTrendVO
.
setScanCount
(
0L
);
groupScanTrendVOS
.
add
(
groupScanTrendVO
);
}
});
}
if
(
ListUtils
.
isEmpty
(
groupBuyCount
)){
groupScanTrendVOS
.
forEach
(
e
->
e
.
setBuyCount
(
0L
));
}
else
{
groupScanTrendVOS
.
forEach
(
e
->
{
for
(
ClassifyPayDetailDto
classifyPayDetailDto
:
groupBuyCount
)
{
if
(
DateUtils
.
formatDate
(
e
.
getDate
()).
equals
(
classifyPayDetailDto
.
getDivideDate
()))
{
e
.
setBuyCount
(
classifyPayDetailDto
.
getBuyCount
());
}
else
{
e
.
setBuyCount
(
0L
);
}
}
});
}
return
groupScanTrendVOS
;
}
@Override
public
List
<
GroupStatisticVO
>
getClassifyStatistic
(
Long
bookGroupId
,
Long
adviserId
)
{
List
<
ListClassifyVO
>
listClassifyVOS
=
bookGroupClassifyBiz
.
listAllClassify
(
bookGroupId
);
if
(
ListUtils
.
isEmpty
(
listClassifyVOS
)){
return
new
ArrayList
<>();
}
List
<
Long
>
classifyIds
=
listClassifyVOS
.
stream
().
map
(
ListClassifyVO:
:
getId
).
collect
(
Collectors
.
toList
());
Map
<
Long
,
BigDecimal
>
classifyIncome
=
bookConsr
.
getClassifyIncome
(
classifyIds
);
List
<
GroupStatisticVO
>
groupStatisticVOS
=
new
ArrayList
<>();
Map
<
Long
,
Long
>
mapMemberCount
=
wechatGroupConsr
.
getclassifyMemberCount
(
classifyIds
);
listClassifyVOS
.
forEach
(
e
->{
GroupStatisticVO
groupStatisticVO
=
new
GroupStatisticVO
();
groupStatisticVO
.
setClassifyId
(
e
.
getId
());
groupStatisticVO
.
setClassifyName
(
e
.
getClassify
());
groupStatisticVO
.
setCreatedTime
(
e
.
getCreatedTime
());
if
(
BigDecimal
.
ZERO
.
compareTo
(
e
.
getPrice
())
==
0
){
groupStatisticVO
.
setIsFree
(
1
);
}
else
{
groupStatisticVO
.
setIsFree
(
0
);
}
groupStatisticVO
.
setGroupPersonCount
(
e
.
getUserNumberTotal
().
longValue
());
if
(!
MapUtils
.
isEmpty
(
classifyIncome
)){
groupStatisticVO
.
setIncome
(
classifyIncome
.
get
(
e
.
getId
()));
}
else
{
groupStatisticVO
.
setIncome
(
BigDecimal
.
ZERO
);
}
if
(!
MapUtils
.
isEmpty
(
mapMemberCount
)){
groupStatisticVO
.
setInGroupPersonCount
(
mapMemberCount
.
get
(
e
.
getId
()));
}
else
{
groupStatisticVO
.
setInGroupPersonCount
(
0L
);
}
groupStatisticVOS
.
add
(
groupStatisticVO
);
});
return
groupStatisticVOS
;
}
@Override
public
List
<
WxGroupStatisticVO
>
getQrcodeStatistic
(
Long
bookGroupId
,
Long
classifyId
,
Long
adviserId
)
{
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeBiz
.
getQrcodeByClassify
(
bookGroupId
,
classifyId
);
if
(
ListUtils
.
isEmpty
(
qrcodeByClassify
)){
return
new
ArrayList
<>();
}
List
<
Long
>
qrcodeIds
=
qrcodeByClassify
.
stream
().
map
(
ClassifyQrcodeVO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
String
>
wxGroupIds
=
qrcodeByClassify
.
stream
().
map
(
ClassifyQrcodeVO:
:
getWeixinGroupId
).
collect
(
Collectors
.
toList
());
Map
<
Long
,
BigDecimal
>
qrcodeIncome
=
bookConsr
.
getQrcodeIncome
(
qrcodeIds
);
Map
<
String
,
GroupMemberStatisDTO
>
groupMemberStatisDTOMap
=
wechatGroupConsr
.
listGroupMemberStatisInfo
(
wxGroupIds
);
List
<
WxGroupStatisticVO
>
wxGroupStatisticVOS
=
new
ArrayList
<>();
qrcodeByClassify
.
forEach
(
e
->{
WxGroupStatisticVO
wxGroupStatisticVO
=
new
WxGroupStatisticVO
();
wxGroupStatisticVO
.
setCreatedTime
(
e
.
getCreatedTime
());
wxGroupStatisticVO
.
setGroupPersonCount
(
e
.
getUserNumber
().
longValue
());
if
(
MapUtils
.
isEmpty
(
qrcodeIncome
)){
wxGroupStatisticVO
.
setIncome
(
BigDecimal
.
ZERO
);
}
else
{
wxGroupStatisticVO
.
setIncome
(
qrcodeIncome
.
get
(
e
.
getId
()));
}
if
(
MapUtils
.
isEmpty
(
groupMemberStatisDTOMap
)){
wxGroupStatisticVO
.
setInGroupPersonCount
(
0L
);
}
else
{
wxGroupStatisticVO
.
setInGroupPersonCount
(
groupMemberStatisDTOMap
.
get
(
e
.
getWeixinGroupId
()).
getJoinCount
().
longValue
());
}
wxGroupStatisticVO
.
setQrcodeId
(
e
.
getId
());
wxGroupStatisticVO
.
setWxGroupName
(
e
.
getGroupName
());
wxGroupStatisticVOS
.
add
(
wxGroupStatisticVO
);
});
return
wxGroupStatisticVOS
;
}
@Override
public
TotalRescourceDataVO
getTotalRescourceData
(
Long
bookGroupId
,
Long
adviserId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
)
{
TotalRescourceDataVO
totalRescourceDataVO
=
new
TotalRescourceDataVO
();
List
<
Long
>
rescourceIds
=
appClickRecordDao
.
getRescourceIds
(
bookGroupId
,
classifyId
,
qrcodeId
,
type
);
Long
rescourceTotalClick
=
appClickRecordDao
.
getRescourceTotalClick
(
bookGroupId
,
classifyId
,
qrcodeId
,
type
);
totalRescourceDataVO
.
setClickCount
(
rescourceTotalClick
);
GroupRescourceIncomeParamDTO
groupRescourceIncomeParamDTO
=
new
GroupRescourceIncomeParamDTO
();
groupRescourceIncomeParamDTO
.
setBookGroupId
(
bookGroupId
);
groupRescourceIncomeParamDTO
.
setClassifyId
(
classifyId
);
groupRescourceIncomeParamDTO
.
setQrcodeId
(
qrcodeId
);
groupRescourceIncomeParamDTO
.
setType
(
type
);
groupRescourceIncomeParamDTO
.
setRescourceIds
(
rescourceIds
);
BigDecimal
rescourceTotalIncome
=
bookConsr
.
getRescourceTotalIncome
(
groupRescourceIncomeParamDTO
);
totalRescourceDataVO
.
setTotalIncome
(
rescourceTotalIncome
==
null
?
BigDecimal
.
ZERO
:
rescourceTotalIncome
);
return
totalRescourceDataVO
;
}
@Override
public
void
exportRescourceData
(
Long
bookGroupId
,
Long
adviserId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
)
{
List
<
ResourcesStatisticVO
>
clickStatistics
=
appClickRecordDao
.
getClickStatistics
(
bookGroupId
,
classifyId
,
qrcodeId
,
type
);
setInfo
(
clickStatistics
,
bookGroupId
,
classifyId
,
qrcodeId
,
type
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
View file @
316d3bc9
...
...
@@ -882,6 +882,15 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
return
pageBeanNew
;
}
@Override
public
Map
<
Long
,
BookClassifyDTO
>
getGroupClassifyCount
(
List
<
Long
>
bookIds
)
{
if
(!
ListUtils
.
isEmpty
(
bookIds
)){
return
bookGroupClassifyDao
.
getGroupClassifyCount
(
bookIds
);
}
else
{
return
new
HashMap
<>();
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"更新是否开启微学习报告"
)
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
View file @
316d3bc9
...
...
@@ -168,6 +168,15 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
return
pageBeanNew
;
}
@Override
public
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
bookGroupId
,
Long
classifyId
)
{
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeDao
.
getQrcodeByClassify
(
bookGroupId
,
classifyId
);
if
(
ListUtils
.
isEmpty
(
qrcodeByClassify
)){
return
new
ArrayList
<>();
}
return
qrcodeByClassify
;
}
@ParamLog
(
value
=
"设置关键词次数"
,
isBefore
=
false
)
private
void
setKeywordCount
(
List
<
ClassifyQrcodeVO
>
classifyQrcodeVOS
)
{
if
(
ListUtils
.
isEmpty
(
classifyQrcodeVOS
))
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/AppClickRecordDao.java
View file @
316d3bc9
...
...
@@ -3,9 +3,14 @@ package com.pcloud.book.group.dao;
import
com.pcloud.book.group.dto.AppClickDTO
;
import
com.pcloud.book.group.dto.AppStatisticsDTO
;
import
com.pcloud.book.group.entity.AppClickRecord
;
import
com.pcloud.book.group.vo.GroupScanTrendParamVO
;
import
com.pcloud.book.group.vo.GroupScanTrendVO
;
import
com.pcloud.book.group.vo.ResourceClickVO
;
import
com.pcloud.book.group.vo.ResourcesStatisticVO
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
public
interface
AppClickRecordDao
extends
BaseDao
<
AppClickRecord
>
{
/**
...
...
@@ -17,4 +22,29 @@ public interface AppClickRecordDao extends BaseDao<AppClickRecord> {
* 获取最近点击
*/
List
<
AppClickDTO
>
getRecentlyClick
(
Long
wechatUserId
,
Long
qrcodeId
,
Integer
top
);
/**
* 获取资源点击趋势
*/
List
<
GroupScanTrendVO
>
getClickTrend
(
GroupScanTrendParamVO
groupScanTrendParamVO
);
/**
* 获取资源点击次数
*/
Map
<
Long
,
ResourceClickVO
>
getResourceClick
(
Map
<
String
,
Object
>
map
);
/**
* 获取资源点击总数
*/
Long
getRescourceTotalClick
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
);
/**
* 获取资源id
*/
List
<
Long
>
getRescourceIds
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
);
/**
* 获取资源点击数
*/
List
<
ResourcesStatisticVO
>
getClickStatistics
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/AppTouchRecordDao.java
View file @
316d3bc9
...
...
@@ -4,4 +4,6 @@ import com.pcloud.book.group.entity.AppTouchRecord;
import
com.pcloud.common.core.dao.BaseDao
;
public
interface
AppTouchRecordDao
extends
BaseDao
<
AppTouchRecord
>
{
Long
getCountByBokkGroupId
(
Long
bookGroupId
,
String
type
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/BookGroupClassifyDao.java
View file @
316d3bc9
...
...
@@ -229,6 +229,8 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
*/
List
<
ClassifyKeywordDTO
>
getClassifyStatistics
(
Long
bookId
);
Map
<
Long
,
BookClassifyDTO
>
getGroupClassifyCount
(
List
<
Long
>
bookIds
);
GroupClassifyQrcodeDTO
getClassifyQrcodeInfoByName
(
String
weixinGroupName
);
/**
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
316d3bc9
...
...
@@ -3,6 +3,7 @@ package com.pcloud.book.group.dao;
import
com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
import
com.pcloud.book.group.vo.ListGroupQrcodeResponseVO
;
import
com.pcloud.common.core.dao.BaseDao
;
...
...
@@ -196,4 +197,9 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
* 根据分类id集合查询
*/
List
<
GroupQrcodeFoAdDTO
>
GroupQrcodeFoAdDTOSByClassifyIds
(
List
<
Long
>
classifyIds
);
/**
* 根据分类id获取分类下的群---不分页
*/
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
bookGroupId
,
Long
classifyId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/AppClickRecordDaoImpl.java
View file @
316d3bc9
...
...
@@ -4,6 +4,10 @@ import com.pcloud.book.group.dao.AppClickRecordDao;
import
com.pcloud.book.group.dto.AppClickDTO
;
import
com.pcloud.book.group.dto.AppStatisticsDTO
;
import
com.pcloud.book.group.entity.AppClickRecord
;
import
com.pcloud.book.group.vo.GroupScanTrendParamVO
;
import
com.pcloud.book.group.vo.GroupScanTrendVO
;
import
com.pcloud.book.group.vo.ResourceClickVO
;
import
com.pcloud.book.group.vo.ResourcesStatisticVO
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
...
...
@@ -35,4 +39,44 @@ public class AppClickRecordDaoImpl extends BaseDaoImpl<AppClickRecord> implement
map
.
put
(
"top"
,
top
);
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getRecentlyClick"
),
map
);
}
@Override
public
List
<
GroupScanTrendVO
>
getClickTrend
(
GroupScanTrendParamVO
groupScanTrendParamVO
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getClickTrend"
),
groupScanTrendParamVO
);
}
@Override
public
Map
<
Long
,
ResourceClickVO
>
getResourceClick
(
Map
<
String
,
Object
>
map
)
{
return
this
.
getSqlSession
().
selectMap
(
this
.
getStatement
(
"getResourceClick"
),
map
,
"resourceId"
);
}
@Override
public
Long
getRescourceTotalClick
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"qrcodeId"
,
qrcodeId
);
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"classifyId"
,
classifyId
);
map
.
put
(
"type"
,
type
);
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getRescourceTotalClick"
),
map
);
}
@Override
public
List
<
Long
>
getRescourceIds
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"qrcodeId"
,
qrcodeId
);
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"classifyId"
,
classifyId
);
map
.
put
(
"type"
,
type
);
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getRescourceIds"
),
map
);
}
@Override
public
List
<
ResourcesStatisticVO
>
getClickStatistics
(
Long
bookGroupId
,
Long
classifyId
,
Long
qrcodeId
,
String
type
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"qrcodeId"
,
qrcodeId
);
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"classifyId"
,
classifyId
);
map
.
put
(
"type"
,
type
);
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getClickStatistics"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/AppTouchRecordDaoImpl.java
View file @
316d3bc9
...
...
@@ -5,6 +5,9 @@ import com.pcloud.book.group.entity.AppTouchRecord;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Description
* @Author ruansiyuan
...
...
@@ -12,4 +15,13 @@ import org.springframework.stereotype.Component;
**/
@Component
(
"appTouchRecordDao"
)
public
class
AppTouchRecordDaoImpl
extends
BaseDaoImpl
<
AppTouchRecord
>
implements
AppTouchRecordDao
{
@Override
public
Long
getCountByBokkGroupId
(
Long
bookGroupId
,
String
type
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"type"
,
type
);
return
this
.
getSqlSession
().
selectOne
(
this
.
getStatement
(
"getCountByBokkGroupId"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/BookGroupClassifyDaoImpl.java
View file @
316d3bc9
...
...
@@ -194,6 +194,11 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
}
@Override
public
Map
<
Long
,
BookClassifyDTO
>
getGroupClassifyCount
(
List
<
Long
>
bookIds
)
{
return
this
.
getSessionTemplate
().
selectMap
(
getStatement
(
"getGroupClassifyCount"
),
bookIds
,
"bookId"
);
}
@Override
public
GroupClassifyQrcodeDTO
getClassifyQrcodeInfoByName
(
String
weixinGroupName
)
{
return
this
.
getSessionTemplate
().
selectOne
(
getStatement
(
"getClassifyQrcodeInfoByName"
),
weixinGroupName
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
316d3bc9
...
...
@@ -6,6 +6,7 @@ import com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
import
com.pcloud.book.group.vo.ListGroupQrcodeResponseVO
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
...
...
@@ -188,4 +189,13 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
public
List
<
GroupQrcodeFoAdDTO
>
GroupQrcodeFoAdDTOSByClassifyIds
(
List
<
Long
>
classifyIds
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"GroupQrcodeFoAdDTOSByClassifyIds"
),
classifyIds
);
}
@Override
public
List
<
ClassifyQrcodeVO
>
getQrcodeByClassify
(
Long
bookGroupId
,
Long
classifyId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bookGroupId"
,
bookGroupId
);
map
.
put
(
"classifyId"
,
classifyId
);
map
.
put
(
"changeNumber"
,
0
);
return
this
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"listQrcodeByClassify"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/BookGroupClassifyFacade.java
View file @
316d3bc9
...
...
@@ -172,4 +172,6 @@ public interface BookGroupClassifyFacade {
@RequestParam
(
value
=
"keyword"
,
required
=
false
)
@ApiParam
(
"关键词"
)
String
keyword
)
throws
BizException
,
PermissionException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/BookGroupFacade.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
facade
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.vo.*
;
import
com.pcloud.common.page.PageBeanNew
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -21,6 +23,8 @@ import io.swagger.annotations.ApiImplicitParam;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
/**
* Description 社群书群二维码接口
* Created by PENG on 2019/4/17.
...
...
@@ -251,4 +255,69 @@ public interface BookGroupFacade {
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
,
JsonParseException
;
@ApiOperation
(
"获取社群书数据"
)
@RequestMapping
(
value
=
"getBookGroupStatisByBookGroupId"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getBookGroupStatisByBookGroupId
(
@RequestParam
(
"bookGroupId"
)
Long
bookGroupId
)
throws
BizException
;
@ApiOperation
(
value
=
"收益统计--pc"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"groupIncomeStaticParamVO"
,
value
=
"GroupIncomeStaticParamVO"
,
required
=
true
,
dataType
=
"GroupIncomeStaticParamVO"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"getGroupIncomeStatic"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<
PageBeanNew
<
ResourcesStatisticVO
>>
getGroupIncomeStatic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
GroupIncomeStaticParamVO
groupIncomeStaticParamVO
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"社群码浏览趋势图--pc"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"groupScanTrendParamVO"
,
value
=
"GroupScanTrendParamVO"
,
required
=
true
,
dataType
=
"GroupScanTrendParamVO"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"getGroupScanTrend"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<
List
<
GroupScanTrendVO
>>
getGroupScanTrend
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
GroupScanTrendParamVO
groupScanTrendParamVO
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"社群码分类统计--pc"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"bookGroupId"
,
value
=
"bookGroupId"
,
required
=
true
,
dataType
=
"Long"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"getClassifyStatistic"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
List
<
GroupStatisticVO
>>
getClassifyStatistic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"社群码分类下的微信群统计--pc"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"bookGroupId"
,
value
=
"bookGroupId"
,
required
=
true
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"classifyId"
,
value
=
"classifyId"
,
required
=
true
,
dataType
=
"Long"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"getQrcodeStatistic"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
List
<
WxGroupStatisticVO
>>
getQrcodeStatistic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
"classifyId"
)
Long
classifyId
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"资源数据统计--pc"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"bookGroupId"
,
value
=
"bookGroupId"
,
required
=
true
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"classifyId"
,
value
=
"classifyId"
,
required
=
false
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"qrcodeId"
,
value
=
"qrcodeId"
,
required
=
false
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"type"
,
value
=
"type"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"getTotalRescourceData"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getTotalRescourceData
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
,
@RequestParam
(
value
=
"qrcodeId"
,
required
=
false
)
Long
qrcodeId
,
@RequestParam
(
"type"
)
String
type
)
throws
BizException
,
PermissionException
;
@ApiOperation
(
value
=
"社群码资源收益数据导出--pc"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"bookGroupId"
,
value
=
"bookGroupId"
,
required
=
true
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"classifyId"
,
value
=
"classifyId"
,
required
=
false
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"qrcodeId"
,
value
=
"qrcodeId"
,
required
=
false
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"type"
,
value
=
"type"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"exportRescourceData"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
exportRescourceData
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
,
@RequestParam
(
value
=
"qrcodeId"
,
required
=
false
)
Long
qrcodeId
,
@RequestParam
(
"type"
)
String
type
)
throws
BizException
,
PermissionException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/GroupQrcodeFacade.java
View file @
316d3bc9
...
...
@@ -35,6 +35,15 @@ public interface GroupQrcodeFacade {
@RequestMapping
(
value
=
"listQrcodeByClassify"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<
PageBeanNew
>
listQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
ListQrcodeByClassifyParamVO
listQrcodeByClassifyParamVO
)
throws
PermissionException
;
@ApiOperation
(
value
=
"根据分类获取分类下二维码----不分页"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"bookGroupId"
,
value
=
"bookGroupId"
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"classifyId"
,
value
=
"classifyId"
,
dataType
=
"Long"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"getQrcodeByClassify"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"bookGroupId"
)
Long
bookGroupId
,
@RequestParam
(
"classifyId"
)
Long
classifyId
)
throws
PermissionException
;
@ApiOperation
(
value
=
"修改微信群名称"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"String"
,
paramType
=
"header"
),
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
View file @
316d3bc9
...
...
@@ -6,15 +6,15 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.facade.BookGroupFacade
;
import
com.pcloud.book.group.vo.
UpdateRankTypeVO
;
import
com.pcloud.book.group.vo.
*
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -371,4 +372,73 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
Long
partyId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
return
new
ResponseDto
<>(
bookGroupBiz
.
getIsShowBookName
(
partyId
));
}
@Override
@RequestMapping
(
value
=
"getBookGroupStatisByBookGroupId"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getBookGroupStatisByBookGroupId
(
@RequestParam
(
"bookGroupId"
)
Long
bookGroupId
)
throws
BizException
{
return
new
ResponseDto
<>(
bookGroupBiz
.
getBookGroupStatisByBookGroupId
(
bookGroupId
));
}
@Override
@RequestMapping
(
value
=
"getGroupIncomeStatic"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<
PageBeanNew
<
ResourcesStatisticVO
>>
getGroupIncomeStatic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
GroupIncomeStaticParamVO
groupIncomeStaticParamVO
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
PageBeanNew
<
ResourcesStatisticVO
>
groupIncomeStatic
=
bookGroupBiz
.
getGroupIncomeStatic
(
groupIncomeStaticParamVO
,
adviserId
);
return
new
ResponseDto
<>(
groupIncomeStatic
);
}
@Override
@RequestMapping
(
value
=
"getGroupScanTrend"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<
List
<
GroupScanTrendVO
>>
getGroupScanTrend
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
GroupScanTrendParamVO
groupScanTrendParamVO
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
List
<
GroupScanTrendVO
>
groupScanTrend
=
bookGroupBiz
.
getGroupScanTrend
(
groupScanTrendParamVO
,
adviserId
);
return
new
ResponseDto
<>(
groupScanTrend
);
}
@Override
@RequestMapping
(
value
=
"getClassifyStatistic"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
List
<
GroupStatisticVO
>>
getClassifyStatistic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
List
<
GroupStatisticVO
>
groupQrcodeStatistic
=
bookGroupBiz
.
getClassifyStatistic
(
bookGroupId
,
adviserId
);
return
new
ResponseDto
<>(
groupQrcodeStatistic
);
}
@Override
@RequestMapping
(
value
=
"getQrcodeStatistic"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
List
<
WxGroupStatisticVO
>>
getQrcodeStatistic
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
"classifyId"
)
Long
classifyId
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
List
<
WxGroupStatisticVO
>
qrcodeStatistic
=
bookGroupBiz
.
getQrcodeStatistic
(
bookGroupId
,
classifyId
,
adviserId
);
return
new
ResponseDto
<>(
qrcodeStatistic
);
}
@Override
@RequestMapping
(
value
=
"getTotalRescourceData"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getTotalRescourceData
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
,
@RequestParam
(
value
=
"qrcodeId"
,
required
=
false
)
Long
qrcodeId
,
@RequestParam
(
"type"
)
String
type
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
TotalRescourceDataVO
totalRescourceData
=
bookGroupBiz
.
getTotalRescourceData
(
bookGroupId
,
adviserId
,
classifyId
,
qrcodeId
,
type
);
return
new
ResponseDto
<>(
totalRescourceData
);
}
@Override
@RequestMapping
(
value
=
"exportRescourceData"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
exportRescourceData
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookGroupId"
,
required
=
true
)
Long
bookGroupId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
,
@RequestParam
(
value
=
"qrcodeId"
,
required
=
false
)
Long
qrcodeId
,
@RequestParam
(
"type"
)
String
type
)
throws
BizException
,
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
adviserId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
bookGroupBiz
.
exportRescourceData
(
bookGroupId
,
adviserId
,
classifyId
,
qrcodeId
,
type
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/GroupQrcodeFacadeImpl.java
View file @
316d3bc9
...
...
@@ -36,6 +36,8 @@ import java.util.Optional;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
/**
* @author lily
* @date 2019/4/19 15:36
...
...
@@ -73,6 +75,14 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
}
@Override
@RequestMapping
(
value
=
"getQrcodeByClassify"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getQrcodeByClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"bookGroupId"
)
Long
bookGroupId
,
@RequestParam
(
"classifyId"
)
Long
classifyId
)
throws
PermissionException
{
List
<
ClassifyQrcodeVO
>
qrcodeByClassify
=
groupQrcodeBiz
.
getQrcodeByClassify
(
bookGroupId
,
classifyId
);
return
new
ResponseDto
<>(
qrcodeByClassify
);
}
@Override
@PostMapping
(
"modifyWechatGroupName"
)
@ApiOperation
(
"修改微信群名称"
)
public
ResponseDto
<?>
modifyWechatGroupName
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WechatGroupNameVO
wechatGroupNameVO
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/service/impl/BookGroupClassifyServiceImpl.java
View file @
316d3bc9
...
...
@@ -2,10 +2,7 @@ package com.pcloud.book.group.service.impl;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeBaseDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising
;
import
com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.service.BookGroupClassifyService
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
...
...
@@ -88,4 +85,11 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService {
List
<
Long
>
qrcodeIds
=
groupQrcodeBiz
.
filterDeleteId
(
wxGroupIdList
);
return
ResponseHandleUtil
.
toResponse
(
qrcodeIds
);
}
@Override
@PostMapping
(
"getGroupClassifyCount"
)
public
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
BookClassifyDTO
>>>
getGroupClassifyCount
(
@RequestBody
List
<
Long
>
bookIds
)
{
Map
<
Long
,
BookClassifyDTO
>
groupClassifyCount
=
bookGroupClassifyBiz
.
getGroupClassifyCount
(
bookIds
);
return
ResponseHandleUtil
.
toResponse
(
groupClassifyCount
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ClassifyQrcodeVO.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -44,6 +46,13 @@ public class ClassifyQrcodeVO implements Serializable {
@ApiModelProperty
(
"关键词识别次数"
)
private
Integer
keywordCount
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"关键词识别次数"
)
private
Date
createdTime
;
public
String
getWeixinGroupId
()
{
return
weixinGroupId
;
}
...
...
@@ -124,6 +133,18 @@ public class ClassifyQrcodeVO implements Serializable {
this
.
keywordCount
=
keywordCount
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
@Override
public
String
toString
()
{
return
"ClassifyQrcodeVO{"
+
...
...
@@ -136,7 +157,8 @@ public class ClassifyQrcodeVO implements Serializable {
", quitRate="
+
quitRate
+
", weixinQrcodeId="
+
weixinQrcodeId
+
", weixinGroupId='"
+
weixinGroupId
+
'\''
+
", keywordCount='"
+
keywordCount
+
'\''
+
", keywordCount="
+
keywordCount
+
", createdTime="
+
createdTime
+
'}'
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/GroupIncomeStaticParamVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serializable
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/25 19:35
*/
@ApiModel
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
GroupIncomeStaticParamVO
implements
Serializable
{
private
Long
bookGroupId
;
private
Integer
currentPage
;
private
Integer
numPerPage
;
private
String
type
;
private
Long
classifyId
;
private
Long
wxGroupId
;
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Integer
getCurrentPage
()
{
return
currentPage
;
}
public
void
setCurrentPage
(
Integer
currentPage
)
{
this
.
currentPage
=
currentPage
;
}
public
Integer
getNumPerPage
()
{
return
numPerPage
;
}
public
void
setNumPerPage
(
Integer
numPerPage
)
{
this
.
numPerPage
=
numPerPage
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getWxGroupId
()
{
return
wxGroupId
;
}
public
void
setWxGroupId
(
Long
wxGroupId
)
{
this
.
wxGroupId
=
wxGroupId
;
}
@Override
public
String
toString
()
{
return
"GroupIncomeStaticParamVO{"
+
"bookGroupId="
+
bookGroupId
+
", currentPage="
+
currentPage
+
", numPerPage="
+
numPerPage
+
", type="
+
type
+
", classifyId="
+
classifyId
+
", wxGroupId="
+
wxGroupId
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/GroupScanTrendParamVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/25 19:57
*/
@ApiModel
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
GroupScanTrendParamVO
implements
Serializable
{
private
Long
bookGroupId
;
private
Long
classifyId
;
private
Long
wxGroupId
;
private
Date
startDate
;
private
Date
endDate
;
private
Integer
dayNum
;
public
Long
getBookGroupId
()
{
return
bookGroupId
;
}
public
void
setBookGroupId
(
Long
bookGroupId
)
{
this
.
bookGroupId
=
bookGroupId
;
}
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
Long
getWxGroupId
()
{
return
wxGroupId
;
}
public
void
setWxGroupId
(
Long
wxGroupId
)
{
this
.
wxGroupId
=
wxGroupId
;
}
public
Date
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
Date
startDate
)
{
this
.
startDate
=
startDate
;
}
public
Date
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
Date
endDate
)
{
this
.
endDate
=
endDate
;
}
public
Integer
getDayNum
()
{
return
dayNum
;
}
public
void
setDayNum
(
Integer
dayNum
)
{
this
.
dayNum
=
dayNum
;
}
@Override
public
String
toString
()
{
return
"GroupScanTrendParamVO{"
+
"bookGroupId="
+
bookGroupId
+
", classifyId="
+
classifyId
+
", wxGroupId="
+
wxGroupId
+
", startDate="
+
startDate
+
", endDate="
+
endDate
+
", dayNum="
+
dayNum
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/GroupScanTrendVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/26 9:05
*/
@ApiModel
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
GroupScanTrendVO
implements
Serializable
{
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
date
;
private
Long
buyCount
;
private
Long
scanCount
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
public
Date
getDate
()
{
return
date
;
}
public
void
setDate
(
Date
date
)
{
this
.
date
=
date
;
}
public
Long
getBuyCount
()
{
return
buyCount
;
}
public
void
setBuyCount
(
Long
buyCount
)
{
this
.
buyCount
=
buyCount
;
}
public
Long
getScanCount
()
{
return
scanCount
;
}
public
void
setScanCount
(
Long
scanCount
)
{
this
.
scanCount
=
scanCount
;
}
@Override
public
String
toString
()
{
return
"GroupScanTrendVO{"
+
"date="
+
date
+
", buyCount="
+
buyCount
+
", scanCount="
+
scanCount
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/GroupStatisticVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/28 15:45
*/
public
class
GroupStatisticVO
implements
Serializable
{
@ApiModelProperty
(
"分类唯一标识"
)
private
Long
classifyId
;
@ApiModelProperty
(
"分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"是否免费,1-免费 0-收费"
)
private
Integer
isFree
;
@ApiModelProperty
(
"点击人数"
)
private
Long
clickCount
;
@ApiModelProperty
(
"累计进群人数"
)
private
Long
inGroupPersonCount
;
@ApiModelProperty
(
"当前群人数"
)
private
Long
groupPersonCount
;
@ApiModelProperty
(
"收益"
)
private
BigDecimal
income
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createdTime
;
public
Long
getClassifyId
()
{
return
classifyId
;
}
public
void
setClassifyId
(
Long
classifyId
)
{
this
.
classifyId
=
classifyId
;
}
public
String
getClassifyName
()
{
return
classifyName
;
}
public
void
setClassifyName
(
String
classifyName
)
{
this
.
classifyName
=
classifyName
;
}
public
Integer
getIsFree
()
{
return
isFree
;
}
public
void
setIsFree
(
Integer
isFree
)
{
this
.
isFree
=
isFree
;
}
public
Long
getClickCount
()
{
return
clickCount
;
}
public
void
setClickCount
(
Long
clickCount
)
{
this
.
clickCount
=
clickCount
;
}
public
Long
getInGroupPersonCount
()
{
return
inGroupPersonCount
;
}
public
void
setInGroupPersonCount
(
Long
inGroupPersonCount
)
{
this
.
inGroupPersonCount
=
inGroupPersonCount
;
}
public
Long
getGroupPersonCount
()
{
return
groupPersonCount
;
}
public
void
setGroupPersonCount
(
Long
groupPersonCount
)
{
this
.
groupPersonCount
=
groupPersonCount
;
}
public
BigDecimal
getIncome
()
{
return
income
;
}
public
void
setIncome
(
BigDecimal
income
)
{
this
.
income
=
income
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
@Override
public
String
toString
()
{
return
"GroupStatisticVO{"
+
"classifyId="
+
classifyId
+
", classifyName="
+
classifyName
+
", isFree="
+
isFree
+
", clickCount="
+
clickCount
+
", inGroupPersonCount="
+
inGroupPersonCount
+
", groupPersonCount="
+
groupPersonCount
+
", income="
+
income
+
", createdTime="
+
createdTime
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ListClassifyVO.java
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -42,6 +44,13 @@ public class ListClassifyVO implements Serializable {
@ApiModelProperty
(
"排序"
)
private
Integer
rank
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createdTime
;
public
Integer
getRank
()
{
return
rank
;
}
...
...
@@ -114,9 +123,21 @@ public class ListClassifyVO implements Serializable {
this
.
qrcodeNumber
=
qrcodeNumber
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
@Override
public
String
toString
()
{
return
"
ClassifyName
VO{"
+
return
"
ListClassify
VO{"
+
"id="
+
id
+
", classify='"
+
classify
+
'\''
+
", classifyIntroduce='"
+
classifyIntroduce
+
'\''
+
...
...
@@ -125,6 +146,7 @@ public class ListClassifyVO implements Serializable {
", qrcodeNumber="
+
qrcodeNumber
+
", userNumberTotal="
+
userNumberTotal
+
", rank="
+
rank
+
", createdTime="
+
createdTime
+
'}'
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ResourceClickVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
java.io.Serializable
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/27 17:19
*/
public
class
ResourceClickVO
implements
Serializable
{
private
Long
rescourceId
;
private
Long
clickCount
;
public
Long
getRescourceId
()
{
return
rescourceId
;
}
public
void
setRescourceId
(
Long
rescourceId
)
{
this
.
rescourceId
=
rescourceId
;
}
public
Long
getClickCount
()
{
return
clickCount
;
}
public
void
setClickCount
(
Long
clickCount
)
{
this
.
clickCount
=
clickCount
;
}
@Override
public
String
toString
()
{
return
"ResourceClickVO{"
+
"rescourceId="
+
rescourceId
+
", clickCount="
+
clickCount
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ResourcesStatisticVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/25 19:01
*/
@ApiModel
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
ResourcesStatisticVO
implements
Serializable
{
private
Long
rescourceId
;
private
String
rescourceName
;
private
String
type
;
private
Long
browseCount
;
private
Long
saleCount
;
private
BigDecimal
totalSale
;
private
BigDecimal
totalIncome
;
public
Long
getRescourceId
()
{
return
rescourceId
;
}
public
void
setRescourceId
(
Long
rescourceId
)
{
this
.
rescourceId
=
rescourceId
;
}
public
String
getRescourceName
()
{
return
rescourceName
;
}
public
void
setRescourceName
(
String
rescourceName
)
{
this
.
rescourceName
=
rescourceName
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
Long
getBrowseCount
()
{
return
browseCount
;
}
public
void
setBrowseCount
(
Long
browseCount
)
{
this
.
browseCount
=
browseCount
;
}
public
Long
getSaleCount
()
{
return
saleCount
;
}
public
void
setSaleCount
(
Long
saleCount
)
{
this
.
saleCount
=
saleCount
;
}
public
BigDecimal
getTotalSale
()
{
return
totalSale
;
}
public
void
setTotalSale
(
BigDecimal
totalSale
)
{
this
.
totalSale
=
totalSale
;
}
public
BigDecimal
getTotalIncome
()
{
return
totalIncome
;
}
public
void
setTotalIncome
(
BigDecimal
totalIncome
)
{
this
.
totalIncome
=
totalIncome
;
}
@Override
public
String
toString
()
{
return
"ResourcesStatisticVO{"
+
"rescourceId='"
+
rescourceId
+
'\''
+
", rescourceName="
+
rescourceName
+
", type='"
+
type
+
'\''
+
", browseCount="
+
browseCount
+
", saleCount="
+
saleCount
+
", totalSale="
+
totalSale
+
", totalIncome="
+
totalIncome
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/TotalRescourceDataVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/28 16:16
*/
public
class
TotalRescourceDataVO
implements
Serializable
{
private
Long
clickCount
;
private
BigDecimal
totalSale
;
private
BigDecimal
totalIncome
;
public
Long
getClickCount
()
{
return
clickCount
;
}
public
void
setClickCount
(
Long
clickCount
)
{
this
.
clickCount
=
clickCount
;
}
public
BigDecimal
getTotalSale
()
{
return
totalSale
;
}
public
void
setTotalSale
(
BigDecimal
totalSale
)
{
this
.
totalSale
=
totalSale
;
}
public
BigDecimal
getTotalIncome
()
{
return
totalIncome
;
}
public
void
setTotalIncome
(
BigDecimal
totalIncome
)
{
this
.
totalIncome
=
totalIncome
;
}
@Override
public
String
toString
()
{
return
"TotalRescourceDataVO{"
+
"clickCount="
+
clickCount
+
", totalSale="
+
totalSale
+
", totalIncome="
+
totalIncome
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/WxGroupStatisticVO.java
0 → 100644
View file @
316d3bc9
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author 戴兴
* @description TODO
* @date 2019/7/28 15:47
*/
public
class
WxGroupStatisticVO
implements
Serializable
{
private
Long
qrcodeId
;
private
String
wxGroupName
;
private
Long
inGroupPersonCount
;
private
Long
groupPersonCount
;
private
BigDecimal
income
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createdTime
;
public
Long
getQrcodeId
()
{
return
qrcodeId
;
}
public
void
setQrcodeId
(
Long
qrcodeId
)
{
this
.
qrcodeId
=
qrcodeId
;
}
public
String
getWxGroupName
()
{
return
wxGroupName
;
}
public
void
setWxGroupName
(
String
wxGroupName
)
{
this
.
wxGroupName
=
wxGroupName
;
}
public
Long
getInGroupPersonCount
()
{
return
inGroupPersonCount
;
}
public
void
setInGroupPersonCount
(
Long
inGroupPersonCount
)
{
this
.
inGroupPersonCount
=
inGroupPersonCount
;
}
public
Long
getGroupPersonCount
()
{
return
groupPersonCount
;
}
public
void
setGroupPersonCount
(
Long
groupPersonCount
)
{
this
.
groupPersonCount
=
groupPersonCount
;
}
public
BigDecimal
getIncome
()
{
return
income
;
}
public
void
setIncome
(
BigDecimal
income
)
{
this
.
income
=
income
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
@Override
public
String
toString
()
{
return
"WxGroupStatisticVO{"
+
"qrcodeId="
+
qrcodeId
+
", wxGroupName='"
+
wxGroupName
+
'\''
+
", inGroupPersonCount="
+
inGroupPersonCount
+
", groupPersonCount="
+
groupPersonCount
+
", income="
+
income
+
", createdTime="
+
createdTime
+
'}'
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/AppClickRecord.xml
View file @
316d3bc9
...
...
@@ -65,6 +65,18 @@
t.serve_id
</select>
<select
id=
"getClickStatistics"
parameterType=
"map"
resultType=
"com.pcloud.book.group.vo.ResourcesStatisticVO"
>
select serve_id rescourceId, count(1) browseCount from app_click_record
where book_group_id = #{bookGroupId} and serve_type = #{type}
<if
test=
"classifyId != null"
>
and classify_id = #{classifyId}
</if>
<if
test=
"qrcodeId!=null"
>
AND qrcode_id = #{qrcodeId}
</if>
group by serve_id
</select>
<!--获取最近点击-->
<select
id=
"getRecentlyClick"
parameterType=
"map"
resultType=
"com.pcloud.book.group.dto.AppClickDTO"
>
select
...
...
@@ -81,4 +93,81 @@
order by create_time desc
limit #{top}
</select>
<select
id=
"getClickTrend"
parameterType=
"com.pcloud.book.group.vo.GroupScanTrendParamVO"
resultType=
"com.pcloud.book.group.vo.GroupScanTrendVO"
>
select DATE_FORMAT(create_time, '%Y-%m-%d') date, count(1) scanCount from app_click_record
where book_group_id = #{bookGroupId}
<if
test=
"classifyId != null"
>
and classify_id = #{classifyId}
</if>
<if
test=
"wxGroupId != null"
>
and qrcode_id = #{wxGroupId}
</if>
and create_time
>
=
<if
test=
"startDate == null"
>
DATE_FORMAT(SUBDATE(NOW(), INTERVAL #{dayNum} DAY),'%Y-%m-%d')
AND create_time
<
DATE_FORMAT(now(), '%Y-%m-%d')
</if>
<if
test=
"startDate != null"
>
DATE_FORMAT(#{startDate},'%Y-%m-%d')
AND create_time
<
= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if>
GROUP BY date
order by date
</select>
<select
id=
"getResourceClick"
parameterType=
"map"
resultType=
"com.pcloud.book.group.vo.ResourceClickVO"
>
SELECT
t.serve_id rescourceId,
count(1) clickCount
FROM
app_click_record t
WHERE
t.serve_id IN
<foreach
collection=
"rescourceIds"
index=
"index"
item=
"item"
close=
")"
open=
"("
separator=
","
>
#{item}
</foreach>
<if
test=
"bookGroupId!=null"
>
AND t.book_group_id = #{bookGroupId}
</if>
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"type!=null"
>
AND t.serve_type = #{type}
</if>
GROUP BY
t.serve_id
</select>
<select
id=
"getRescourceTotalClick"
parameterType=
"map"
resultType=
"long"
>
select count(1) FROM app_click_record t
WHERE t.book_group_id = #{bookGroupId}
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"type!=null"
>
AND t.serve_type = #{type}
</if>
</select>
<select
id=
"getRescourceIds"
parameterType=
"map"
resultType=
"long"
>
select t.serve_id FROM app_click_record t
WHERE t.book_group_id = #{bookGroupId}
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"classifyId!=null"
>
AND t.qrcode_id = #{qrcodeId}
</if>
<if
test=
"type!=null"
>
AND t.serve_type = #{type}
</if>
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/AppTouchRecord.xml
View file @
316d3bc9
...
...
@@ -62,4 +62,8 @@
t.serve_id
order by t.create_time desc
</select>
<select
id=
"getCountByBokkGroupId"
parameterType=
"map"
resultType=
"long"
>
select count(1) from app_touch_record where book_group_id =#{bookGroupId} and serve_type = #{type}
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/BookGroupClassify.Mapper.xml
View file @
316d3bc9
...
...
@@ -191,7 +191,8 @@
classify_introduce classifyIntroduce,
price,
change_number changeNumber,
rank
rank,
create_time createdTime
from
book_group_classify
where
...
...
@@ -207,7 +208,8 @@
change_number changeNumber,
rank,
count(1) qrcodeNumber,
SUM(user_number) userNumberTotal
SUM(user_number) userNumberTotal,
c.create_time createdTime
from
book_group_classify c join book_group_qrcode q on c.id = q.classify_id
where
...
...
@@ -784,6 +786,16 @@
book_group_classify c join book_group_qrcode q on c.id = q.classify_id
and q.group_name = #{_parameter} limit 1
</select>
<select
id=
"getGroupClassifyCount"
parameterType=
"list"
resultType=
"map"
>
select book_id bookId, count(1) classifyCount, book_group_id bookGroupId from book_group_classify
where is_delete = 0 and book_id in
<foreach
collection=
"list"
open=
"("
close=
")"
separator=
","
item=
"item"
>
#{item}
</foreach>
group by book_id
</select>
<!--更新是否开启学习报告-->
<update
id=
"updateHasOpenLearningReport"
parameterType=
"map"
>
update book_group_classify set
...
...
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
316d3bc9
...
...
@@ -87,7 +87,8 @@
<select
id=
"listQrcodeByClassify"
resultType=
"ClassifyQrcodeVO"
parameterType=
"map"
>
SELECT
id, weixin_qrcode_id weixinQrcodeId, weixin_group_id weixinGroupId, group_name groupName, classify_id classifyId, qrcode_url qrcodeUrl, user_number userNumber, ${changeNumber} changeNumber
id, weixin_qrcode_id weixinQrcodeId, weixin_group_id weixinGroupId, group_name groupName, classify_id classifyId,
qrcode_url qrcodeUrl, user_number userNumber, ${changeNumber} changeNumber, create_time createdTime
FROM
book_group_qrcode
WHERE
...
...
pom.xml
View file @
316d3bc9
...
...
@@ -104,8 +104,8 @@
<spring-cloud.version>
Dalston.SR1
</spring-cloud.version>
<pcloud-common-web.version>
2.1.0-RELEASE
</pcloud-common-web.version>
<!-- book -->
<pcloud-facade-book.version>
2.
1.0-RELEASE
</pcloud-facade-book.version>
<pcloud-service-book.version>
2.
1.0-RELEASE
</pcloud-service-book.version>
<pcloud-facade-book.version>
2.
0.0-SNAPSHOT
</pcloud-facade-book.version>
<pcloud-service-book.version>
2.
0.0-SNAPSHOT
</pcloud-service-book.version>
<pcloud-facade-usercenter.version>
2.1.0-RELEASE
</pcloud-facade-usercenter.version>
<pcloud-facade-channelcenter.version>
2.1.0-RELEASE
</pcloud-facade-channelcenter.version>
...
...
@@ -113,17 +113,17 @@
<pcloud-facade-analysisengine.version>
2.1.0-RELEASE
</pcloud-facade-analysisengine.version>
<pcloud-facade-quartz.version>
2.1.0-RELEASE
</pcloud-facade-quartz.version>
<pcloud-facade-appcenter.version>
2.1.0-RELEASE
</pcloud-facade-appcenter.version>
<pcloud-facade-settlement.version>
2.
1.0-RELEASE
</pcloud-facade-settlement.version>
<pcloud-facade-settlement.version>
2.
0.0-SNAPSHOT
</pcloud-facade-settlement.version>
<pcloud-facade-message.version>
2.1.0-RELEASE
</pcloud-facade-message.version>
<pcloud-facade-commoncenter.version>
2.1.0-RELEASE
</pcloud-facade-commoncenter.version>
<pcloud-facade-comment.version>
2.1.0-RELEASE
</pcloud-facade-comment.version>
<pcloud-facade-voicemessage.version>
2.1.0-RELEASE
</pcloud-facade-voicemessage.version>
<pcloud-facade-raystask.version>
2.1.0-RELEASE
</pcloud-facade-raystask.version>
<pcloud-facade-contentcenter.version>
2.1.0-SNAPSHOT
</pcloud-facade-contentcenter.version>
<pcloud-facade-tradecenter.version>
2.
1.0-RELEASE
</pcloud-facade-tradecenter.version>
<pcloud-facade-tradecenter.version>
2.
0.0-SNAPSHOT
</pcloud-facade-tradecenter.version>
<pcloud-facade-readercenter.version>
2.1.0-RELEASE
</pcloud-facade-readercenter.version>
<pcloud-facade-labelcenter.version>
2.1.0-RELEASE
</pcloud-facade-labelcenter.version>
<pcloud-facade-wechatgroup.version>
2.
1.0-RELEASE
</pcloud-facade-wechatgroup.version>
<pcloud-facade-wechatgroup.version>
2.
0.0-SNAPSHOT
</pcloud-facade-wechatgroup.version>
<pcloud-facade-promotion.version>
2.1.0-RELEASE
</pcloud-facade-promotion.version>
<pcloud-facade-audioapp.version>
2.1.0-RELEASE
</pcloud-facade-audioapp.version>
<pcloud-facade-videolesson.version>
2.1.0-RELEASE
</pcloud-facade-videolesson.version>
...
...
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