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
3b86b71b
Commit
3b86b71b
authored
Jan 26, 2021
by
田超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/1004185' into 'master'
feat: [1004185] banner统计 See merge request rays/pcloud-book!1172
parents
0b8ac8f4
83e94922
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
425 additions
and
41 deletions
+425
-41
AppletService.java
...in/java/com/pcloud/book/applet/service/AppletService.java
+5
-0
BookConstant.java
...main/java/com/pcloud/book/book/constant/BookConstant.java
+5
-0
AppletBannerBiz.java
...main/java/com/pcloud/book/applet/biz/AppletBannerBiz.java
+23
-0
AppletBannerBizImpl.java
.../com/pcloud/book/applet/biz/impl/AppletBannerBizImpl.java
+161
-3
AppletRecordBizImpl.java
.../com/pcloud/book/applet/biz/impl/AppletRecordBizImpl.java
+32
-31
AppletUserBookcaseBizImpl.java
...cloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
+2
-2
AppletBannerDao.java
...main/java/com/pcloud/book/applet/dao/AppletBannerDao.java
+7
-0
AppletBannerDaoImpl.java
.../com/pcloud/book/applet/dao/impl/AppletBannerDaoImpl.java
+15
-0
AppletBannerDTO.java
...main/java/com/pcloud/book/applet/dto/AppletBannerDTO.java
+17
-0
AppletBannerTrendDTO.java
...java/com/pcloud/book/applet/dto/AppletBannerTrendDTO.java
+27
-0
AppletBanner.java
...main/java/com/pcloud/book/applet/entity/AppletBanner.java
+22
-0
AppletBannerRecord.java
...ava/com/pcloud/book/applet/entity/AppletBannerRecord.java
+11
-0
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+16
-0
AppletBannerRecordMapper.java
...m/pcloud/book/applet/mapper/AppletBannerRecordMapper.java
+5
-0
AppletServiceImpl.java
...om/pcloud/book/applet/service/impl/AppletServiceImpl.java
+11
-0
ThreadPoolUtils.java
...ain/java/com/pcloud/book/util/common/ThreadPoolUtils.java
+4
-0
AppletBanner.xml
...ce-book/src/main/resources/mapper/applet/AppletBanner.xml
+21
-3
AppletBannerRecordMapper.xml
...main/resources/mapper/applet/AppletBannerRecordMapper.xml
+41
-2
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/applet/service/AppletService.java
View file @
3b86b71b
...
@@ -119,4 +119,9 @@ public interface AppletService {
...
@@ -119,4 +119,9 @@ public interface AppletService {
@ApiOperation
(
"停止更新 applet_record.type_code 旧数据"
)
@ApiOperation
(
"停止更新 applet_record.type_code 旧数据"
)
@GetMapping
(
"stopHandleAppletRecordTypeCode"
)
@GetMapping
(
"stopHandleAppletRecordTypeCode"
)
void
stopHandleAppletRecordTypeCode
();
void
stopHandleAppletRecordTypeCode
();
@ApiOperation
(
"定时任务更新banner上下架状态"
)
@GetMapping
(
"autoChageBannerState"
)
void
autoChageBannerState
(
@RequestParam
(
"id"
)
Long
id
,
@RequestParam
(
"showState"
)
Integer
showState
);
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/book/constant/BookConstant.java
View file @
3b86b71b
...
@@ -400,4 +400,9 @@ public class BookConstant {
...
@@ -400,4 +400,9 @@ public class BookConstant {
public
static
final
String
wxOfficialAccountUrl
=
"http://m-qun.umeng100.com/uqun/growth/luopan/client/business/operationData/wxOfficialAccountUrl/list.ajax"
;
public
static
final
String
wxOfficialAccountUrl
=
"http://m-qun.umeng100.com/uqun/growth/luopan/client/business/operationData/wxOfficialAccountUrl/list.ajax"
;
public
static
final
Long
visitorWechatUserId
=
86045917L
;
public
static
final
Long
visitorWechatUserId
=
86045917L
;
public
static
final
String
JOB_NAME_BANNER_PUT_ON
=
"BannerAutoPutOn"
;
public
static
final
String
JOB_NAME_BANNER_PUT_OFF
=
"BannerAutoPutOff"
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletBannerBiz.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
biz
;
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.text.ParseException
;
import
java.util.List
;
/**
/**
* 小程序banner
* 小程序banner
*/
*/
...
@@ -52,4 +56,23 @@ public interface AppletBannerBiz {
...
@@ -52,4 +56,23 @@ public interface AppletBannerBiz {
PageBeanNew
<
AppletBannerDTO
>
listBanner4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Boolean
showState
,
Long
officialAccountsId
,
Long
wechatUserId
);
PageBeanNew
<
AppletBannerDTO
>
listBanner4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Boolean
showState
,
Long
officialAccountsId
,
Long
wechatUserId
);
void
bannerClickRecord
(
Long
wechatUserId
,
Long
bannerId
);
void
bannerClickRecord
(
Long
wechatUserId
,
Long
bannerId
);
/**
*
* @param
* @param currentPage
* @param numPerPage
* @param agentId
* @param inHour
* @param id
* @return
*/
List
<
AppletBannerTrendDTO
>
getBannerRecordTrend
(
String
currentPage
,
String
numPerPage
,
Long
agentId
,
Boolean
inHour
,
Long
id
)
throws
ParseException
;
/**
* 定时任务更新banner上下架状态
* @param id
* @param showState
*/
void
autoChageBannerState
(
Long
id
,
Integer
showState
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletBannerBizImpl.java
View file @
3b86b71b
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.biz.impl;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.biz.impl;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.applet.biz.AppletBannerBiz
;
import
com.pcloud.book.applet.biz.AppletBannerBiz
;
...
@@ -10,6 +11,7 @@ import com.pcloud.book.applet.dao.AppletBannerDao;
...
@@ -10,6 +11,7 @@ import com.pcloud.book.applet.dao.AppletBannerDao;
import
com.pcloud.book.applet.dao.AppletUserBookcaseDao
;
import
com.pcloud.book.applet.dao.AppletUserBookcaseDao
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerStats
;
import
com.pcloud.book.applet.dto.AppletBannerStats
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.dto.ServeItemInfoDTO
;
import
com.pcloud.book.applet.dto.ServeItemInfoDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.applet.entity.AppletBanner
;
...
@@ -23,18 +25,31 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
...
@@ -23,18 +25,31 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ParamChecker
;
import
com.pcloud.common.utils.ParamChecker
;
import
com.pcloud.common.utils.ServeLinkUtils
;
import
com.pcloud.common.utils.ServeLinkUtils
;
import
com.pcloud.facade.quartz.entity.CallBackParam
;
import
com.pcloud.facade.quartz.entity.ScheduleJob
;
import
com.pcloud.facade.quartz.service.ScheduleService
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.wechatgroup.base.exception.WechatGroupBizException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.codehaus.jackson.JsonParseException
;
import
org.quartz.SchedulerException
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -44,6 +59,9 @@ import java.util.concurrent.CompletableFuture;
...
@@ -44,6 +59,9 @@ import java.util.concurrent.CompletableFuture;
import
java.util.concurrent.ExecutionException
;
import
java.util.concurrent.ExecutionException
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
pcloud
.
book
.
book
.
constant
.
BookConstant
.
JOB_NAME_BANNER_PUT_OFF
;
import
static
com
.
pcloud
.
book
.
book
.
constant
.
BookConstant
.
JOB_NAME_BANNER_PUT_ON
;
/**
/**
* 小程序banner
* 小程序banner
*/
*/
...
@@ -67,6 +85,8 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
...
@@ -67,6 +85,8 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
private
RightsSettingBiz
rightsSettingBiz
;
private
RightsSettingBiz
rightsSettingBiz
;
@Autowired
@Autowired
private
QrcodeSceneConsr
qrcodeSceneConsr
;
private
QrcodeSceneConsr
qrcodeSceneConsr
;
@Autowired
private
ScheduleService
scheduleService
;
@Override
@Override
...
@@ -81,7 +101,44 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
...
@@ -81,7 +101,44 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
appletBanner
.
setSeq
(
seq
+
1
);
appletBanner
.
setSeq
(
seq
+
1
);
appletBanner
.
setShowState
(
false
);
appletBanner
.
setShowState
(
false
);
appletBannerDao
.
insert
(
appletBanner
);
appletBannerDao
.
insert
(
appletBanner
);
return
appletBanner
.
getId
();
Long
id
=
appletBanner
.
getId
();
if
(
null
!=
appletBanner
.
getStartTime
())
{
addSimpleJob4Banner
(
id
,
JOB_NAME_BANNER_PUT_ON
+
id
,
appletBanner
.
getStartTime
(),
YesOrNoEnums
.
YES
.
getValue
());
}
if
(
null
!=
appletBanner
.
getEndTime
())
{
addSimpleJob4Banner
(
id
,
JOB_NAME_BANNER_PUT_OFF
+
id
,
appletBanner
.
getEndTime
(),
YesOrNoEnums
.
NO
.
getValue
());
}
return
id
;
}
private
void
addSimpleJob4Banner
(
Long
id
,
String
jobName
,
Date
startTime
,
Integer
showState
)
{
Long
second
=
(
startTime
.
getTime
()
-
System
.
currentTimeMillis
())
/
1000
;
ScheduleJob
scheduleJob
=
new
ScheduleJob
();
scheduleJob
.
setJobGroup
(
"book"
);
scheduleJob
.
setStartTimeFormat
(
"ss"
);
scheduleJob
.
setStartTime
(
second
.
intValue
());
scheduleJob
.
setRepeatCount
(
0
);
scheduleJob
.
setIntervalTime
(
0
);
scheduleJob
.
setIntervalTimeFormat
(
"dd"
);
scheduleJob
.
setJobName
(
jobName
);
CallBackParam
callBackParam
=
new
CallBackParam
();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
//定时任务调用时用到的参数
paramMap
.
put
(
"id"
,
id
);
paramMap
.
put
(
"showState"
,
showState
);
callBackParam
.
setParamMap
(
paramMap
);
callBackParam
.
setMethodName
(
"autoChageBannerState"
);
callBackParam
.
setBeanName
(
"appletService"
);
Map
<
String
,
Object
>
scheduleMap
=
new
HashMap
<>();
scheduleMap
.
put
(
"scheduleJob"
,
scheduleJob
);
scheduleMap
.
put
(
"callBackParam"
,
callBackParam
);
try
{
scheduleService
.
addSimpleJob
(
scheduleMap
);
}
catch
(
Exception
e
)
{
log
.
error
(
"设置定时任务失败"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"定时任务设置失败"
);
}
}
}
@Override
@Override
...
@@ -93,10 +150,36 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
...
@@ -93,10 +150,36 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
ParamChecker
.
checkStringIsEmpty
(
appletBanner
.
getBannerPic
(),
"Banner图缺失!"
);
ParamChecker
.
checkStringIsEmpty
(
appletBanner
.
getBannerPic
(),
"Banner图缺失!"
);
}
}
appletBannerDao
.
update
(
appletBanner
);
appletBannerDao
.
update
(
appletBanner
);
Long
id
=
appletBanner
.
getId
();
if
(
YesOrNoEnums
.
YES
.
getValue
().
equals
(
appletBanner
.
getIsTime
()))
{
try
{
scheduleService
.
deleteJob
(
JOB_NAME_BANNER_PUT_ON
+
id
,
"book"
);
scheduleService
.
deleteJob
(
JOB_NAME_BANNER_PUT_OFF
+
id
,
"book"
);
}
catch
(
SchedulerException
e
)
{
log
.
warn
(
"删除banner定时任务:{}失败"
,
appletBanner
.
getId
());
}
catch
(
JsonParseException
e
)
{
log
.
warn
(
"删除banner定时任务:{}失败"
,
appletBanner
.
getId
());
}
if
(
null
!=
appletBanner
.
getStartTime
()
&&
DateUtil
.
compare
(
new
Date
(),
appletBanner
.
getStartTime
())
<
0
)
{
addSimpleJob4Banner
(
id
,
JOB_NAME_BANNER_PUT_ON
+
id
,
appletBanner
.
getStartTime
(),
YesOrNoEnums
.
YES
.
getValue
());
}
if
(
null
!=
appletBanner
.
getEndTime
()
&&
DateUtil
.
compare
(
new
Date
(),
appletBanner
.
getEndTime
())
<
0
)
{
addSimpleJob4Banner
(
id
,
JOB_NAME_BANNER_PUT_OFF
+
id
,
appletBanner
.
getEndTime
(),
YesOrNoEnums
.
NO
.
getValue
());
}
}
}
}
@Override
@Override
public
void
deleteBanner
(
Long
id
)
{
public
void
deleteBanner
(
Long
id
)
{
try
{
scheduleService
.
deleteJob
(
JOB_NAME_BANNER_PUT_ON
+
id
,
"book"
);
scheduleService
.
deleteJob
(
JOB_NAME_BANNER_PUT_OFF
+
id
,
"book"
);
}
catch
(
SchedulerException
e
)
{
log
.
warn
(
"删除banner定时任务:{}失败"
,
id
);
}
catch
(
JsonParseException
e
)
{
log
.
warn
(
"删除banner定时任务:{}失败"
,
id
);
}
appletBannerDao
.
deleteById
(
id
);
appletBannerDao
.
deleteById
(
id
);
}
}
...
@@ -284,13 +367,88 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
...
@@ -284,13 +367,88 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
if
(
Objects
.
isNull
(
banner
))
{
if
(
Objects
.
isNull
(
banner
))
{
appletBannerRecordMapper
.
insert
(
AppletBannerRecord
.
builder
()
appletBannerRecordMapper
.
insert
(
AppletBannerRecord
.
builder
()
.
bannerId
(
bannerId
).
createTime
(
new
Date
()).
wechatUserId
(
wechatUserId
).
build
());
.
bannerId
(
bannerId
).
createTime
(
new
Date
()).
wechatUserId
(
wechatUserId
).
createHour
(
DateUtil
.
thisHour
(
Boolean
.
TRUE
)).
createDate
(
DateUtil
.
today
()).
build
());
}
else
{
}
else
{
AppletBannerRecord
record
=
AppletBannerRecord
.
builder
()
AppletBannerRecord
record
=
AppletBannerRecord
.
builder
()
.
createTime
(
new
Date
()).
wechatUserId
(
wechatUserId
)
.
createTime
(
new
Date
()).
wechatUserId
(
wechatUserId
)
.
bannerId
(
bannerId
).
jumpType
(
banner
.
getJumpType
())
.
bannerId
(
bannerId
).
jumpType
(
banner
.
getJumpType
())
.
serveId
(
banner
.
getServeId
()).
serveType
(
banner
.
getServeType
()).
build
();
.
serveId
(
banner
.
getServeId
()).
serveType
(
banner
.
getServeType
()).
createHour
(
DateUtil
.
thisHour
(
Boolean
.
TRUE
)).
createDate
(
DateUtil
.
today
()).
build
();
appletBannerRecordMapper
.
insert
(
record
);
appletBannerRecordMapper
.
insert
(
record
);
}
}
}
}
@Override
public
List
<
AppletBannerTrendDTO
>
getBannerRecordTrend
(
String
startDate
,
String
endDate
,
Long
agentId
,
Boolean
inHour
,
Long
id
)
throws
ParseException
{
List
<
AppletBannerTrendDTO
>
trendDTOList
=
new
ArrayList
<>();
if
(
inHour
)
{
//每小时发送趋势
Integer
startHour
=
DateUtil
.
hour
(
new
Date
(),
Boolean
.
TRUE
);
String
startTime
=
DateUtil
.
yesterday
().
toStringDefaultTimeZone
()
+
" "
+
startHour
+
":00:00"
;
String
endTime
=
DateUtil
.
today
()
+
" "
+
startHour
+
":00:00"
;
trendDTOList
=
appletBannerRecordMapper
.
getBannerRecordTrendByHour
(
startTime
,
endTime
,
id
);
List
<
Integer
>
hours
=
trendDTOList
.
stream
().
filter
(
s
->
s
.
getHour
()
!=
null
).
map
(
AppletBannerTrendDTO:
:
getHour
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
hourAll
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<=
23
;
i
++)
{
hourAll
.
add
(
i
);
}
for
(
Integer
hour
:
hourAll
)
{
if
(!
hours
.
contains
(
hour
))
{
AppletBannerTrendDTO
appletBannerTrendDTO
=
new
AppletBannerTrendDTO
();
appletBannerTrendDTO
.
setHour
(
hour
);
appletBannerTrendDTO
.
setPV
(
0
);
appletBannerTrendDTO
.
setUV
(
0
);
trendDTOList
.
add
(
appletBannerTrendDTO
);
}
}
trendDTOList
.
sort
(
Comparator
.
comparing
(
AppletBannerTrendDTO:
:
getHour
));
List
<
AppletBannerTrendDTO
>
list4YesterDay
=
trendDTOList
.
stream
().
filter
(
e
->
e
.
getHour
()
>=
startHour
).
collect
(
Collectors
.
toList
());
List
<
AppletBannerTrendDTO
>
list4toDay
=
trendDTOList
.
stream
().
filter
(
e
->
e
.
getHour
()
<
startHour
).
collect
(
Collectors
.
toList
());
list4YesterDay
.
addAll
(
list4toDay
);
trendDTOList
=
list4YesterDay
;
}
else
{
//日发送趋势
trendDTOList
=
appletBannerRecordMapper
.
getBannerRecordTrendByDay
(
startDate
,
endDate
,
id
);
List
<
String
>
dates
=
trendDTOList
.
stream
().
filter
(
s
->
s
.
getDate
()
!=
null
).
map
(
AppletBannerTrendDTO:
:
getDate
).
collect
(
Collectors
.
toList
());
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
//填充数据为0的日期
long
start
=
formatter
.
parse
(
startDate
).
getTime
();
long
end
=
formatter
.
parse
(
endDate
).
getTime
();
long
days
=
((
end
-
start
)
/
(
1000
*
3600
*
24
));
if
(
days
<
0
)
{
throw
new
WechatGroupBizException
(
WechatGroupBizException
.
ERROR
,
"选取时间错误"
);
}
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
formatter
.
parse
(
startDate
));
List
<
String
>
daysAll
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<=
days
;
i
++)
{
daysAll
.
add
(
formatter
.
format
(
calendar
.
getTime
()));
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
1
);
}
for
(
String
day
:
daysAll
)
{
if
(!
dates
.
contains
(
day
))
{
AppletBannerTrendDTO
appletBannerTrendDTO
=
new
AppletBannerTrendDTO
();
appletBannerTrendDTO
.
setDate
(
day
);
appletBannerTrendDTO
.
setPV
(
0
);
appletBannerTrendDTO
.
setUV
(
0
);
trendDTOList
.
add
(
appletBannerTrendDTO
);
}
}
trendDTOList
.
sort
(
Comparator
.
comparing
(
AppletBannerTrendDTO:
:
getDate
));
}
return
trendDTOList
;
}
@Override
public
void
autoChageBannerState
(
Long
id
,
Integer
showState
)
{
if
(
null
==
id
||
null
==
showState
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"book定时任务更新banner上下架状态autoChageBannerState:id或showState为空"
);
}
AppletBanner
appletBanner
=
new
AppletBanner
();
appletBanner
.
setId
(
id
);
appletBanner
.
setShowState
(
YesOrNoEnums
.
YES
.
getValue
().
equals
(
showState
)
?
Boolean
.
TRUE
:
Boolean
.
FALSE
);
appletBannerDao
.
update
(
appletBanner
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletRecordBizImpl.java
View file @
3b86b71b
...
@@ -128,38 +128,39 @@ public class AppletRecordBizImpl implements AppletRecordBiz {
...
@@ -128,38 +128,39 @@ public class AppletRecordBizImpl implements AppletRecordBiz {
@Override
@Override
@ParamLog
(
"新增足迹埋点"
)
@ParamLog
(
"新增足迹埋点"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Long
insert
(
AppletRecord
appletRecord
)
{
public
Long
insert
(
AppletRecord
appletRecord
)
{
insertCheck
(
appletRecord
);
ThreadPoolUtils
.
APPLET_RECORD
.
execute
(()->
{
AppletRecordDTO
appletRecordDTO
=
new
AppletRecordDTO
();
insertCheck
(
appletRecord
);
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordDTO
);
AppletRecordDTO
appletRecordDTO
=
new
AppletRecordDTO
();
fillTypeCode
(
Lists
.
newArrayList
(
appletRecordDTO
));
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordDTO
);
BeanUtils
.
copyProperties
(
appletRecordDTO
,
appletRecord
);
fillTypeCode
(
Lists
.
newArrayList
(
appletRecordDTO
));
appletRecordDao
.
insert
(
appletRecord
);
BeanUtils
.
copyProperties
(
appletRecordDTO
,
appletRecord
);
//判断日表是否有数据
appletRecordDao
.
insert
(
appletRecord
);
AppletRecordDayServe
appletRecordDayServe
=
new
AppletRecordDayServe
();
//判断日表是否有数据
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordDayServe
);
AppletRecordDayServe
appletRecordDayServe
=
new
AppletRecordDayServe
();
AppletRecordServe
appletRecordServe
=
new
AppletRecordServe
();
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordDayServe
);
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordServe
);
AppletRecordServe
appletRecordServe
=
new
AppletRecordServe
();
AppletRecordDayServe
appletRecordDayServe4Data
=
appletRecordDayServeDao
.
getByTypeAndServeId
(
appletRecord
.
getWechatUserId
(),
appletRecord
.
getRecordType
(),
appletRecord
.
getFromId
(),
DateUtil
.
today
());
BeanUtils
.
copyProperties
(
appletRecord
,
appletRecordServe
);
if
(
null
!=
appletRecordDayServe4Data
)
{
AppletRecordDayServe
appletRecordDayServe4Data
=
appletRecordDayServeDao
.
getByTypeAndServeId
(
appletRecord
.
getWechatUserId
(),
appletRecord
.
getRecordType
(),
appletRecord
.
getFromId
(),
DateUtil
.
today
());
//更新
if
(
null
!=
appletRecordDayServe4Data
)
{
appletRecordDayServe
.
setId
(
appletRecordDayServe4Data
.
getId
());
//更新
appletRecordDayServeDao
.
update
(
appletRecordDayServe
);
appletRecordDayServe
.
setId
(
appletRecordDayServe4Data
.
getId
());
}
else
{
appletRecordDayServeDao
.
update
(
appletRecordDayServe
);
//新增
}
else
{
appletRecordDayServeDao
.
insert
(
appletRecordDayServe
);
//新增
}
appletRecordDayServeDao
.
insert
(
appletRecordDayServe
);
//判断总表是否有数据
}
AppletRecordServe
appletRecordServe4Data
=
appletRecordServeDao
.
getByTypeAndServeId
(
appletRecord
.
getWechatUserId
(),
appletRecord
.
getRecordType
(),
appletRecord
.
getFromId
());
//判断总表是否有数据
if
(
null
!=
appletRecordServe4Data
)
{
AppletRecordServe
appletRecordServe4Data
=
appletRecordServeDao
.
getByTypeAndServeId
(
appletRecord
.
getWechatUserId
(),
appletRecord
.
getRecordType
(),
appletRecord
.
getFromId
());
//更新
if
(
null
!=
appletRecordServe4Data
)
{
appletRecordServe
.
setId
(
appletRecordServe4Data
.
getId
());
//更新
appletRecordServeDao
.
update
(
appletRecordServe
);
appletRecordServe
.
setId
(
appletRecordServe4Data
.
getId
());
}
else
{
appletRecordServeDao
.
update
(
appletRecordServe
);
//新增
}
else
{
appletRecordServeDao
.
insert
(
appletRecordServe
);
//新增
}
appletRecordServeDao
.
insert
(
appletRecordServe
);
}
});
return
appletRecord
.
getId
();
return
appletRecord
.
getId
();
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
View file @
3b86b71b
...
@@ -226,9 +226,9 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
...
@@ -226,9 +226,9 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
if
(
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
if
(
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
pageBeanNew
.
getTotalCount
(),
new
ArrayList
<>());
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
pageBeanNew
.
getTotalCount
(),
new
ArrayList
<>());
}
}
fillTempletName
(
pageBeanNew
.
getRecordList
());
//
fillTempletName(pageBeanNew.getRecordList());
fillLabelNames
(
pageBeanNew
.
getRecordList
());
fillLabelNames
(
pageBeanNew
.
getRecordList
());
fillRightsSettingAndResourceCount
(
pageBeanNew
.
getRecordList
());
//
fillRightsSettingAndResourceCount(pageBeanNew.getRecordList());
JedisClusterUtils
.
hset2Json
(
key
,
field
,
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
hset2Json
(
key
,
field
,
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
set
(
countKey
,
String
.
valueOf
(
pageBeanNew
.
getTotalCount
()));
JedisClusterUtils
.
set
(
countKey
,
String
.
valueOf
(
pageBeanNew
.
getTotalCount
()));
JedisClusterUtils
.
expire
(
key
,
60
);
JedisClusterUtils
.
expire
(
key
,
60
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletBannerDao.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
dao
;
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
AppletBannerDao
extends
BaseDao
<
AppletBanner
>
{
public
interface
AppletBannerDao
extends
BaseDao
<
AppletBanner
>
{
/**
/**
...
@@ -10,4 +13,8 @@ public interface AppletBannerDao extends BaseDao<AppletBanner> {
...
@@ -10,4 +13,8 @@ public interface AppletBannerDao extends BaseDao<AppletBanner> {
* @return
* @return
*/
*/
Integer
getMaxSeq
(
Long
agentId
);
Integer
getMaxSeq
(
Long
agentId
);
List
<
AppletBannerTrendDTO
>
getBannerRecordTrendByHour
(
String
createDate
);
List
<
AppletBannerTrendDTO
>
getSendMessageTrendByDay
(
String
startDate
,
String
endDate
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletBannerDaoImpl.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletBannerDao
;
import
com.pcloud.book.applet.dao.AppletBannerDao
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@Component
@Component
...
@@ -17,4 +19,17 @@ public class AppletBannerDaoImpl extends BaseDaoImpl<AppletBanner> implements Ap
...
@@ -17,4 +19,17 @@ public class AppletBannerDaoImpl extends BaseDaoImpl<AppletBanner> implements Ap
map
.
put
(
"agentId"
,
agentId
);
map
.
put
(
"agentId"
,
agentId
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMaxSeq"
),
map
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMaxSeq"
),
map
);
}
}
@Override
public
List
<
AppletBannerTrendDTO
>
getBannerRecordTrendByHour
(
String
createDate
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getBannerRecordTrendByHour"
),
createDate
);
}
@Override
public
List
<
AppletBannerTrendDTO
>
getSendMessageTrendByDay
(
String
startDate
,
String
endDate
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"startDate"
,
startDate
);
paramMap
.
put
(
"endDate"
,
endDate
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getSendMessageTrendByDay"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBannerDTO.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
dto
;
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Data
@ApiModel
(
"小程序banner"
)
@ApiModel
(
"小程序banner"
)
...
@@ -46,4 +49,18 @@ public class AppletBannerDTO extends BaseDto {
...
@@ -46,4 +49,18 @@ public class AppletBannerDTO extends BaseDto {
@ApiModelProperty
(
"咨询具体信息"
)
@ApiModelProperty
(
"咨询具体信息"
)
private
ServeItemInfoDTO
appItem
;
private
ServeItemInfoDTO
appItem
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"上架时间"
)
private
Date
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"下架时间"
)
private
Date
endTime
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBannerTrendDTO.java
0 → 100644
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
lombok.Data
;
@Data
public
class
AppletBannerTrendDTO
{
/**
* 日期
*/
private
String
date
;
/**
* 小时
*/
private
Integer
hour
;
/**
* 消息量
*/
private
Integer
UV
;
/**
* 消息量
*/
private
Integer
PV
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBanner.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
entity
;
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Data
@ApiModel
(
"小程序banner"
)
@ApiModel
(
"小程序banner"
)
...
@@ -41,4 +44,23 @@ public class AppletBanner extends BaseEntity {
...
@@ -41,4 +44,23 @@ public class AppletBanner extends BaseEntity {
@ApiModelProperty
(
"作品/应用/咨询的类型"
)
@ApiModelProperty
(
"作品/应用/咨询的类型"
)
private
Integer
serveType
;
private
Integer
serveType
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"上架时间"
)
private
Date
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"下架时间"
)
private
Date
endTime
;
@ApiModelProperty
(
"更新banner是否涉及定时任务"
)
private
Integer
isTime
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBannerRecord.java
View file @
3b86b71b
...
@@ -58,4 +58,14 @@ public class AppletBannerRecord implements Serializable {
...
@@ -58,4 +58,14 @@ public class AppletBannerRecord implements Serializable {
private
Integer
jumpType
;
private
Integer
jumpType
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
* 创建小时
*/
private
Integer
createHour
;
/**
* 创建日期
*/
private
String
createDate
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
3b86b71b
...
@@ -9,6 +9,7 @@ import com.pcloud.book.applet.biz.AppletUserBookcaseBiz;
...
@@ -9,6 +9,7 @@ import com.pcloud.book.applet.biz.AppletUserBookcaseBiz;
import
com.pcloud.book.applet.dto.AddBookParamDTO
;
import
com.pcloud.book.applet.dto.AddBookParamDTO
;
import
com.pcloud.book.applet.dto.AnswerSubscribeDTO
;
import
com.pcloud.book.applet.dto.AnswerSubscribeDTO
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
...
@@ -45,6 +46,7 @@ import com.pcloud.common.utils.SessionUtil;
...
@@ -45,6 +46,7 @@ import com.pcloud.common.utils.SessionUtil;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -61,6 +63,7 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -61,6 +63,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartHttpServletRequest
;
import
org.springframework.web.multipart.MultipartHttpServletRequest
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -324,6 +327,19 @@ public class AppletHomeFacade {
...
@@ -324,6 +327,19 @@ public class AppletHomeFacade {
}
}
@ApiOperation
(
"banner列表"
)
@ApiOperation
(
"banner列表"
)
@GetMapping
(
"getBannerRecordTrend"
)
public
ResponseDto
<
List
<
AppletBannerTrendDTO
>>
getBannerRecordTrend
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"inHour"
)
Boolean
inHour
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"id"
,
required
=
false
)
Long
id
)
throws
PermissionException
,
ParseException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
agentId
=
(
Long
)
map
.
get
(
SessionUtil
.
RAY_AGENT_ID
);
return
new
ResponseDto
<>(
appletBannerBiz
.
getBannerRecordTrend
(
startDate
,
endDate
,
agentId
,
inHour
,
id
));
}
@ApiOperation
(
"banner列表"
)
@GetMapping
(
"listBanner"
)
@GetMapping
(
"listBanner"
)
public
ResponseDto
<
PageBeanNew
<
AppletBannerDTO
>>
listBanner
(
public
ResponseDto
<
PageBeanNew
<
AppletBannerDTO
>>
listBanner
(
@RequestHeader
(
"token"
)
String
token
,
@RequestHeader
(
"token"
)
String
token
,
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/mapper/AppletBannerRecordMapper.java
View file @
3b86b71b
package
com
.
pcloud
.
book
.
applet
.
mapper
;
package
com
.
pcloud
.
book
.
applet
.
mapper
;
import
com.pcloud.book.applet.dto.AppletBannerStats
;
import
com.pcloud.book.applet.dto.AppletBannerStats
;
import
com.pcloud.book.applet.dto.AppletBannerTrendDTO
;
import
com.pcloud.book.applet.entity.AppletBannerRecord
;
import
com.pcloud.book.applet.entity.AppletBannerRecord
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -25,4 +26,7 @@ public interface AppletBannerRecordMapper {
...
@@ -25,4 +26,7 @@ public interface AppletBannerRecordMapper {
List
<
AppletBannerStats
>
getBannerPVUV
(
@Param
(
"bannerIds"
)
List
<
Long
>
bannerIds
);
List
<
AppletBannerStats
>
getBannerPVUV
(
@Param
(
"bannerIds"
)
List
<
Long
>
bannerIds
);
List
<
AppletBannerTrendDTO
>
getBannerRecordTrendByHour
(
@Param
(
"startTime"
)
String
startTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"id"
)
Long
id
);
List
<
AppletBannerTrendDTO
>
getBannerRecordTrendByDay
(
@Param
(
"startDate"
)
String
startDate
,
@Param
(
"endDate"
)
String
endDate
,
@Param
(
"id"
)
Long
id
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/service/impl/AppletServiceImpl.java
View file @
3b86b71b
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.service.impl;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.pcloud.book.applet.biz.AnswerSubscribeBiz
;
import
com.pcloud.book.applet.biz.AnswerSubscribeBiz
;
import
com.pcloud.book.applet.biz.AppletBannerBiz
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
import
com.pcloud.book.applet.biz.AppletBookClassifyBiz
;
import
com.pcloud.book.applet.biz.AppletBookClassifyBiz
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
...
@@ -78,6 +79,8 @@ public class AppletServiceImpl implements AppletService {
...
@@ -78,6 +79,8 @@ public class AppletServiceImpl implements AppletService {
private
AppletRecordBiz
appletRecordBiz
;
private
AppletRecordBiz
appletRecordBiz
;
@Autowired
@Autowired
private
AppletRecordAggrStatisBiz
appletRecordAggrStatisBiz
;
private
AppletRecordAggrStatisBiz
appletRecordAggrStatisBiz
;
@Autowired
private
AppletBannerBiz
appletBannerBiz
;
@Override
@Override
...
@@ -213,4 +216,12 @@ public class AppletServiceImpl implements AppletService {
...
@@ -213,4 +216,12 @@ public class AppletServiceImpl implements AppletService {
public
void
stopHandleAppletRecordTypeCode
(){
public
void
stopHandleAppletRecordTypeCode
(){
appletRecordBiz
.
stopHandleAppletRecordTypeCode
();
appletRecordBiz
.
stopHandleAppletRecordTypeCode
();
}
}
@Override
@GetMapping
(
"autoChageBannerState"
)
public
void
autoChageBannerState
(
@RequestParam
(
"id"
)
Long
id
,
@RequestParam
(
"showState"
)
Integer
showState
)
{
appletBannerBiz
.
autoChageBannerState
(
id
,
showState
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/util/common/ThreadPoolUtils.java
View file @
3b86b71b
...
@@ -64,4 +64,8 @@ public class ThreadPoolUtils {
...
@@ -64,4 +64,8 @@ public class ThreadPoolUtils {
public
static
final
ExecutorService
RMALL_SIGN_IN
=
new
ThreadPoolExecutor
(
8
,
8
,
0L
,
TimeUnit
.
SECONDS
,
public
static
final
ExecutorService
RMALL_SIGN_IN
=
new
ThreadPoolExecutor
(
8
,
8
,
0L
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"rmall_sign_in-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"rmall_sign_in-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
public
static
final
ExecutorService
APPLET_RECORD
=
new
ThreadPoolExecutor
(
8
,
8
,
0L
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"applet_record-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
}
}
pcloud-service-book/src/main/resources/mapper/applet/AppletBanner.xml
View file @
3b86b71b
...
@@ -14,11 +14,13 @@
...
@@ -14,11 +14,13 @@
<result
column=
"serve_id"
jdbcType=
"BIGINT"
property=
"serveId"
/>
<result
column=
"serve_id"
jdbcType=
"BIGINT"
property=
"serveId"
/>
<result
column=
"serve_type"
jdbcType=
"TINYINT"
property=
"serveType"
/>
<result
column=
"serve_type"
jdbcType=
"TINYINT"
property=
"serveType"
/>
<result
column=
"fill_type"
jdbcType=
"TINYINT"
property=
"fillType"
/>
<result
column=
"fill_type"
jdbcType=
"TINYINT"
property=
"fillType"
/>
<result
column=
"start_time"
jdbcType=
"TIMESTAMP"
property=
"startTime"
/>
<result
column=
"end_time"
jdbcType=
"TIMESTAMP"
property=
"endTime"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, banner_pic, jump_type, jump_url, seq, show_state, create_time, update_time, agent_id,
id, banner_pic, jump_type, jump_url, seq, show_state, create_time, update_time, agent_id,
serve_id, serve_type, fill_type
serve_id, serve_type, fill_type
, start_time, end_time
</sql>
</sql>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.applet.entity.AppletBanner"
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.applet.entity.AppletBanner"
...
@@ -58,6 +60,12 @@
...
@@ -58,6 +60,12 @@
<if
test=
"fillType != null"
>
<if
test=
"fillType != null"
>
fill_type,
fill_type,
</if>
</if>
<if
test=
"startTime != null"
>
start_time,
</if>
<if
test=
"endTime != null"
>
end_time,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"bannerPic != null"
>
<if
test=
"bannerPic != null"
>
...
@@ -93,6 +101,12 @@
...
@@ -93,6 +101,12 @@
<if
test=
"fillType != null"
>
<if
test=
"fillType != null"
>
#{fillType,jdbcType=BOOLEAN},
#{fillType,jdbcType=BOOLEAN},
</if>
</if>
<if
test=
"startTime != null"
>
#{startTime},
</if>
<if
test=
"endTime != null"
>
#{endTime},
</if>
</trim>
</trim>
</insert>
</insert>
...
@@ -130,6 +144,12 @@
...
@@ -130,6 +144,12 @@
<if
test=
"fillType != null"
>
<if
test=
"fillType != null"
>
fill_type = #{fillType,jdbcType=BOOLEAN},
fill_type = #{fillType,jdbcType=BOOLEAN},
</if>
</if>
<if
test=
"startTime != null"
>
start_time = #{startTime},
</if>
<if
test=
"endTime != null"
>
end_time = #{endTime},
</if>
</set>
</set>
where id = #{id,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</update>
...
@@ -177,5 +197,4 @@
...
@@ -177,5 +197,4 @@
SELECT IFNULL(MAX(seq),0) FROM applet_banner
SELECT IFNULL(MAX(seq),0) FROM applet_banner
WHERE agent_id = #{agentId}
WHERE agent_id = #{agentId}
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletBannerRecordMapper.xml
View file @
3b86b71b
...
@@ -28,10 +28,10 @@
...
@@ -28,10 +28,10 @@
useGeneratedKeys=
"true"
>
useGeneratedKeys=
"true"
>
insert into applet_banner_record (banner_id, create_time, update_time,
insert into applet_banner_record (banner_id, create_time, update_time,
wechat_user_id, serve_id, serve_type,
wechat_user_id, serve_id, serve_type,
jump_type)
jump_type
, create_hour, create_date
)
values (#{bannerId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
values (#{bannerId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{wechatUserId,jdbcType=BIGINT}, #{serveId,jdbcType=BIGINT}, #{serveType,jdbcType=TINYINT},
#{wechatUserId,jdbcType=BIGINT}, #{serveId,jdbcType=BIGINT}, #{serveType,jdbcType=TINYINT},
#{jumpType,jdbcType=BOOLEAN})
#{jumpType,jdbcType=BOOLEAN}
, #{createHour}, #{createDate}
)
</insert>
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.pcloud.book.applet.entity.AppletBannerRecord"
useGeneratedKeys=
"true"
>
parameterType=
"com.pcloud.book.applet.entity.AppletBannerRecord"
useGeneratedKeys=
"true"
>
...
@@ -136,4 +136,42 @@
...
@@ -136,4 +136,42 @@
GROUP BY
GROUP BY
t.banner_id
t.banner_id
</select>
</select>
<select
id=
"getBannerRecordTrendByHour"
parameterType=
"string"
resultType=
"com.pcloud.book.applet.dto.AppletBannerTrendDTO"
>
SELECT
create_hour hour ,
count(1) PV,
COUNT(DISTINCT wechat_user_id) UV
FROM
`applet_banner_record`
WHERE
create_time >= #{startTime}
AND
create_time
<
#{endTime}
<if
test=
"id != null"
>
and banner_id = #{id}
</if>
GROUP BY
create_hour
</select>
<select
id=
"getBannerRecordTrendByDay"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletBannerTrendDTO"
>
SELECT
create_date date ,
count(1) PV,
COUNT(DISTINCT wechat_user_id) UV
FROM
`applet_banner_record`
WHERE
create_time >= #{startDate}
AND create_time
<
= #{endDate}
<if
test=
"id != null"
>
and banner_id = #{id}
</if>
GROUP BY
create_date
</select>
</mapper>
</mapper>
\ No newline at end of file
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