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
3ae4c87e
Commit
3ae4c87e
authored
Jan 13, 2020
by
刘群
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1002168出版收益
parent
1fe6ae72
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
478 additions
and
0 deletions
+478
-0
BookDto.java
...-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
+28
-0
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+11
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+92
-0
BookDao.java
...-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
+4
-0
BookDaoImpl.java
.../main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
+14
-0
BookFacade.java
...src/main/java/com/pcloud/book/book/facade/BookFacade.java
+46
-0
BookFacadeImpl.java
...java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
+68
-0
BookSet.java
...-book/src/main/java/com/pcloud/book/book/set/BookSet.java
+37
-0
BookSaleVO.java
...ook/src/main/java/com/pcloud/book/book/vo/BookSaleVO.java
+28
-0
SettlementConsr.java
.../com/pcloud/book/consumer/settlement/SettlementConsr.java
+16
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+134
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
View file @
3ae4c87e
...
...
@@ -603,6 +603,16 @@ public class BookDto extends BaseDto {
*/
private
Long
areaLabelId
;
/**
* 出版社收益
*/
private
BigDecimal
agentIncome
;
/**
* 编辑收益
*/
private
BigDecimal
adviserIncome
;
public
String
getQrRemark
()
{
return
qrRemark
;
}
...
...
@@ -1607,6 +1617,22 @@ public class BookDto extends BaseDto {
this
.
areaLabelId
=
areaLabelId
;
}
public
BigDecimal
getAgentIncome
()
{
return
agentIncome
;
}
public
void
setAgentIncome
(
BigDecimal
agentIncome
)
{
this
.
agentIncome
=
agentIncome
;
}
public
BigDecimal
getAdviserIncome
()
{
return
adviserIncome
;
}
public
void
setAdviserIncome
(
BigDecimal
adviserIncome
)
{
this
.
adviserIncome
=
adviserIncome
;
}
@Override
public
String
toString
()
{
return
"BookDto{"
+
...
...
@@ -1728,6 +1754,8 @@ public class BookDto extends BaseDto {
", subLabelId="
+
subLabelId
+
", verLabelId="
+
verLabelId
+
", areaLabelId="
+
areaLabelId
+
", agentIncome="
+
agentIncome
+
", adviserIncome="
+
adviserIncome
+
"} "
+
super
.
toString
();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
3ae4c87e
...
...
@@ -13,6 +13,7 @@ import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import
com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthGroupBookParam
;
import
com.pcloud.common.exceptions.BizException
;
...
...
@@ -591,4 +592,14 @@ public interface BookBiz {
*/
Map
<
Integer
,
List
<
BookLabel
>>
getBookLabels
();
/**
* 书刊收益列表-出版端
*/
PageBeanNew
<
BookSaleVO
>
listPageIncomeDetail
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
,
Long
agentId
);
/**
* 导出书刊收益--出版端
*/
void
exportBookIncomeDetail
(
Map
<
String
,
Object
>
paramMap
,
Long
agentId
,
Long
partyId
,
String
systemCode
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
3ae4c87e
...
...
@@ -41,12 +41,15 @@ import com.pcloud.book.book.entity.BookAdviser;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.book.tools.BookTools
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthGroupBookParam
;
import
com.pcloud.book.consumer.analysisengine.SceneRecordConsr
;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.book.consumer.isbn.IsbnConsr
;
import
com.pcloud.book.consumer.message.MessageConsr
;
import
com.pcloud.book.consumer.raystask.MainLineConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.AgentConsr
;
...
...
@@ -62,20 +65,28 @@ import com.pcloud.book.util.common.ThreadPoolUtils;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.constant.AgentTypeEnum
;
import
com.pcloud.common.core.constant.SystemCode
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.ExportException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.commoncenter.export.dto.ExportDto
;
import
com.pcloud.commoncenter.export.service.ExportService
;
import
com.pcloud.settlementcenter.record.exceptions.RecordException
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -152,6 +163,12 @@ public class BookBizImpl implements BookBiz {
@Autowired
private
BookLabelDao
bookLabelDao
;
@Autowired
private
ExportService
exportService
;
@Autowired
private
ExportConsr
exportConsr
;
@Autowired
private
MessageConsr
messageConsr
;
/**
* 创建书籍,同时建立与编辑的推广关系
...
...
@@ -1798,4 +1815,79 @@ public class BookBizImpl implements BookBiz {
}
return
map
;
}
@ParamLog
(
"书刊收益列表--出版端"
)
@Override
public
PageBeanNew
<
BookSaleVO
>
listPageIncomeDetail
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
,
Long
agentId
)
{
List
<
Long
>
adviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
(
String
)
paramMap
.
get
(
"keyWord"
));
List
<
Long
>
agent4AdviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
null
);
paramMap
.
put
(
"adviserIds"
,
adviserIds
);
paramMap
.
put
(
"agent4AdviserIds"
,
agent4AdviserIds
);
if
(
ListUtils
.
isEmpty
(
agent4AdviserIds
))
{
return
new
PageBeanNew
<>(
0
,
0
,
new
ArrayList
<>());
}
PageBeanNew
<
BookSaleVO
>
pageNew
=
bookDao
.
listPageNew
(
pageParam
,
paramMap
,
"listIncomePage4Agent"
);
//填充收益
bookSet
.
setAgentSalesInfo
(
pageNew
.
getRecordList
(),
agentId
);
return
pageNew
;
}
@ParamLog
(
"导出书刊收益导出--出版端"
)
@Override
public
void
exportBookIncomeDetail
(
Map
<
String
,
Object
>
paramMap
,
Long
agentId
,
Long
partyId
,
String
systemCode
)
{
//导出数据
if
(
paramMap
==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数错误!"
);
}
List
<
Long
>
adviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
(
String
)
paramMap
.
get
(
"keyWord"
));
List
<
Long
>
agent4AdviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
null
);
paramMap
.
put
(
"adviserIds"
,
adviserIds
);
paramMap
.
put
(
"agent4AdviserIds"
,
agent4AdviserIds
);
Long
count
=
bookDao
.
countIncomePage4Agent
(
paramMap
);
if
(
count
>
1500
){
throw
new
ExportException
(
ExportException
.
OPERATE_ERROR
,
"数量超过限制,请添加条件再导出!"
);
}
ThreadPoolUtils
.
EXPORT_THREAD_POOL
.
execute
(()
->
{
try
{
List
<
BookSaleVO
>
list
=
new
ArrayList
<>();
Integer
cu
=
100
;
Integer
p
=
(
count
.
intValue
()
/
cu
)
+
1
;
for
(
int
i
=
0
;
i
<
p
;
i
++)
{
PageBeanNew
<
BookSaleVO
>
pageBeanNew
=
listPageIncomeDetail
(
new
PageParam
(
i
,
cu
),
paramMap
,
agentId
);
List
<
BookSaleVO
>
bookSaleVOS
=
pageBeanNew
.
getRecordList
();
list
.
addAll
(
bookSaleVOS
);
}
List
<
Object
[]>
dataList
=
new
ArrayList
<>();
for
(
int
i
=
0
,
size
=
list
.
size
();
i
<
size
;
i
++)
{
BookSaleVO
bookSaleVO
=
list
.
get
(
i
);
Object
[]
obj
=
new
Object
[
9
];
obj
[
0
]
=
i
+
1
;
obj
[
1
]
=
bookSaleVO
.
getBookName
();
obj
[
2
]
=
bookSaleVO
.
getIsbn
();
if
(
bookSaleVO
.
getIsFundSupport
()==
true
){
obj
[
3
]
=
"是"
;
}
else
{
obj
[
3
]
=
"否"
;
}
obj
[
4
]
=
bookSaleVO
.
getAdviserName
();
obj
[
5
]
=
bookSaleVO
.
getChannelName
();
if
(
bookSaleVO
.
getAgentBookIncomeDTO
()!=
null
){
obj
[
6
]
=
bookSaleVO
.
getAgentBookIncomeDTO
().
getBookIncome
();
obj
[
7
]
=
bookSaleVO
.
getAgentBookIncomeDTO
().
getAdviserIncome
();
obj
[
8
]
=
bookSaleVO
.
getAgentBookIncomeDTO
().
getAgentIncome
();
}
dataList
.
add
(
obj
);
}
Date
date
=
new
Date
();
String
[]
rowsName
=
{
"序号"
,
"书刊名称"
,
"书刊号"
,
"是否基金书"
,
"主编辑"
,
"运营平台"
,
"销售总额"
,
"编辑收益"
,
"出版社收益"
};
String
fileName
=
"书刊收益统计--"
+
DateUtils
.
getStrFormTime
(
"yyyyMMdd"
,
date
);
String
fileUrl
=
exportConsr
.
exportExcel
(
fileName
,
rowsName
,
dataList
);
String
letterType
=
"book_download"
;
String
content
=
String
.
format
(
"{\"commitTime\":\"%s\",\"type\":\"%s\"}"
,
DateUtils
.
formatDate
(
date
),
fileName
);
messageConsr
.
sendLetter
(
partyId
,
partyId
,
content
,
systemCode
,
letterType
,
fileUrl
,
fileName
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"exportBookIncomeDetail+++paramMap="
+
paramMap
.
toString
()
+
"systemCode="
+
systemCode
+
"partyId="
+
partyId
);
}
});
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
View file @
3ae4c87e
...
...
@@ -9,6 +9,7 @@ import com.pcloud.book.book.dto.BookDto;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
...
...
@@ -316,4 +317,7 @@ public interface BookDao extends BaseDao<Book> {
*/
Long
listBookClassifyCount
(
Map
<
String
,
Object
>
paramMap
);
List
<
BookSaleVO
>
listIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
View file @
3ae4c87e
...
...
@@ -6,6 +6,10 @@ package com.pcloud.book.book.dao.impl;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
com.google.common.collect.Lists
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
org.springframework.stereotype.Repository
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.book.dao.BookDao
;
...
...
@@ -300,4 +304,14 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public
Long
listBookClassifyCount
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"listBookClassifyCount"
),
paramMap
);
}
@Override
public
List
<
BookSaleVO
>
listIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
super
.
getStatement
(
"listIncomePage4Agent"
),
paramMap
);
}
@Override
public
Long
countIncomePage4Agent
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"countIncomePage4Agent"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/BookFacade.java
View file @
3ae4c87e
...
...
@@ -19,6 +19,7 @@ import org.codehaus.jackson.JsonParseException;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.Map
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
@@ -605,4 +607,48 @@ public interface BookFacade {
ResponseDto
<?>
getBookLabels
(
@RequestHeader
(
"token"
)
String
token
)
throws
BizException
,
PermissionException
;
/**
* 书刊收益列表-出版端
*/
@ApiOperation
(
value
=
"书刊收益列表-出版端"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"keyWord"
,
value
=
"关键词"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"channelId"
,
value
=
"渠道标识"
,
dataType
=
"long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"typeCode"
,
value
=
"书刊类型"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页数"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"isFundSupport"
,
value
=
"基金支持"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"templetId"
,
value
=
"图书类型标识"
,
dataType
=
"long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"secondTempletId"
,
value
=
"图书类型二级标识"
,
dataType
=
"long"
,
paramType
=
"query"
)})
@RequestMapping
(
value
=
"listPageIncomeDetail"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<
PageBeanNew
>
listPageIncomeDetail
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"keyWord"
,
required
=
false
)
String
keyWord
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
,
@RequestParam
(
value
=
"typeCode"
,
required
=
false
)
String
typeCode
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
,
@RequestParam
(
value
=
"isFundSupport"
,
required
=
false
)
Integer
isFundSupport
,
@RequestParam
(
value
=
"templetId"
,
required
=
false
)
Long
templetId
,
@RequestParam
(
value
=
"secondTempletId"
,
required
=
false
)
Long
secondTempletId
)
throws
BizException
,
PermissionException
,
JsonParseException
;
@ApiOperation
(
"导出书刊收益"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"keyWord"
,
value
=
"关键词"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"channelId"
,
value
=
"渠道标识"
,
dataType
=
"long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"typeCode"
,
value
=
"书刊类型"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"isFundSupport"
,
value
=
"基金支持"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"templetId"
,
value
=
"图书类型标识"
,
dataType
=
"long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"secondTempletId"
,
value
=
"图书类型二级标识"
,
dataType
=
"long"
,
paramType
=
"query"
)})
@GetMapping
(
"exportBookIncomeDetail"
)
ResponseDto
<?>
exportBookIncomeDetail
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"keyWord"
,
required
=
false
)
String
keyWord
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
,
@RequestParam
(
value
=
"typeCode"
,
required
=
false
)
String
typeCode
,
@RequestParam
(
value
=
"isFundSupport"
,
required
=
false
)
Integer
isFundSupport
,
@RequestParam
(
value
=
"templetId"
,
required
=
false
)
Long
templetId
,
@RequestParam
(
value
=
"secondTempletId"
,
required
=
false
)
Long
secondTempletId
)
throws
PermissionException
,
BizException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
View file @
3ae4c87e
...
...
@@ -13,6 +13,7 @@ import com.pcloud.book.book.entity.Book;
import
com.pcloud.book.book.facade.BookFacade
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthGroupBookParam
;
import
com.pcloud.common.core.constant.SystemCode
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
...
...
@@ -26,9 +27,12 @@ import com.pcloud.common.utils.SessionUtil;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.wechatgroup.message.enums.IsSystem
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -833,4 +837,67 @@ public class BookFacadeImpl implements BookFacade {
return
new
ResponseDto
<>(
bookBiz
.
getBookLabels
());
}
/**
* 书刊收益列表-出版端
*/
@Override
@RequestMapping
(
value
=
"listPageIncomeDetail"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<
PageBeanNew
>
listPageIncomeDetail
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"keyWord"
,
required
=
false
)
String
keyWord
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
,
@RequestParam
(
value
=
"typeCode"
,
required
=
false
)
String
typeCode
,
@RequestParam
(
value
=
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"isFundSupport"
,
required
=
false
)
Integer
isFundSupport
,
@RequestParam
(
value
=
"templetId"
,
required
=
false
)
Long
templetId
,
@RequestParam
(
value
=
"secondTempletId"
,
required
=
false
)
Long
secondTempletId
)
throws
BizException
,
PermissionException
{
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"keyWord"
,
keyWord
!=
null
&&
""
.
equals
(
keyWord
.
trim
())
?
null
:
keyWord
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"typeCode"
,
typeCode
!=
null
&&
""
.
equals
(
typeCode
.
trim
())
?
null
:
typeCode
);
paramMap
.
put
(
"isFundSupport"
,
isFundSupport
);
paramMap
.
put
(
"templetId"
,
templetId
);
paramMap
.
put
(
"secondTempletId"
,
secondTempletId
);
paramMap
.
put
(
"secondTempletIds"
,
Optional
.
ofNullable
(
paramMap
.
get
(
"secondTempletId"
)).
map
(
Lists:
:
newArrayList
).
orElse
(
Lists
.
newArrayList
()));
return
new
ResponseDto
<>(
bookBiz
.
listPageIncomeDetail
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
agentId
));
}
@ApiOperation
(
"导出书刊收益"
)
@GetMapping
(
"exportBookIncomeDetail"
)
public
ResponseDto
<?>
exportBookIncomeDetail
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"keyWord"
,
required
=
false
)
String
keyWord
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
,
@RequestParam
(
value
=
"typeCode"
,
required
=
false
)
String
typeCode
,
@RequestParam
(
value
=
"isFundSupport"
,
required
=
false
)
Integer
isFundSupport
,
@RequestParam
(
value
=
"templetId"
,
required
=
false
)
Long
templetId
,
@RequestParam
(
value
=
"secondTempletId"
,
required
=
false
)
Long
secondTempletId
)
throws
PermissionException
{
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
String
systemCode
=
(
String
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
SYSTEM_CODE
);
if
(!
SystemCode
.
agent
.
code
.
equalsIgnoreCase
(
systemCode
))
{
throw
new
PermissionException
(
PermissionException
.
PERMISSION_NOT_FOUND
);
}
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
String
isSystem
=
(
String
)
map
.
get
(
SessionUtil
.
IS_SYSTEM
);
Long
partyId
=
(
Long
)
map
.
get
(
SessionUtil
.
PARTY_ID
);
if
(
IsSystem
.
NOT_SYSTEM
.
code
.
equals
(
isSystem
)){
partyId
=
(
Long
)
map
.
get
(
SessionUtil
.
MEMBER_ID
);
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"keyWord"
,
keyWord
!=
null
&&
""
.
equals
(
keyWord
.
trim
())
?
null
:
keyWord
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"typeCode"
,
typeCode
!=
null
&&
""
.
equals
(
typeCode
.
trim
())
?
null
:
typeCode
);
paramMap
.
put
(
"isFundSupport"
,
isFundSupport
);
paramMap
.
put
(
"templetId"
,
templetId
);
paramMap
.
put
(
"secondTempletId"
,
secondTempletId
);
paramMap
.
put
(
"secondTempletIds"
,
Optional
.
ofNullable
(
paramMap
.
get
(
"secondTempletId"
)).
map
(
Lists:
:
newArrayList
).
orElse
(
Lists
.
newArrayList
()));
bookBiz
.
exportBookIncomeDetail
(
paramMap
,
agentId
,
partyId
,
systemCode
);
return
new
ResponseDto
<>();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/book/set/BookSet.java
View file @
3ae4c87e
...
...
@@ -30,6 +30,7 @@ import com.pcloud.book.book.dto.BookResourceDto;
import
com.pcloud.book.book.dto.BookTypeDto
;
import
com.pcloud.book.book.entity.BookDefendant
;
import
com.pcloud.book.book.tools.BookTools
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.NoAuthBookVO
;
import
com.pcloud.book.consumer.analysisengine.BookScanCountConsr
;
import
com.pcloud.book.consumer.analysisengine.BrowseRecordConsr
;
...
...
@@ -41,6 +42,7 @@ import com.pcloud.book.consumer.content.ResourceConsr;
import
com.pcloud.book.consumer.message.MessageConsr
;
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.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.AgentConsr
;
import
com.pcloud.book.consumer.user.BookcaseConsr
;
...
...
@@ -73,6 +75,9 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductTypeDto
;
import
com.pcloud.resourcecenter.product.dto.SpecificationDto
;
import
com.pcloud.settlementcenter.pay.constants.PayConstant
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeParamDTO
;
import
com.pcloud.settlementcenter.record.dto.BookIncomeDto
;
import
com.pcloud.usercenter.common.dto.BookCaseParamDto
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
...
...
@@ -164,6 +169,8 @@ public class BookSet {
private
BookGroupClassifyBiz
bookGroupClassifyBiz
;
@Autowired
private
BookGroupClassifyDao
bookGroupClassifyDao
;
@Autowired
private
SettlementConsr
settlementConsr
;
/**
* 检验书号是否合法,包括ISSN,ISBN,CSSN
...
...
@@ -1642,4 +1649,34 @@ public class BookSet {
}
}
}
@ParamLog
(
"填充书刊总销售额"
)
public
void
setAgentSalesInfo
(
List
<
BookSaleVO
>
bookSaleVOS
,
Long
agentId
)
{
if
(
ListUtils
.
isEmpty
(
bookSaleVOS
))
{
return
;
}
List
<
Long
>
adviserIdList
=
new
ArrayList
<>();
List
<
Long
>
channelIdList
=
new
ArrayList
<>();
for
(
BookSaleVO
bookSaleVO
:
bookSaleVOS
)
{
if
(!
adviserIdList
.
contains
(
bookSaleVO
.
getAdviserId
()))
{
adviserIdList
.
add
(
bookSaleVO
.
getAdviserId
());
}
if
(!
channelIdList
.
contains
(
bookSaleVO
.
getChannelId
()))
{
channelIdList
.
add
(
bookSaleVO
.
getChannelId
());
}
}
Map
<
Long
,
String
>
adviserNameMap
=
adviserConsr
.
getNames
(
adviserIdList
);
Map
<
Long
,
String
>
channelNameMap
=
channelConsr
.
getNamesByIdList
(
channelIdList
);
for
(
BookSaleVO
bookSaleVO
:
bookSaleVOS
)
{
AgentBookIncomeParamDTO
agentBookIncomeParamDTO
=
new
AgentBookIncomeParamDTO
();
agentBookIncomeParamDTO
.
setBookId
(
bookSaleVO
.
getBookId
());
agentBookIncomeParamDTO
.
setAgentId
(
agentId
);
agentBookIncomeParamDTO
.
setAdviserId
(
bookSaleVO
.
getAdviserId
());
agentBookIncomeParamDTO
.
setChannelId
(
bookSaleVO
.
getChannelId
());
AgentBookIncomeDTO
agentBookIncomeDTO
=
settlementConsr
.
getAgentAndAdviserIncome
(
agentBookIncomeParamDTO
);
bookSaleVO
.
setChannelName
(
channelNameMap
.
get
(
bookSaleVO
.
getChannelId
()));
bookSaleVO
.
setAdviserName
(
adviserNameMap
.
get
(
bookSaleVO
.
getAdviserId
()));
bookSaleVO
.
setAgentBookIncomeDTO
(
agentBookIncomeDTO
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/vo/BookSaleVO.java
0 → 100644
View file @
3ae4c87e
package
com
.
pcloud
.
book
.
book
.
vo
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeDTO
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
@ApiModel
(
"出版社书籍收益"
)
@Data
public
class
BookSaleVO
{
private
Long
bookId
;
private
String
bookName
;
private
Long
channelId
;
private
String
isbn
;
private
Long
adviserId
;
private
Boolean
isFundSupport
;
private
String
channelName
;
private
String
adviserName
;
private
AgentBookIncomeDTO
agentBookIncomeDTO
;
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/settlement/SettlementConsr.java
View file @
3ae4c87e
...
...
@@ -6,6 +6,8 @@ import com.pcloud.common.exceptions.BizException;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeParamDTO
;
import
com.pcloud.settlementcenter.record.dto.ProductStaticUnderAppMapDTO
;
import
com.pcloud.settlementcenter.record.dto.ResourcesStatisticVO
;
import
com.pcloud.settlementcenter.record.service.BookService
;
...
...
@@ -94,4 +96,18 @@ public class SettlementConsr {
}
return
resourcesStatisticVOS
;
}
@ParamLog
(
value
=
"获取书刊编辑收益和出版收益"
,
isBefore
=
false
,
isAfterReturn
=
false
)
public
AgentBookIncomeDTO
getAgentAndAdviserIncome
(
AgentBookIncomeParamDTO
agentBookIncomeParamDTO
)
throws
BizException
{
AgentBookIncomeDTO
agentBookIncomeDTO
=
new
AgentBookIncomeDTO
();
if
(
agentBookIncomeParamDTO
==
null
)
{
return
agentBookIncomeDTO
;
}
try
{
agentBookIncomeDTO
=
ResponseHandleUtil
.
parseResponse
(
settlementService
.
getAgentAndAdviserIncome
(
agentBookIncomeParamDTO
),
AgentBookIncomeDTO
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取书刊编辑收益和出版收益.[getAgentAndAdviserIncome]:"
+
e
.
getMessage
(),
e
);
}
return
agentBookIncomeDTO
;
}
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
3ae4c87e
...
...
@@ -1841,4 +1841,137 @@
g.create_time DESC
</select>
<!-- 书刊列表-出版端 -->
<select
id=
"listIncomePage4Agent"
parameterType=
"map"
resultType=
"com.pcloud.book.book.vo.BookSaleVO"
>
SELECT
A.BOOK_ID bookId,
B.BOOK_NAME bookName,
A.CHANNEL_ID channelId,
B.ISBN isbn,
A.ADVISER_ID adviserId,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) isFundSupport
FROM
BOOK_ADVISER A
INNER JOIN
BOOK B
ON
A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
AND
A.ADVISER_ID IN
<foreach
collection=
"agent4AdviserIds"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
AND A.IS_MAIN_EDITOR = 1
LEFT JOIN
BOOK_TYPE T
ON
B.TYPE_CODE = T.TYPE_CODE
LEFT JOIN
BOOK_FUND BF
ON
BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME
<![CDATA[ > ]]>
NOW() AND BF.START_TIME
<![CDATA[ < ]]>
NOW()
WHERE
1=1
<if
test=
"typeCode!=null"
>
AND
B.TYPE_CODE = #{typeCode}
</if>
<if
test=
"channelId!=null"
>
AND
A.CHANNEL_ID = #{channelId}
</if>
<if
test=
"keyWord!=null"
>
AND (B.BOOK_NAME LIKE CONCAT('%',#{keyWord},'%')
OR B.ISBN LIKE CONCAT(#{keyWord},'%')
<if
test=
"adviserIds!=null and adviserIds.size()>0"
>
OR
A.ADVISER_ID in
<foreach
collection=
"adviserIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
)
</if>
<if
test=
"templetId!=null"
>
AND
A.TEMPLET_ID = #{templetId}
</if>
<if
test=
"secondTempletIds!=null and secondTempletIds.size()>0"
>
AND
A.SECOND_TEMPLET_ID in
<foreach
collection=
"secondTempletIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
<if
test=
"isFundSupport != null"
>
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY
A.CREATED_DATE DESC
</select>
<!-- 书刊列表数量-出版端 -->
<select
id=
"countIncomePage4Agent"
parameterType=
"map"
resultType=
"long"
>
SELECT
count(1)
FROM
BOOK_ADVISER A
INNER JOIN
BOOK B
ON
A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
AND
A.ADVISER_ID IN
<foreach
collection=
"agent4AdviserIds"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
AND A.IS_MAIN_EDITOR = 1
LEFT JOIN
BOOK_TYPE T
ON
B.TYPE_CODE = T.TYPE_CODE
LEFT JOIN
BOOK_FUND BF
ON
BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME
<![CDATA[ > ]]>
NOW() AND BF.START_TIME
<![CDATA[ < ]]>
NOW()
WHERE
1=1
<if
test=
"typeCode!=null"
>
AND
B.TYPE_CODE = #{typeCode}
</if>
<if
test=
"channelId!=null"
>
AND
A.CHANNEL_ID = #{channelId}
</if>
<if
test=
"keyWord!=null"
>
AND (B.BOOK_NAME LIKE CONCAT('%',#{keyWord},'%')
OR B.ISBN LIKE CONCAT(#{keyWord},'%')
<if
test=
"adviserIds!=null and adviserIds.size()>0"
>
OR
A.ADVISER_ID in
<foreach
collection=
"adviserIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
)
</if>
<if
test=
"templetId!=null"
>
AND
A.TEMPLET_ID = #{templetId}
</if>
<if
test=
"secondTempletIds!=null and secondTempletIds.size()>0"
>
AND
A.SECOND_TEMPLET_ID in
<foreach
collection=
"secondTempletIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
<if
test=
"isFundSupport != null"
>
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
</select>
</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