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
0c154d13
Commit
0c154d13
authored
Aug 27, 2020
by
吴博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [none] 新增资源导出接口
parent
c575891e
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
222 additions
and
1 deletions
+222
-1
AppletNewsServeBiz.java
...n/java/com/pcloud/book/applet/biz/AppletNewsServeBiz.java
+4
-1
AppletNewsServeBizImpl.java
...m/pcloud/book/applet/biz/impl/AppletNewsServeBizImpl.java
+83
-0
AppletLinkClickDao.java
...n/java/com/pcloud/book/applet/dao/AppletLinkClickDao.java
+8
-0
AppletLinkClickDaoImpl.java
...m/pcloud/book/applet/dao/impl/AppletLinkClickDaoImpl.java
+25
-0
ExportClickDTO.java
.../main/java/com/pcloud/book/applet/dto/ExportClickDTO.java
+12
-0
SourceTypeEnum.java
...ain/java/com/pcloud/book/applet/enums/SourceTypeEnum.java
+17
-0
AppletNewsServeFacade.java
.../com/pcloud/book/applet/facade/AppletNewsServeFacade.java
+11
-0
AppletLinkClickMapper.xml
...rc/main/resources/mapper/applet/AppletLinkClickMapper.xml
+62
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletNewsServeBiz.java
View file @
0c154d13
...
@@ -2,7 +2,8 @@ package com.pcloud.book.applet.biz;
...
@@ -2,7 +2,8 @@ package com.pcloud.book.applet.biz;
import
com.pcloud.book.applet.entity.AppletNewsServe
;
import
com.pcloud.book.applet.entity.AppletNewsServe
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* (AppletNewsServe)表服务接口
* (AppletNewsServe)表服务接口
...
@@ -48,4 +49,5 @@ public interface AppletNewsServeBiz {
...
@@ -48,4 +49,5 @@ public interface AppletNewsServeBiz {
*/
*/
void
deleteById
(
Long
id
);
void
deleteById
(
Long
id
);
Map
<
String
,
Object
>
exportClickCountExcel
(
Integer
count
,
String
date
,
Integer
sourceType
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletNewsServeBizImpl.java
View file @
0c154d13
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.pcloud.book.applet.dao.AppletLinkClickDao
;
import
com.pcloud.book.applet.dto.ExportClickDTO
;
import
com.pcloud.book.applet.entity.AppletNewsServe
;
import
com.pcloud.book.applet.entity.AppletNewsServe
;
import
com.pcloud.book.applet.dao.AppletNewsServeDao
;
import
com.pcloud.book.applet.dao.AppletNewsServeDao
;
import
com.pcloud.book.applet.biz.AppletNewsServeBiz
;
import
com.pcloud.book.applet.biz.AppletNewsServeBiz
;
import
com.pcloud.book.applet.enums.SourceTypeEnum
;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
...
@@ -13,7 +17,14 @@ import org.slf4j.Logger;
...
@@ -13,7 +17,14 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
/**
* (AppletNewsServe)表服务实现类
* (AppletNewsServe)表服务实现类
...
@@ -28,6 +39,10 @@ public class AppletNewsServeBizImpl implements AppletNewsServeBiz {
...
@@ -28,6 +39,10 @@ public class AppletNewsServeBizImpl implements AppletNewsServeBiz {
@Autowired
@Autowired
private
AppletNewsServeDao
appletNewsServeDao
;
private
AppletNewsServeDao
appletNewsServeDao
;
@Autowired
private
AppletLinkClickDao
appletLinkClickDao
;
@Autowired
private
ExportConsr
exportConsr
;
@Override
@Override
@ParamLog
(
"通过ID查询单条数据"
)
@ParamLog
(
"通过ID查询单条数据"
)
...
@@ -69,4 +84,71 @@ public class AppletNewsServeBizImpl implements AppletNewsServeBiz {
...
@@ -69,4 +84,71 @@ public class AppletNewsServeBizImpl implements AppletNewsServeBiz {
public
void
deleteById
(
Long
id
)
{
public
void
deleteById
(
Long
id
)
{
appletNewsServeDao
.
deleteById
(
id
);
appletNewsServeDao
.
deleteById
(
id
);
}
}
@Override
public
Map
<
String
,
Object
>
exportClickCountExcel
(
Integer
count
,
String
date
,
Integer
sourceType
)
{
List
<
ExportClickDTO
>
exportClickDTOS
=
new
ArrayList
<>();
String
excelUrl
=
null
;
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
if
(
Objects
.
equals
(
SourceTypeEnum
.
NEWS
.
value
,
sourceType
))
{
exportClickDTOS
=
appletLinkClickDao
.
getNews
(
count
,
date
);
String
fileName
=
"资讯点击量top50-研发-"
+
simpleDateFormat
.
format
(
new
Date
());
excelUrl
=
getExcelUrl4News
(
exportClickDTOS
,
fileName
);
result
.
put
(
"fileUrl"
,
excelUrl
);
result
.
put
(
"fileName"
,
fileName
);
return
result
;
}
else
if
(
Objects
.
equals
(
SourceTypeEnum
.
THIRD_GROUP
.
value
,
sourceType
))
{
exportClickDTOS
=
appletLinkClickDao
.
getThirdGroup
(
count
,
date
);
String
fileName
=
"第三方群点击量top50-研发-"
+
simpleDateFormat
.
format
(
new
Date
());
excelUrl
=
getExcelUrl4Group
(
exportClickDTOS
,
fileName
);
result
.
put
(
"fileUrl"
,
excelUrl
);
result
.
put
(
"fileName"
,
fileName
);
return
result
;
}
else
if
(
Objects
.
equals
(
SourceTypeEnum
.
NORMAL_GROUP
.
value
,
sourceType
))
{
exportClickDTOS
=
appletLinkClickDao
.
getNormalGroup
(
count
,
date
);
String
fileName
=
"群分类点击量top50-研发-"
+
simpleDateFormat
.
format
(
new
Date
());
excelUrl
=
getExcelUrl4Group
(
exportClickDTOS
,
fileName
);
result
.
put
(
"fileUrl"
,
excelUrl
);
result
.
put
(
"fileName"
,
fileName
);
return
result
;
}
return
new
HashMap
<>();
}
private
String
getExcelUrl4Group
(
List
<
ExportClickDTO
>
exportClickDTOS
,
String
fileName
)
{
// 字段名
String
[]
rowsName
=
{
"资源id"
,
"点击量"
,
"群名称"
};
List
<
Object
[]>
dataList
=
new
ArrayList
<>();
Object
[]
objs
;
for
(
int
i
=
0
;
i
<
exportClickDTOS
.
size
();
i
++)
{
ExportClickDTO
exportClickDTO
=
exportClickDTOS
.
get
(
i
);
objs
=
new
Object
[
rowsName
.
length
];
objs
[
0
]
=
exportClickDTO
.
getId
();
objs
[
1
]
=
exportClickDTO
.
getClickCount
();
objs
[
2
]
=
exportClickDTO
.
getResourceName
();
dataList
.
add
(
objs
);
}
String
fileUrl
=
exportConsr
.
exportExcel
(
fileName
,
rowsName
,
dataList
);
return
fileUrl
;
}
private
String
getExcelUrl4News
(
List
<
ExportClickDTO
>
exportClickDTOS
,
String
fileName
)
{
// 字段名
String
[]
rowsName
=
{
"资源id"
,
"点击量"
,
"资讯名称"
,
"资讯来源"
,
"权益类型"
};
List
<
Object
[]>
dataList
=
new
ArrayList
<>();
Object
[]
objs
;
for
(
int
i
=
0
;
i
<
exportClickDTOS
.
size
();
i
++)
{
ExportClickDTO
exportClickDTO
=
exportClickDTOS
.
get
(
i
);
objs
=
new
Object
[
rowsName
.
length
];
objs
[
0
]
=
exportClickDTO
.
getId
();
objs
[
1
]
=
exportClickDTO
.
getClickCount
();
objs
[
2
]
=
exportClickDTO
.
getResourceName
();
objs
[
3
]
=
exportClickDTO
.
getSource
();
objs
[
4
]
=
exportClickDTO
.
getRightsSettingName
();
dataList
.
add
(
objs
);
}
String
fileUrl
=
exportConsr
.
exportExcel
(
fileName
,
rowsName
,
dataList
);
return
fileUrl
;
}
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletLinkClickDao.java
View file @
0c154d13
...
@@ -4,6 +4,7 @@ import java.util.List;
...
@@ -4,6 +4,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
import
com.pcloud.book.applet.dto.AppletChartDateDTO
;
import
com.pcloud.book.applet.dto.AppletChartDateDTO
;
import
com.pcloud.book.applet.dto.ExportClickDTO
;
import
com.pcloud.book.applet.dto.PvuvDTO
;
import
com.pcloud.book.applet.dto.PvuvDTO
;
import
com.pcloud.book.applet.entity.AppletLinkClick
;
import
com.pcloud.book.applet.entity.AppletLinkClick
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
...
@@ -38,4 +39,10 @@ public interface AppletLinkClickDao extends BaseDao<AppletLinkClick> {
...
@@ -38,4 +39,10 @@ public interface AppletLinkClickDao extends BaseDao<AppletLinkClick> {
*/
*/
Map
<
Long
,
PvuvDTO
>
mapCouponUseCount
(
List
<
Long
>
fromIds
);
Map
<
Long
,
PvuvDTO
>
mapCouponUseCount
(
List
<
Long
>
fromIds
);
List
<
ExportClickDTO
>
getThirdGroup
(
Integer
count
,
String
date
);
List
<
ExportClickDTO
>
getNormalGroup
(
Integer
count
,
String
date
);
List
<
ExportClickDTO
>
getNews
(
Integer
count
,
String
date
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletLinkClickDaoImpl.java
View file @
0c154d13
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao.impl;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.applet.dao.impl;
import
com.pcloud.book.applet.dao.AppletLinkClickDao
;
import
com.pcloud.book.applet.dao.AppletLinkClickDao
;
import
com.pcloud.book.applet.dto.AppletChartDateDTO
;
import
com.pcloud.book.applet.dto.AppletChartDateDTO
;
import
com.pcloud.book.applet.dto.ExportClickDTO
;
import
com.pcloud.book.applet.dto.PvuvDTO
;
import
com.pcloud.book.applet.dto.PvuvDTO
;
import
com.pcloud.book.applet.entity.AppletLinkClick
;
import
com.pcloud.book.applet.entity.AppletLinkClick
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
...
@@ -47,4 +48,28 @@ public class AppletLinkClickDaoImpl extends BaseDaoImpl<AppletLinkClick> impleme
...
@@ -47,4 +48,28 @@ public class AppletLinkClickDaoImpl extends BaseDaoImpl<AppletLinkClick> impleme
map
.
put
(
"list"
,
fromIds
);
map
.
put
(
"list"
,
fromIds
);
return
getSessionTemplate
().
selectMap
(
getStatement
(
"mapCouponUseCount"
),
map
,
"fromId"
);
return
getSessionTemplate
().
selectMap
(
getStatement
(
"mapCouponUseCount"
),
map
,
"fromId"
);
}
}
@Override
public
List
<
ExportClickDTO
>
getThirdGroup
(
Integer
count
,
String
date
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"count"
,
count
);
map
.
put
(
"date"
,
date
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getThirdGroup"
),
map
);
}
@Override
public
List
<
ExportClickDTO
>
getNormalGroup
(
Integer
count
,
String
date
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"count"
,
count
);
map
.
put
(
"date"
,
date
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getNormalGroup"
),
map
);
}
@Override
public
List
<
ExportClickDTO
>
getNews
(
Integer
count
,
String
date
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"count"
,
count
);
map
.
put
(
"date"
,
date
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getNews"
),
map
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/ExportClickDTO.java
0 → 100644
View file @
0c154d13
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
lombok.Data
;
@Data
public
class
ExportClickDTO
{
private
Long
id
;
private
Long
clickCount
;
private
String
resourceName
;
private
String
source
;
private
String
rightsSettingName
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/SourceTypeEnum.java
0 → 100644
View file @
0c154d13
package
com
.
pcloud
.
book
.
applet
.
enums
;
public
enum
SourceTypeEnum
{
NEWS
(
1
),
THIRD_GROUP
(
2
),
NORMAL_GROUP
(
3
)
;
SourceTypeEnum
(
Integer
value
)
{
this
.
value
=
value
;
}
public
Integer
value
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletNewsServeFacade.java
View file @
0c154d13
...
@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.*;
...
@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.*;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.Map
;
/**
/**
* (AppletNewsServe)表控制层
* (AppletNewsServe)表控制层
*
*
...
@@ -69,4 +71,12 @@ public class AppletNewsServeFacade {
...
@@ -69,4 +71,12 @@ public class AppletNewsServeFacade {
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
@GetMapping
(
"exportClickCountExcel"
)
public
ResponseDto
<
Map
<
String
,
Object
>>
exportClickCountExcel
(
@RequestParam
(
value
=
"count"
,
required
=
false
,
defaultValue
=
"50"
)
Integer
count
,
@RequestParam
(
"date"
)
String
date
,
@RequestParam
(
"sourceType"
)
Integer
sourceType
)
{
Map
<
String
,
Object
>
map
=
appletNewsServeBiz
.
exportClickCountExcel
(
count
,
date
,
sourceType
);
return
new
ResponseDto
<>(
map
);
}
}
}
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletLinkClickMapper.xml
View file @
0c154d13
...
@@ -112,5 +112,66 @@
...
@@ -112,5 +112,66 @@
GROUP BY from_id
GROUP BY from_id
</select>
</select>
<select
id=
"getThirdGroup"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.ExportClickDTO"
>
SELECT
from_id id,
count(*) clickCount,
b.NAME resourceName
FROM
`applet_link_click` a
LEFT JOIN pcloud_group_activity b ON a.from_id = b.id
WHERE
type_id = 4
AND record_type = 1
AND DATE_FORMAT(create_date,"%Y-%m-%d") = #{date}
GROUP BY
from_id
ORDER BY
clickCount DESC
LIMIT #{count}
</select>
<select
id=
"getNormalGroup"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.ExportClickDTO"
>
SELECT
from_id id,
count(*) clickCount,
b.classify resourceName
FROM
applet_link_click a
LEFT JOIN book_group_classify b ON a.from_id = b.id
WHERE
type_id = 3
AND record_type = 1
AND DATE_FORMAT(create_date,"%Y-%m-%d") = #{date}
GROUP BY
from_id
ORDER BY
clickCount DESC
LIMIT #{count}
</select>
<select
id=
"getNews"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.ExportClickDTO"
>
SELECT
from_id id,
count(*) clickCount,
n.news_name resourceName,
n.source source,
c.classify rightsSettingName
FROM
applet_link_click a
LEFT JOIN applet_news n ON a.from_id = n.id
LEFT JOIN rights_setting_classify c ON n.rights_classify_id = c.id
WHERE
type_id = 1
AND record_type = 1
AND DATE_FORMAT(create_date,"%Y-%m-%d") = #{date}
GROUP BY
from_id
ORDER BY
clickCount DESC
LIMIT #{count}
</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