Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lwby_copyright_book_data
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
maliang
lwby_copyright_book_data
Commits
81f0017d
Commit
81f0017d
authored
Jul 20, 2020
by
maliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上传bug修复
parent
08d6a080
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
239 additions
and
18 deletions
+239
-18
CopyrightBookServiceImpl.java
...ecurity/server/service/impl/CopyrightBookServiceImpl.java
+239
-18
No files found.
src/main/java/com/boot/security/server/service/impl/CopyrightBookServiceImpl.java
View file @
81f0017d
...
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
...
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
java.util.stream.Stream
;
@Service
@Service
...
@@ -37,7 +38,162 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
...
@@ -37,7 +38,162 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
List
<
BaseSettlement
>
baseSettlements
=
copyrightDao
.
selectTableListMonth
(
baseSettlementList
,
page
-
1
,
limit
,
status
);
List
<
BaseSettlement
>
baseSettlements
=
copyrightDao
.
selectTableListMonth
(
baseSettlementList
,
page
-
1
,
limit
,
status
);
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
// for (BaseSettlement baseSettlement : baseSettlements) {
// Integer type = baseSettlement.getType();
// Double totalAmount = baseSettlement.getTotalAmount();
// String context = baseSettlement.getContext();
// Double count=0.0;
// Double count1=0.0;
// Double totalAdvertAmount = baseSettlement.getTotalAdvertAmount();
// //扣量算法
// if(type==1){
// JSONObject jsonObject = JSONObject.parseObject(context);
// Set<String> keySet = jsonObject.keySet();
// ArrayList<Integer> list = new ArrayList<>();
// list.add(0);
// for (String s : keySet) {
// list.add(Integer.valueOf(s));
// }
// Collections.sort(list);
// int size = list.size();
// int flag=0;
// int flag1=0;
// Double a1=0D;
// Double a2=0D;
// for(int i=1;i<size;i++){
// if(totalAmount>=list.get(i-1)&&totalAmount<=list.get(i)){
// flag=i;
// a1=totalAmount-list.get(i-1);
// count=a1*jsonObject.getDouble(String.valueOf( list.get(i) ) );
// break;
// }
// }
//
// for(int i=1;i<size;i++){
// if(totalAdvertAmount>=list.get(i-1)&&totalAdvertAmount<=list.get(i)){
// flag1=i;
// a2=totalAdvertAmount-list.get(i-1);
// count1=a2*jsonObject.getDouble(String.valueOf( list.get(i) ) );
// break;
// }
// }
//
// for(int i=1;i<flag;i++){
// count+=(list.get(i)-list.get(i-1))*jsonObject.getDouble(String.valueOf( list.get(i) ));
// }
//
// for(int i=1;i<flag1;i++){
// count1+=(list.get(i)-list.get(i-1))*jsonObject.getDouble(String.valueOf( list.get(i) ));
// }
//
// }else {
//
// count=totalAmount*Double.valueOf(context);
//
// count1=totalAmount*Double.valueOf(context);
//
// }
//
// count=Double.valueOf(df.format(count));
// baseSettlement.setTotalAmount(count);
// baseSettlement.setSettlementAmount(Double.valueOf(df.format(count*0.5)));
//
//
// count=Double.valueOf(df.format(count1));
// Integer id = baseSettlement.getCopyrightId();
// if(id==3219||id==3230||id==3254||id==3253){
// count=Double.valueOf(df.format(baseSettlement.getTotalAmount()+count));
// baseSettlement.setTotalAmount(count);
// baseSettlement.setSettlementAmount(Double.valueOf(df.format(count*0.5)));
// baseSettlement.setTotalAdvertAmount(0d);
// baseSettlement.setSettlementAdAmount(0d);
// }else {
// baseSettlement.setTotalAdvertAmount(count);
// baseSettlement.setSettlementAdAmount(Double.valueOf(df.format(count*0.5)));
// }
// baseSettlement.setCountSettlement(Double.valueOf(df.format(baseSettlement.getSettlementAmount()+baseSettlement.getSettlementAdAmount())));
// }
Integer
count
=
copyrightDao
.
selectTableListMonthCount
(
baseSettlementList
,
status
);
Map
<
Integer
,
List
<
BaseSettlement
>>
copyrightSettlementData
=
getCopyrightSettlementData
(
copyrightId
,
"2020-04"
,
"2021-12"
,
null
,
null
,
1
,
1000000
);
for
(
BaseSettlement
baseSettlement
:
baseSettlements
)
{
for
(
BaseSettlement
baseSettlement
:
baseSettlements
)
{
Integer
copyrightId1
=
baseSettlement
.
getCopyrightId
();
String
reportDate
=
baseSettlement
.
getReportDate
();
Double
count1
=
0
D
;
Double
count2
=
0
D
;
Double
count3
=
0
D
;
Double
count4
=
0
D
;
Double
count5
=
0
D
;
List
<
BaseSettlement
>
baseSettlementList1
=
copyrightSettlementData
.
get
(
copyrightId1
);
for
(
BaseSettlement
settlement
:
baseSettlementList1
)
{
if
(
settlement
.
getReportDate
().
equals
(
reportDate
)){
count1
+=
settlement
.
getTotalAdvertAmount
();
count2
+=
settlement
.
getTotalAmount
();
count3
+=
settlement
.
getSettlementAdAmount
();
count4
+=
settlement
.
getSettlementAmount
();
count5
+=
settlement
.
getCountSettlement
();
}
}
baseSettlement
.
setTotalAdvertAmount
(
Double
.
valueOf
(
df
.
format
(
count1
))
);
baseSettlement
.
setTotalAmount
(
Double
.
valueOf
(
df
.
format
(
count2
))
);
baseSettlement
.
setSettlementAdAmount
(
Double
.
valueOf
(
df
.
format
(
count3
))
);
baseSettlement
.
setSettlementAmount
(
Double
.
valueOf
(
df
.
format
(
count4
)));
baseSettlement
.
setCountSettlement
(
Double
.
valueOf
(
df
.
format
(
count5
)));
}
return
PageTableHandler
.
getJSONObject
(
baseSettlements
,
count
);
}
public
Map
<
Integer
,
List
<
BaseSettlement
>>
getCopyrightSettlementData
(
Integer
copyrightId
,
String
startTime
,
String
endTime
,
Long
bookId
,
String
bookName
,
Integer
page
,
Integer
limit
){
Integer
status
=
null
;
Integer
roleId
=
copyrightDao
.
selectRoleId
(
UserUtil
.
getLoginUser
().
getId
());
List
<
BaseSettlement
>
baseSettlementList
=
new
ArrayList
<>();
if
(
copyrightId
==
null
||
copyrightId
==
0
){
baseSettlementList
=
copyrightDao
.
selectCopyrightById
(
UserUtil
.
getLoginUser
().
getId
());
}
else
{
BaseSettlement
baseSettlement
=
new
BaseSettlement
();
baseSettlement
.
setCopyrightId
(
copyrightId
);
baseSettlementList
.
add
(
baseSettlement
);
}
List
<
BaseSettlement
>
list
=
new
ArrayList
<>();
if
(
roleId
!=
3
){
list
=
copyrightDao
.
selectReleaseCopyright
();
status
=
1
;
}
DecimalFormat
df
=
new
DecimalFormat
(
"#.0000"
);
List
<
BaseSettlement
>
baseSettlementCopyright
=
copyrightDao
.
selectTableListMonth
(
baseSettlementList
,
0
,
1000
,
status
);
List
<
BaseSettlement
>
baseSettlements
=
copyrightDao
.
selectBookDetail
(
baseSettlementList
,
bookId
,
bookName
,
startTime
,
endTime
,
page
-
1
,
limit
);
for
(
BaseSettlement
baseSettlement
:
baseSettlementCopyright
)
{
for
(
BaseSettlement
settlement
:
baseSettlements
)
{
if
(
(
settlement
.
getReportDate
().
equals
(
baseSettlement
.
getReportDate
()))
&&
(
settlement
.
getCopyrightId
().
equals
(
baseSettlement
.
getCopyrightId
()))
){
Double
totalAmountC
=
baseSettlement
.
getTotalAmount
();
Double
totalAdvertAmountC
=
baseSettlement
.
getTotalAdvertAmount
();
Double
totalAmount
=
settlement
.
getTotalAmount
();
Double
totalAdvertAmount
=
settlement
.
getTotalAdvertAmount
();
if
(
totalAmountC
!=
0.0
&&
totalAmountC
!=
null
&&
totalAmount
!=
null
){
settlement
.
setBookRadio
(
Double
.
valueOf
(
df
.
format
(
totalAmount
/
totalAmountC
)
));
}
else
{
settlement
.
setBookRadio
(
0.0
);
}
if
(
totalAdvertAmountC
!=
0.0
&&
totalAdvertAmount
!=
null
&&
totalAdvertAmountC
!=
null
){
settlement
.
setBookAdRadio
(
Double
.
valueOf
(
df
.
format
(
totalAdvertAmount
/
totalAdvertAmountC
)
));
}
else
{
settlement
.
setBookAdRadio
(
0.0
);
}
}
}
}
for
(
BaseSettlement
baseSettlement
:
baseSettlementCopyright
)
{
Integer
type
=
baseSettlement
.
getType
();
Integer
type
=
baseSettlement
.
getType
();
Double
totalAmount
=
baseSettlement
.
getTotalAmount
();
Double
totalAmount
=
baseSettlement
.
getTotalAmount
();
String
context
=
baseSettlement
.
getContext
();
String
context
=
baseSettlement
.
getContext
();
...
@@ -45,44 +201,45 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
...
@@ -45,44 +201,45 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
Double
count1
=
0.0
;
Double
count1
=
0.0
;
Double
totalAdvertAmount
=
baseSettlement
.
getTotalAdvertAmount
();
Double
totalAdvertAmount
=
baseSettlement
.
getTotalAdvertAmount
();
//扣量算法
//扣量算法
if
(
type
==
1
){
if
(
type
.
equals
(
1
)){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
context
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
context
);
Set
<
String
>
keySet
=
jsonObject
.
keySet
();
Set
<
String
>
keySet
=
jsonObject
.
keySet
();
ArrayList
<
Integer
>
list
=
new
ArrayList
<>();
ArrayList
<
Integer
>
list
1
=
new
ArrayList
<>();
list
.
add
(
0
);
list
1
.
add
(
0
);
for
(
String
s
:
keySet
)
{
for
(
String
s
:
keySet
)
{
list
.
add
(
Integer
.
valueOf
(
s
));
list
1
.
add
(
Integer
.
valueOf
(
s
));
}
}
Collections
.
sort
(
list
);
Collections
.
sort
(
list
1
);
int
size
=
list
.
size
();
int
size
=
list
1
.
size
();
int
flag
=
0
;
int
flag
=
0
;
int
flag1
=
0
;
int
flag1
=
0
;
Double
a1
=
0
D
;
Double
a1
=
0
D
;
Double
a2
=
0
D
;
Double
a2
=
0
D
;
for
(
int
i
=
1
;
i
<
size
;
i
++){
for
(
int
i
=
1
;
i
<
size
;
i
++){
if
(
totalAmount
>=
list
.
get
(
i
-
1
)&&
totalAmount
<=
list
.
get
(
i
)){
if
(
totalAmount
>=
list
1
.
get
(
i
-
1
)&&
totalAmount
<=
list1
.
get
(
i
)){
flag
=
i
;
flag
=
i
;
a1
=
totalAmount
-
list
.
get
(
i
-
1
);
a1
=
totalAmount
-
list1
.
get
(
i
-
1
);
count
=
a1
*
jsonObject
.
getDouble
(
String
.
valueOf
(
list
.
get
(
i
)
)
);
count
=
a1
*
jsonObject
.
getDouble
(
String
.
valueOf
(
list1
.
get
(
i
)
)
);
break
;
break
;
}
}
}
}
for
(
int
i
=
1
;
i
<
size
;
i
++){
for
(
int
i
=
1
;
i
<
size
;
i
++){
if
(
totalAdvertAmount
>=
list
.
get
(
i
-
1
)&&
totalAdvertAmount
<=
list
.
get
(
i
)){
if
(
totalAdvertAmount
>=
list
1
.
get
(
i
-
1
)&&
totalAdvertAmount
<=
list1
.
get
(
i
)){
flag1
=
i
;
flag1
=
i
;
a2
=
totalAdvertAmount
-
list
.
get
(
i
-
1
);
a2
=
totalAdvertAmount
-
list
1
.
get
(
i
-
1
);
count1
=
a2
*
jsonObject
.
getDouble
(
String
.
valueOf
(
list
.
get
(
i
)
)
);
count1
=
a2
*
jsonObject
.
getDouble
(
String
.
valueOf
(
list
1
.
get
(
i
)
)
);
break
;
break
;
}
}
}
}
for
(
int
i
=
1
;
i
<
flag
;
i
++){
for
(
int
i
=
1
;
i
<
flag
;
i
++){
count
+=(
list
.
get
(
i
)-
list
.
get
(
i
-
1
))*
jsonObject
.
getDouble
(
String
.
valueOf
(
list
.
get
(
i
)
));
count
+=(
list
1
.
get
(
i
)-
list1
.
get
(
i
-
1
))*
jsonObject
.
getDouble
(
String
.
valueOf
(
list1
.
get
(
i
)
));
}
}
for
(
int
i
=
1
;
i
<
flag1
;
i
++){
for
(
int
i
=
1
;
i
<
flag1
;
i
++){
count1
+=(
list
.
get
(
i
)-
list
.
get
(
i
-
1
))*
jsonObject
.
getDouble
(
String
.
valueOf
(
list
.
get
(
i
)
));
count1
+=(
list
1
.
get
(
i
)-
list1
.
get
(
i
-
1
))*
jsonObject
.
getDouble
(
String
.
valueOf
(
list1
.
get
(
i
)
));
}
}
}
else
{
}
else
{
...
@@ -112,8 +269,72 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
...
@@ -112,8 +269,72 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
}
}
baseSettlement
.
setCountSettlement
(
Double
.
valueOf
(
df
.
format
(
baseSettlement
.
getSettlementAmount
()+
baseSettlement
.
getSettlementAdAmount
())));
baseSettlement
.
setCountSettlement
(
Double
.
valueOf
(
df
.
format
(
baseSettlement
.
getSettlementAmount
()+
baseSettlement
.
getSettlementAdAmount
())));
}
}
Integer
count
=
copyrightDao
.
selectTableListMonthCount
(
baseSettlementList
,
status
);
return
PageTableHandler
.
getJSONObject
(
baseSettlements
,
count
);
df
=
new
DecimalFormat
(
"#.00"
);
Iterator
<
BaseSettlement
>
iterator
=
baseSettlements
.
iterator
();
while
(
iterator
.
hasNext
())
{
BaseSettlement
baseSettlement
=
iterator
.
next
();
Boolean
flag
=
false
;
for
(
BaseSettlement
settlement
:
list
)
{
Integer
id
=
settlement
.
getCopyrightId
();
Integer
id1
=
baseSettlement
.
getCopyrightId
();
if
(
(
settlement
.
getReportDate
().
equals
(
baseSettlement
.
getReportDate
())
)
&&
id
.
equals
(
id1
)
){
flag
=
true
;
break
;
}
}
if
(
roleId
!=
3
){
if
(
list
==
null
||
list
.
size
()==
0
){
baseSettlements
.
clear
();
break
;
}
}
if
(
flag
==
false
&&
list
.
size
()>
0
){
iterator
.
remove
();
continue
;
}
if
(
baseSettlement
.
getTotalAmount
()==
null
){
baseSettlement
.
setTotalAmount
(
0
d
);
}
if
(
baseSettlement
.
getTotalAdvertAmount
()==
null
){
baseSettlement
.
setTotalAdvertAmount
(
0
d
);
}
Double
count
=
0.0
;
Double
count1
=
0.0
;
for
(
BaseSettlement
settlement
:
baseSettlementCopyright
)
{
if
(
(
settlement
.
getReportDate
().
equals
(
baseSettlement
.
getReportDate
())
)
&&
(
settlement
.
getCopyrightId
().
equals
(
baseSettlement
.
getCopyrightId
()))
){
count
=
settlement
.
getTotalAmount
()*
baseSettlement
.
getBookRadio
();
count1
=
settlement
.
getTotalAdvertAmount
()*
baseSettlement
.
getBookAdRadio
();
break
;
}
}
count
=
Double
.
valueOf
(
df
.
format
(
count
));
baseSettlement
.
setTotalAmount
(
count
);
baseSettlement
.
setSettlementAmount
(
Double
.
valueOf
(
df
.
format
(
count
*
0.5
)));
count
=
Double
.
valueOf
(
df
.
format
(
count1
));
Integer
id
=
baseSettlement
.
getCopyrightId
();
if
(
id
==
3219
||
id
==
3230
||
id
==
3254
||
id
==
3253
){
count
=
Double
.
valueOf
(
df
.
format
(
baseSettlement
.
getTotalAmount
()+
count
));
baseSettlement
.
setTotalAmount
(
count
);
baseSettlement
.
setSettlementAmount
(
Double
.
valueOf
(
df
.
format
(
count
*
0.5
)));
baseSettlement
.
setTotalAdvertAmount
(
0
d
);
baseSettlement
.
setSettlementAdAmount
(
0
d
);
}
else
{
baseSettlement
.
setTotalAdvertAmount
(
count
);
baseSettlement
.
setSettlementAdAmount
(
Double
.
valueOf
(
df
.
format
(
count
*
0.5
)));
}
baseSettlement
.
setCountSettlement
(
Double
.
valueOf
(
df
.
format
(
baseSettlement
.
getSettlementAmount
()+
baseSettlement
.
getSettlementAdAmount
())));
}
Map
<
Integer
,
List
<
BaseSettlement
>>
collect
=
baseSettlements
.
stream
().
collect
(
Collectors
.
groupingBy
(
BaseSettlement:
:
getCopyrightId
));
return
collect
;
}
}
@Override
@Override
...
...
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